用apache提供www服务

copyright(c) 李雪白 2007年

本文遵从自由软件基金会发布的GNU自由文档许可证(GNU Free Document License), 任何组织和个人都有在此条款下的复制,转载,修改的权限。


世界上绝大多数的web服务器都是用apache来实现的,那么我们也这样做吧。

安装apache

aptitude选中apache2,

把这几个包也选中吧, mysql-server, python-mysqldb, libapache2-mod-python

虽然暂时我还用不到mysql,但以后就能用到了。毕竟apache+python(/perl/php)+mysql是最强大的web服务组合阿。

配置虚拟机

在/etc/apache2/中有httpd.conf和apache2.conf, 多数的配置在apache2.conf,不过暂时我们用默认的就可以了。

在apache2.conf最后有这么一行内容:

Include /etc/apache2/sites-enabled/[^.#]*

这行的意思表明该文件包含了 /etc/apache2/sites-enabled/ 目录中文件名不含 "." 或 "#" 这两个字符的所有文件。而当我们列出该目录的文件时,发现只有一个 000-default 的软链接文件,实际连接的是 /etc/apache2/sites-available 目录中的 default 文件,不难看出该文件的文件名中并不包含 "." 或 "#"。所以这个文件当然是要被配置文件 apache2.conf 所包含的了。打开该文件,发现它其实是一个虚拟主机的配置文件,不过由于该文件中的虚拟主机为 *,所以它实际上是一个通用配置文件。

暂时理解前几行就可以。

NameVirtualHost 202.38.68.227
<VirtualHost 202.38.68.227>
        ServerAdmin xxx@mail.ustc.edu.cn

        DocumentRoot /var/www/
</VirtualHost>

解释一下:

NameVirtualHost 202.38.68.227:
表示我们要做的是一个基于名称的虚拟主机,且其 IP 地址为 202.38.68.227

<VirtualHost 202.38.68.227> 和 </VirtualHost>:表示在其中的是一个虚拟主机的配置

ServerAdmin xxx@mail.ustc.edu.cn:设置该虚拟主机网管员的邮件

DocumentRoot /var/www/:设置该虚拟主机的主目录路径 

若你申请了域名,则可以在里面加入类似
ServerName www.local.com

在/etc/apache2/sites-enabled/000-default最后加入

RedirectMatch ^/$ /apache2-default/

网页的存放位置应该是/var/www/apache2-default/

首先应该在那里建立一个index.html文件做为默认首页, 可以有实质内容,也可以是用于跳转的网页。

其他的文件也要放在这个文件夹中。

用于跳转的页面可以仿照如下来写

<html>
<head>
<META HTTP-EQUIV="Refresh"
      CONTENT="0; URL=Web/Default/WelcomePage.html">
<title>A whole new world</title>
</head>
<body>
        <h1>
李雪白的个人主页
</h1>
</body>
</html>

这样当你在任何联网的浏览器中输入http://202.38.68.227 时,就会跳转到http://202.38.68.227/apache2-default/Web/Default/WelcomePage.html

最后重新启动 Apache2

/etc/init.d/apache2 reload