apache虚拟主机配置详解

来源:互联网 发布:rete 算法 编辑:程序博客网 时间:2024/05/16 06:29

:以下所有命令均是root账号操作,普通账号在命令前加sudo)

1.安装apache

一般ubuntu系统安装时自带,也可以通过下面命令安装:

Apt-getinstall apache2

 

成功访问默认网页,安装apache成功:(默认端口80)

其中192.168.6.129apache所在服务器ip地址

 

2.设置虚拟目录

1)在/opt/v-test目录下建立一个测试网页:

mkdir /opt/v-test

vim /opt/v-test/index.html

 

其中index.html内容:

<html><body><h1>v-test</h1>

<p>This is v-test.</p>

<p>The web server software is runningbut no content has been added, yet.</p>

</body></html>

 

2)修改配置文件:

cd /etc/apache2/sites-available/

vim default

添加如下内容:

Alias /v-test/ " /opt/v-test/"

<Directory "/opt/v-test/"> 

   Options Indexes MultiViews  #目录权限的配置

   AllowOverride None        #表示是否需要格外的配置文件

   Order allow,deny           #是否可浏览的设置

   Allow from all                               #跟上面配置相关,表示允许浏览

</Directory>

其中”v-test”为虚拟目录”/opt/v-test”为真实路径

访问http://192.168.6.129/v-test/成功,效果如下:

注意:访问地址最后面一定要有/

3.建立虚拟主机

1)建立虚拟主机配置文件:

我们再添加一个虚拟主机站点 web1,首先到 /etc/apache2/sites-available/目录中建立一个文件 web1,编辑该文件:

<VirtualHost *:80>

ServerName sso.web1.com

ServerAdmin sso1@mail.web1.com

DocumentRoot "/var/www/web1/"

ErrorLog "/var/log/apache2/web1_errors.log"

CustomLog "/var/log/apache2/web1_accesses.log"common  

</VirtualHost>

2)建立虚拟主机的测试文件:

mkdir /var/www/web1

vim /var/www/web1/index.html

其中index.html内容如下:

<html><body><h1>v-hosttest!</h1>

<p>This is v-hosttest.</p>

<p>The web serversoftware is running but no content has been added, yet.</p>

</body></html>

3)启动虚拟目录,重启apache服务器:

设置的具体含义同上面的相似,这是我就不再多说了。然后再运行命令:

a2ensite web1      #a2ensite与a2disite可以快速启动关闭网站

这样的话,虚拟主机站点 sso.web1.com就已经安装好了。这时你也可以在 /etc/apache2/sites-enabled/目录中发现多了一个到 /etc/apache2/sites-available/web1的软链接。接下来就是将 Apache2重启来使虚拟主机站点运行起来:

/etc/init.d/apache2 restart  #这里可以使用reload 重新加载

4)修改访问客户端的hosts文件,实现域名访问:

添加域名地址:

这样你在浏览器上输入 sso.web1.com的话,就会被指向 /var/www/web1目录了,而输入其他指向本机的域名则都会指到缺省配置中的 /var/www目录中。结果如下图:

5)虚拟主机的作用

熟悉 Apache2的朋友会问为什么这样麻烦,放在一个文件中不也是可以吗?为什么要用两个文件呢?其实很简单,因为如果我要对 web1 站点进行维护时,只要运行命令:

sudo a2dissite web1
sudo /etc/init.d/apache2 restart

即可,这样既可以维护 web1这个站点,同时还不影响其他站点的正常运行。

同理,修改本机host文件下的映射就可以通过输出不同域名来打开不同网站了。

4.同一ip的不同端口来布置网站

1)修改站点文件:

vim /etc/apache2/sites-available/default

在最后一行添加:

</VirtualHost>

Listen 808

<VirtualHost *:808>

    ServerAdminlocalhost

       DocumentRoot /var/www/web1/

       <Directory />

              Options FollowSymLinks

              AllowOverride None

       </Directory>

       <Directory /var/www/web1/>

              Options IndexesFollowSymLinks MultiViews

              AllowOverride None

              Order allow,deny

              allow from all

       </Directory>

</VirtualHost>

 

重启apache服务,/etc/init.d/apache2 restart

然后打开浏览器可以通过http://192.168.153.130:808访问到web1网站

 

0 0
原创粉丝点击