虚拟主机的搭建(ubuntu+apache2)

搭建环境:windows+VMware(Ubuntu)+apache2.(同一IP,不同域名)

1:在VMware的虚拟机Ubuntu下安装apache2(怎么安装百度一下就能找到);

2: apache2的相关配置文件在/etc/apache2下

  apache2.conf 是全局配置文件,也是主配置文件

  conf.d 一般性的配置

  envvars 存放环境变量

  httpd.conf 用户配置文件

  mods-available 已安装的可用模块

  mods-enabled 已启用的模块

  ports.conf httpd服务的端口号

  sites-available 可用的虚拟主机

  sites-enabled 启用的虚拟主机

3:关于虚拟主机,参照 http://baike.baidu.com/view/7383.htm?fr=ala0_1_1

4:开始虚拟机的配置:apache2的默认访问路径是 /var/www,在/etc/apache2/sites-available/000-default.conf文件中可以看到

  ServerAdmin localhost
  DocumentRoot /var/www

  sites-availeable中的是网站配置文件,sites-enable 中是指向 sites-availeable 的链接(先不要管)。

5:新建虚拟文件:在/var/www文件夹下新建两个文件夹:a和b,在a文件夹下新建a.html,b中新建b.html。作为访问时的服务目录。

6:先在/etc/apache2/sites-available文件夹中新建两个文件  test_a.conf 和 test_b.conf(文件后缀名参见 /etc/apache2/apache2.conf配置文件中的 IncludeOptional mods-enabled/*.conf)。

  在终端(Ctrl+Alt+T进入)输入  sudo gedit /etc/apache2/sites-available/test_a.conf ;进入编辑文件:

  参照000-default.conf的内容(复制内容后修改红色部分即可):

test_a.conf:

  <VirtualHost 192.168.238.2>
    ServerAdmin ******@******

    DocumentRoot /var/www/a
    ServerName www.test_a.com

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>
  <Directory /var/www/a>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
    AllowOverride All
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/wperror.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog ${APACHE_LOG_DIR}/access.log combined

  Alias /doc/ "/usr/share/doc/"
  <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
  </Directory>

  </VirtualHost>

test_a.conf:将 /var/www/a 修改为 /var/www/b, www.test_a.com 修改为 www.test_b.com.

  DocumentRoot:为访问目录;ServerName :为访问的域名。

7:到这里虚拟主机的配置完成了,刚才提到 sites-enable 文件夹下存放的是访问 sites-availeable 的链接,所以刚刚新建的 test_a.conf he test_b.comf 同样的建立连接:

  在终端输入: sudo a2ensite test_a.conf  和 sudo a2ensite test_b.conf  。进入sites-enable文件夹下可以看见多了两个链接文件。

8: 启动apache :sudo /etc/init.d/apache2 start ,

  我们在ubuntu虚拟机中打开浏览器,输入 192.168.238.2,看看能否打开(一般是不行的,还没分配IP地址);

  进入终端,输入  sudo ifconfig eth0:1 192.168.238.2  ,

  再次启动 apache,浏览器输入 192.168.238.2,有了吧!!

那么输入域名试试: www.test_a.com 或者 www.test_b.com 没反应??

修改hosts文件: 终端输入  sudo gedit /etc/hosts  加入

    192.168.238.2 www.test_a.com

    192.168.238.2 www.test_b.com

再次在浏览器中访问:www/test_a.com 进入我们新建的 /var/www/a 文件夹下;同样  www.test_b.com 进入  /var/www/b 文件夹下。

9:在宿主机(Windows中访问):

  (1):首先在cmd 终端 输入 ping 192.168.238.2 试试看能否拼通。(能ping通的话,在windows中的浏览器中打开 192.168.238.2 试试看能否看到什么)。

   (2):不能ping通的话就要关闭ubuntu的防火墙:在ubuntu终端输入: sudo ufw disable (关闭防火墙)(http://blog.sina.com.cn/s/blog_483e43060101p603.html)。

  再次在浏览器中输入 192.168.238.2 能看到了吧!!!

   (3):域名访问,想要在windows中通过域名访问新建的虚拟主机(www.test_a.com  和  www.test_b.com)则需要设置hosts。

  windows中的位置是  C:\Windows\System32\drivers\etc 文件夹下手动打开是不能修改的,具体修改方案是: 

      在windows开始中找到记事本,点击右键--->以管理员身份运行,在打开的记事本中选择 文件-->打开,找到  C:\Windows\System32\drivers\etc 文件夹下的hosts文件  打开,在其中添加两行:

      192.168.238.2 www.test_a.com

      192.168.238.2 www.test_b.com    保存!

  最后在浏览器中访问 www.test_a.com ,出现在ubuntu浏览器中访问 www.test_a.com 的效果一样!!!!

到此虚拟主机配置完成!!!

参考资料:

  http://xuchengji.blog.51cto.com/160472/387247;

http://blog.sina.com.cn/s/blog_483e43060101p603.html。

  

时间: 2024-07-30 13:04:19

虚拟主机的搭建(ubuntu+apache2)的相关文章

apache虚拟主机的搭建

虚拟主机的介绍 虚拟主机 虚拟主机是指在同一台服务器上运行多个web站点,其中的每一个站点实际上并不占用整个服务器,可以充分利用服务器的硬件资源,节省成本. 类型 基于域名   使用不同的域名,但是对应的ip和端口都是一样的 基于IP     使用不同的域名,但是每个域名对应的ip不一样 基于端口  使用不同的域名,但是ip一样,对应的端口不一样,用户访问的时候需要在域名后面指定端口号 三种类型虚拟主机的搭建 (测试环境www.beyondjie.com,bbs.beyondjie.com,由于

配置虚拟主机(搭建网站)

在一个tomcat服务器中可以放置多个网站,所谓配置虚拟主机,就是在tomcat服务器中配置一个网站. 如需在WEB服务器其中配置一个网站,需要在服务器目录下的conf\下的server.xml文件中对Host元素进行配置,例如: <Host name="site1" appBase="D:\work\Workspaces\MyEclips2014Professional\mail"></Host> 配置的主机(网站)要想被外部访问,必须在D

apache配置文件详解及虚拟主机的搭建

1.404跳转: <IfModule dir_module>    DirectoryIndex index.php index.html /error.php</IfModule> #/error.php是apache的根目录 2.apache配置段: (1)目录权限限制 Alias /dir/ "/var/www/html"    #虚拟目录即访问dir的时候跳转到/var/www/html目录 <Directory /var/www/html/>

Apache虚拟主机的搭建及相关问题解决

在开发的过程中,很多时候项目的部署都需要在本地进行虚拟服务器的模拟搭建,所以具体的配置流程为下,并且把自己遇到的问题跟大家分享. 1.Apache配置文件httpd.conf 找到   # Virtual hosts 这句前面的#不用去 //如果去掉了,你就会发现localhost和你设置的域名路径都会访问不了项目!!   #Include conf/extra/httpd-vhosts.conf 去掉本行注释 #  //这个是一定一定要去掉的!!! 还有 severname localhost

server2016下搭建web服务器&amp;3种虚拟主机的搭建

一.打开server2016下的服务器 二.安装 wed服务器 三.server2016添加网卡,填写网卡的IP地址 四.把主机的IP地址改成和server2016一样的网段 五.打开server2016管理工具的web的管理器 六.新建一个网站 七.编辑绑定ip地址和端口 八.在本机的流量器打开网站 没有任何东西的网站 九.创建网站的内容,在默认文档里添加一个问档 十.在server2016找到网站创的文件夹 十一.点击查看的选项,在查看里把隐藏已知文件类型的扩展名求掉勾之后确认 十二.把文档

debian配置apache2.4配置虚拟主机遇到的问题

0x01 Ubuntu配置apache2的前置知识 使用apt-get安装的apache2与直接编译安装版本略有不同,其配置文件不在是httpd.conf,而是/etc/apache2/apache2.conf. 而其虚拟主机的位置的配置文件也不在是vhost之类的,而是sites-avilable/xxx.conf.默认的localhost为000-default.conf,按照这个配置文件,配置一份demo.conf,就完成了虚拟主机的配置工作. 配置参考http://wiki.ubuntu

虚拟主机搭建微信公众号服务器

一.前言 搭建微信公众号服务器的方式不只一种,可以用java等其他语言或是其他云空间来搭建服务器,这里总结的是用虚拟主机(主机公园中的虚拟主机)搭建微信公众号服务器的大概思路.不管用什么方式,配置微信公众号服务器的原理不会变. 二.步骤 开始开发微信公众号看这里 首先搭建服务器,因为微信公众号开发的第一步要先配置服务器 1. 万网上先去买个域名,然后再去主机公园那里买个服务器(虚拟机)(我今天用的香港虚拟机试用版还未买),然后再解析域名.详细步骤这里看教程 如果不需要建个人博客,后面的上传wor

Apache2.4.6 添加虚拟主机

apache2.4 与 apache2.2 的虚拟主机配置写法有所不同 apache2.2的写法: <VirtualHost *:80> ServerName domain.com DocumentRoot "/home/www" DirectoryIndex index.html index.php <Directory "/home/www"> Options -Indexes +FollowSymlinks AllowOverride

Apache httpd(apache2)服务配置详解,Mac下设置虚拟主机部署多个web项目,及反向代理部署Java项目

Apache httpd服务配置详解 查看版本:httpd -v Server version: Apache/2.4.33 (Unix) Server built:   Apr  3 2018 17:54:07 文件路径:/etc/apache2/httpd.conf # 服务目录(全局配置)用于指定Apache的安装路径,# 此选项参数值在安装Apache时系统会自动把Apache的路径写入ServerRoot "/usr" # 设置互斥对象的目录# Mutex default:/