一、安装:
ubuntu 及debian 下的apahce 有点特别,如果使用apt-get 方式安装( apt-get install apache2 ) 则安装目录默认在 /etc/apache2 默认log在 /var/log/apache2/ (这个鸟地方让我找了好久)
二、配置文件说明
/etc/apache2/apache2.conf 此为apache2 的主配置文件 具体可参考 http://www.blogjava.net/duanzhimin528/archive/2010/03/05/314564.html
/etc/apache2/ports.conf 此为apache2的端口配置文件,此处设置了apache2 需要监听的端口 使用 Linsten port 格式
/etc/apache2/httpd.conf 此为apache2的用户 “主” 配置文件,这里可以直接配置网站目录,也可以只写一些全局网站生效的设置,eg:目录权限。默认为空,即所有内容由虚拟主机配置文件(即单独的网站配置文件)设置。需要注意一点 针对虚拟主机,ServerName 项需要在这里设置(不同的虚拟主机--即网站不同),可以写多个,否则在启动服务器的时候会提示:apache2: Could not reliably determine the server's fully qualified domain name,using 127.0.1.1 for ServerName
mods-available
mods-enabled
sites-available
sites-enabled
以上几个目录作用见上文参考:
三、网站配置及多虚拟主机(网站)
此处可以分两种情况:第一 系统默认方式:即按照上面介绍的配置文件更改;第二 自定义修改方式;
假设我们需要添加一个新网站,端口8080 网站目录 /var/www/web_server2
方式一:
1、按照上面的说明配置:
apache2.conf 不需要更改;
ports.conf 添加 端口监听:
NameVirtualHost *:8080 #此行不必须
Listen 8080
httpd.conf 添加 ServerName:
ServerName 0.0.0.0:8080 #此处IP地址可以换成域名或者具体地址,ServerName 正常应该放到虚拟主机配置中,但实际测试发现不生效,必须写在这里;
配置虚拟主机(网站):
cp sites-available/default sites-available/my_web_server2 #这里将默认的虚拟主机配置拷贝一份为my_web_server2(名字可以任取,建议和主机域名一致,不必和网站目录一致)
修改配置如下:
NameVirtualHost *:8080 #此行不必须(默认是写在 ports.conf 中)
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/web_server2 #修改这里为实际网站目录
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/web_server2/> #修改这里为实际网站目录
Options Indexes FollowSymLinks MultiViews
Order allow,deny
allow from all
........
enable 网站:
a2ensite my_web_server2 #my_web_server2 为sites-available/目录下的虚拟主机配置文件名(之前拷贝复制的)
service apache2 reload
sudo /etc/init.d/apache2 restart
确认网站启动:
ls -l sites-enabled/ 有my_web_server2 的文件链接
netstat -anpt|grep 8080 有0.0.0.0:8080 的监听(这里和你设置的 ServerName 有关,可能是具体的IP地址)
访问 http://ip:8080 即可
==================================================================================
方式二:
从上面的配置可以看出,虚拟网站的设置涉及多个配置文件,这样做的好处是管理较规范,模块化处理方便;但对于一个单独的虚拟主机来说,配置可能不那么简单,所以,我们可以充分利用apache2配置的灵活性,自定义配置方式:将虚拟主机的配置尽量集成在自己的配置中。
1、修改 apache2.conf 注释掉ports.conf
# Include ports listing
# Include ports.conf
2、修改httpd.conf 同上
3、修改虚拟主机配置文件
my_web_server2 中添加 Listen 8080
4、同上
第二种方式将端口监听的配置放在虚拟主机自己的配置中,方便主机配置。