Apache虚拟主机快速搭建攻略 |
发布时间: 2012/8/13 11:04:22 |
在单个机器上的虚拟主机通常不只运行一个web站点,虚拟主机可以是基于ip的,也就是说你要为每个web站点配置一个不同的ip地址,虚拟主机也可以是基于名称的,即在每个ip地址上对应着多个域名,你还可以在不同的端口上运行你的web页面,如8080或8090,事实上它们运行在相同的物理服务器上,最终用户察觉不到,本专题描述在OpenSuse10.2服务器上的配置步骤。
首先我想说的是,这不是配置Apache服务器唯一的方法,有许多方法可以实现这个目标,但我选择的是这个方法,我不能保证这个方法能在你的服务器或发行版上很好地运转。 我们将在独立的位置(目录)下配置四种不同的web页面,并使用不同的起始页(index.html)验证原理。
简单网络结构图 步骤1:创建index页面 Suse通常将web页面存储在/srv/www/htdocs目录下,我们将使用同一个目录,但为每个虚拟主机单独创建一个子目录: mkdir/srv/www/htdocs/server_port80 mkdir/srv/www/htdocs/server_port8090 mkdir/srv/www/htdocs/server_www mkdir/srv/www/htdocs/server_www1
<VirtualHost192.168.33.101:80>ServerAdminwebmaster@myserver.comThise-mailaddressisbeingprotectedfromspambots,youneedJavaScriptenabledtoviewit ServerNameserver.myserver.com DocumentRoot/srv/www/htdocs/server_port80 ErrorLog/var/log/apache2/server_port80.log CustomLog/var/log/apache2/access_port80.logcombined HostnameLookupsOff UseCanonicalNameOff ServerSignatureOn ScriptAlias/cgi-bin/"/srv/www/htdocs/server_port80/cgi-bin/" <Directory"/srv/www/htdocs/server_port80/cgi-bin"> AllowOverrideNone Options+ExecCGI-Includes Orderallow,deny Allowfromall </Directory> <Directory"/srv/www/htdocs/server_port80"> OptionsIndexesFollowSymLinks AllowOverrideNone Orderallow,deny Allowfromall </Directory> </VirtualHost>
步骤2:配置基于ip的虚拟主机 Suse在/etc/apache2/vhosts.d目录下存储虚拟主机配置文件,在启动过程中,Apache会自动使用这个目录下的所有文件完成最后配置。 使用模板文件,可以很容易就创建一个新的虚拟主机配置文件: cd/etc/apache2/vhosts.d/ cpvhost.templatevhost-port80.conf
vivhost-port80.conf 正如你所看到的,这个文件包含了配置一个虚拟主机需要的全部信息,同时还包括了大量的解释和注释信息,可以将这些解释信息删除保持文件苗条。 下面这些行是你应该修改的: VirtualHost 设置ip地址和端口 ServerAdminweb管理员的email地址DocumentRoot ErrorLog CustomLog UseCanonicalName本例中将其保留为off 如果你想在你的wen页面上运行cgi脚本,这个就是脚本的位置
<VirtualHost192.168.33.101:80> 如果你想在不同的端口上运行你的web页面,使用下面的配置文件: <VirtualHost192.168.33.101:8090> 正常情况下,web服务器监听80端口,如果你想修改这个端口或添加一个端口如8090,你必须hacklisten.conf文件,详细信息请参考步骤4。 本文出自:亿恩科技【www.enkj.com】 |