频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Apache虚拟主机快速搭建攻略

来源:51CTO.com 作者:黄永兵/译 出处:巧巧读书 2008-06-04 进入讨论组
下一页 1 2 

在单个机器上的虚拟主机通常不只运行一个web站点,虚拟主机可以是基于ip的,也就是说你要为每个web站点配置一个不同的ip地址,虚拟主机也可以是基于名称的,即在每个ip地址上对应着多个域名,你还可以在不同的端口上运行你的web页面,如8080或8090,事实上它们运行在相同的物理服务器上,最终用户察觉不到,本专题描述在OpenSuse 10.2服务器上的配置步骤。

首先我想说的是,这不是配置Apache服务器唯一的方法,有许多方法可以实现这个目标,但我选择的是这个方法,我不能保证这个方法能在你的服务器或发行版上很好地运转。

我们将在独立的位置(目录)下配置四种不同的web页面,并使用不同的起始页(index.html)验证原理。

Apache虚拟主机快速搭建攻略

简单网络结构图

步骤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

然后你就可以将内容存储在这个目录下,首先我们创建一个包含服务器类型信息的index.html文件,文件内容如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta content="text/html; charset=ISO-8859-1"

http-equiv="content-type">

<title></title>

</head>

<body>

<div style="text-align: center;"><span

style="font-weight: bold;">This is my webserver working on

Port 80.<br>

<a href="http://www.linux-tip.net">Linux-Tip.net</a></span></div>

</body>

</html>

将内容修改为你想要的,然后在每个子目录下保存一个修改过的index文件。

步骤2:配置基于ip的虚拟主机

Suse在/etc/apache2/vhosts.d目录下存储虚拟主机配置文件,在启动过程中,Apache会自动使用这个目录下的所有文件完成最后配置。

使用模板文件,可以很容易就创建一个新的虚拟主机配置文件:

cd /etc/apache2/vhosts.d/

cp vhost.template vhost-port80.conf

这样拷贝默认的模板文件并创建一个新配置文件,新的配置文件将用于基于ip的运行在端口80上的虚拟主机,我建议使用vi编辑器编辑这个新创建的文件:

vi vhost-port80.conf

正如你所看到的,这个文件包含了配置一个虚拟主机需要的全部信息,同时还包括了大量的解释和注释信息,可以将这些解释信息删除保持文件苗条。

下面这些行是你应该修改的:

VirtualHost

设置ip地址和端口

ServerAdmin web管理员的email地址
DocumentRoot

web页面的路径(参考步骤1)

ErrorLog

错误日志文件路径

CustomLog

访问日志文件路径

UseCanonicalName 本例中将其保留为off

ScriptAlias

如果你想在你的wen页面上运行cgi脚本,这个就是脚本的位置

文件样例:

<VirtualHost 192.168.33.101:80>

ServerAdmin webmaster@myserver.comThis e-mail address is being protected from spam bots, you need JavaScript enabled to view it

ServerName server.myserver.com

DocumentRoot /srv/www/htdocs/server_port80

ErrorLog /var/log/apache2/server_port80.log

CustomLog /var/log/apache2/access_port80.log combined

HostnameLookups Off

UseCanonicalName Off

ServerSignature On

ScriptAlias /cgi-bin/ "/srv/www/htdocs/server_port80/cgi-bin/"

<Directory "/srv/www/htdocs/server_port80/cgi-bin">

AllowOverride None

Options +ExecCGI -Includes

Order allow,deny

Allow from all

</Directory>

<Directory "/srv/www/htdocs/server_port80">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

如果你想在不同的端口上运行你的web页面,使用下面的配置文件:

<VirtualHost 192.168.33.101:8090>

ServerAdmin webmaster@myserver.comThis e-mail address is being protected from spam bots, you need JavaScript enabled to view it

ServerName server.myserver.com

DocumentRoot /srv/www/htdocs/server_port8090

ErrorLog /var/log/apache2/server_port8090.log

CustomLog /var/log/apache2/access_port8090.log combined

HostnameLookups Off

UseCanonicalName Off

ServerSignature On

ScriptAlias /cgi-bin/ "/srv/www/htdocs/server_port8090/cgi-bin/"

<Directory "/srv/www/htdocs/server_port8090/cgi-bin">

AllowOverride None

Options +ExecCGI -Includes

Order allow,deny

Allow from all

</Directory>

<Directory "/srv/www/htdocs/server_port8090">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

正常情况下,web服务器监听80端口,如果你想修改这个端口或添加一个端口如8090,你必须hack listen.conf文件,详细信息请参考步骤4。

更多文章 更多内容请看Apache配置专题Apache技术专题网络游戏攻略专题,或进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章