apache2.2简易安装与配置
时间:2007-06-24 来源:lyjjr
一、软件安装
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 [email protected] 管理员邮件地址。 #ServerName www.example.com:80 定义客户端从服务器读取数据时返回给客房端的主机名。默认值为localhost。需要时才设置,否则注释掉。 DocumentRoot "/usr/local/apache2/htdocs" apache默认站点的根目录。 <IfModule dir_module>
DirectoryIndex index.html
</IfModule> 此处可增加站点默认的首文件名。
2、目录设置 <Directory /yourdir> ...... </Directory> options属性有 ExecCGI:使该目录下的CGI具有可执行的能力。 FolowSymLinks: 让你的link的目录或者文件,虽然在其它目录下,仍可以连接出去。 Includes:在服务器端的工作可进行。 Indexes:如果在该目录下面找不到index.html时,就显示整个目录下的文件名。请慎用。 MultiViews:这有点类似多国语言支持。 ALL:全部属性都启动。但不包含MultiViews. 如: <Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks AllowOverride None Order allow,deny
Allow from all </Directory> 这是默认的站点目录设置,建议去掉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服务会报错。 <VirtualHost *:80>
ServerAdmin [email protected]
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
</VirtualHost> <VirtualHost *:80>
ServerAdmin [email protected]
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
</VirtualHost> 3、加入虚拟站点,如现加了以下两个站点。 <VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /usr/local/apache2/htdocs/web1
ServerName www.web1.com
</VirtualHost> <VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /www/web2
ServerName www.web2.com
</VirtualHost>
4、保存重启apache服务。 此时会有这样的现象,www.web1.com能打开,而www.web2.com 却打不开。原因是因为web1的目录在/usr/local/apache2/htdocs 目录之下,而我们已对/usr/local/apache2/htdocs目录进行了权限控制处理。但web2站点的目录/www/web2 并未进行其访问授权。所以打不开。提示权限不够之类的信息。 5、编辑httpd.conf 文件,加入以下内容。 <Directory "/www/web2">
Order allow,deny
Allow from all </Directory> 6、保存退出重启apache服务,一切正常。
Group daemon apache启动服务的用户和组。2.2以前版本可能会用nobady用户及组。 ServerAdmin [email protected] 管理员邮件地址。 #ServerName www.example.com:80 定义客户端从服务器读取数据时返回给客房端的主机名。默认值为localhost。需要时才设置,否则注释掉。 DocumentRoot "/usr/local/apache2/htdocs" apache默认站点的根目录。 <IfModule dir_module>
DirectoryIndex index.html
</IfModule> 此处可增加站点默认的首文件名。
2、目录设置 <Directory /yourdir> ...... </Directory> options属性有 ExecCGI:使该目录下的CGI具有可执行的能力。 FolowSymLinks: 让你的link的目录或者文件,虽然在其它目录下,仍可以连接出去。 Includes:在服务器端的工作可进行。 Indexes:如果在该目录下面找不到index.html时,就显示整个目录下的文件名。请慎用。 MultiViews:这有点类似多国语言支持。 ALL:全部属性都启动。但不包含MultiViews. 如: <Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks AllowOverride None Order allow,deny
Allow from all </Directory> 这是默认的站点目录设置,建议去掉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服务会报错。 <VirtualHost *:80>
ServerAdmin [email protected]
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
</VirtualHost> <VirtualHost *:80>
ServerAdmin [email protected]
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
</VirtualHost> 3、加入虚拟站点,如现加了以下两个站点。 <VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /usr/local/apache2/htdocs/web1
ServerName www.web1.com
</VirtualHost> <VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /www/web2
ServerName www.web2.com
</VirtualHost>
4、保存重启apache服务。 此时会有这样的现象,www.web1.com能打开,而www.web2.com 却打不开。原因是因为web1的目录在/usr/local/apache2/htdocs 目录之下,而我们已对/usr/local/apache2/htdocs目录进行了权限控制处理。但web2站点的目录/www/web2 并未进行其访问授权。所以打不开。提示权限不够之类的信息。 5、编辑httpd.conf 文件,加入以下内容。 <Directory "/www/web2">
Order allow,deny
Allow from all </Directory> 6、保存退出重启apache服务,一切正常。
相关阅读 更多 +