- 论坛徽章:
- 0
|
一、软件安装
1、源文件件解压
从官方网站下载httpd-2.2.2.tar.tar 安装包,考到/usr/src/目录
tar zxvf httpd-2.2.2.tar.tar
2、编译安装(可安INSTALL文档说明进行)
cd /usr/src/httpd-2.2.2
./configure --prefix=/usr/local/apache2
make
make install
3、启动与关闭APACHE2服务
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
4、测试APACHE2是否服务启动成功
http://serverip
如果显示it works就表示服务已成功。
二、软件配置篇
1、基本环境配置
编译安装的APACHE配置文件为 /usr/local/apache2/conf/httpd.conf
ServerRoot "/usr/local/apache2" apache的安装路径。相对路径都以该目录根。
Listen 80 web侦听端口
User daemon
Group daemon apache启动服务的用户和组。2.2以前版本可能会用nobady用户及组。
ServerAdmin
you@example.com
管理员邮件地址。
#ServerName
www.example.com:80
定义客户端从服务器读取数据时返回给客房端的主机名。默认值为localhost。需要时才设置,否则注释掉。
DocumentRoot "/usr/local/apache2/htdocs" apache默认站点的根目录。
DirectoryIndex index.html
此处可增加站点默认的首文件名。
2、目录设置
......
options属性有
ExecCGI:使该目录下的CGI具有可执行的能力。
FolowSymLinks: 让你的link的目录或者文件,虽然在其它目录下,仍可以连接出去。
Includes:在服务器端的工作可进行。
Indexes:如果在该目录下面找不到index.html时,就显示整个目录下的文件名。请慎用。
MultiViews:这有点类似多国语言支持。
ALL:全部属性都启动。但不包含MultiViews.
如:
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
这是默认的站点目录设置,建议去掉indexes属性。
3、访问控制(配合Directory块对目录进行访问控制)
Order 明确了访问控制指令按什么顺序执行的。
Allow 允许访问站点的主机名列表。
Deny 拒绝访问站点的主机名列表。
如:以例目录设置例子。
三、虚拟主机篇
1、启用虚拟主机
去掉httpd.conf文件中 Include conf/extra/httpd-vhosts.conf 前面的# 注释.
2、编辑/usr/local/apache2/conf/extra/httpd-vhosts.conf 文件
1)注释掉以下内容,或者修改它。因为默认这几个站点我们根本不存在,如不去掉,启用apache服务会报错。
ServerAdmin
webmaster@dummy-host.example.com
DocumentRoot /www/docs/dummy-host.example.com
ServerName dummy-host.example.com
ServerAlias
www.dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
ServerAdmin
webmaster@dummy-host2.example.com
DocumentRoot /www/docs/dummy-host2.example.com
ServerName dummy-host2.example.com
ErrorLog logs/dummy-host2.example.com-error_log
CustomLog logs/dummy-host2.example.com-access_log common
3、加入虚拟站点,如现加了以下两个站点。
ServerAdmin
webmaster@dummy-host.example.com
DocumentRoot /usr/local/apache2/htdocs/web1
ServerName
www.web1.com
ServerAdmin
webmaster@dummy-host2.example.com
DocumentRoot /www/web2
ServerName
www.web2.com
4、保存重启apache服务。
此时会有这样的现象,
www.web1.com
能打开,而
www.web2.com
却打不开。原因是因为web1的目录在/usr/local/apache2/htdocs 目录之下,而我们已对/usr/local/apache2/htdocs目录进行了权限控制处理。但web2站点的目录/www/web2 并未进行其访问授权。所以打不开。提示权限不够之类的信息。
5、编辑httpd.conf 文件,加入以下内容。
Order allow,deny
Allow from all
6、保存退出重启apache服务,一切正常。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21771/showart_327703.html |
|