/ 中存储网

Linux系统如何配置管理Apache服务器

2014-02-19 08:55:01 来源:IT技术网

Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。

Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 本来它只用于小型Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如:Amazon.com、Yahoo!、W3 Consortium。因此掌握apache服务器非常重要。

软件环境

1

运行环境:Oracle VM VirtualBox

2

操作系统:RedHat Linux Enterprise 4

3

Apache版本号:Apache 2.0

安装Apache服务器并启动

1

Apache的安装:

超级用户(root)在图形界面下选择“应用程序”|“系统设置”|“添加/删除应用程序”命令,选择“万维网服务器”软件包组,在单击“更新”按钮就可以安装与Apache相关的软件包。

2

Apache的启动、关闭、重启

启动命令:service httpd start

关闭命令:service httpd stop

重启命令:service httpd restart

Apache配置文件

1

位置:/etc/httpd/conf/httpd.conf。

2

在httpd.conf将Apache的基本配置参数修改、将一些注释的语句取消注释,或将某些不需要的参数注释掉。

3

将包括index.html在内的相关网页文件复制到指定的Web站点根目下(var/www/html/index.html),在index.html中输入“nihao”或其他文本。

4

重启httpd进程,添加ip地址在终端中输入如下命令:ifconfig eth0 192.168.204.2 netmask 255.255.255.0。

5

在Web浏览器下输入配置的ip地址,如下图所示,那表明基本配置成功了。

linux下配置管理Apache服务器

配置用户个人Web站点

1

建立dxl用户,修改其默认主目录的权限,并在其下建立目录public_html.

[[email protected] ~]# useradd dxl

[[email protected] ~]# passwd dxl

[[email protected] ~]# chmod 711 /home/dxl //修改权限

[[email protected] ~]# cd /home/dxl

[[email protected] ~]# mkdir public_html [[email protected] ~]# chown dxl:dxl public_html

[[email protected] ~]# chcon –R –h –t httpd_sys_content_t /home/*/public_html

注:上面chown 是将public_html的拥有者设置为dxl用户和dxl用户组

2

编辑文件/etc/httpd/conf/hpptd.conf,修改或添加如下语句:

UserDir disable root //不允许root用户使用自己的站点,也将此语句注释掉

UserDir public_html // 配置对每个用户Web站点目录设置

AllowOverride FileInfo AuthConfig Limit

Options MultiView Indexes SymLinksIfOwnerMatch IncludesNoxec

Orrder allow,deny

Allow from all

Order deny, allow

Deny from all

3

将编辑好的配置文件保存后重启httpd服务器。

4

在Web浏览器地址栏中输入Http://192.168.204.2/~dxl/即可打开dxl用户的个人网站,如下图所示:

linux下配置管理Apache服务器

别名和重定向

1

在目录中找到/var/www/icons

2

指定/var/tmp 目录别名为temp,并映射到文档根目录/var/www/html中,可在/etc/httpd/conf/httpd.conf文件中主服务器配置段中添加下列配置语句:Alias /temp “/var/tmp”

Options Indexes

AllowOverride None

Orrder allow,deny

Allow from all

3

保存添加的配置语句,再在终端命令窗口中执行如下命令重启httpd服务:

[[email protected] ~]# service httpd restart

4

在Web浏览器地址栏输入 Http://192.168.204.85/temp

5

将Http://192.168.204.85/temp重定向到Http://192.168.204.25/other在文件的主服务器配置段添加如下语句:

Redirect 303 /temp Http://192.168.204.25/other

用户身份验证

1

在配置文件中加入以下语句。

Alias /test "/var/www/html/test"

Options Indexes MultiViews

AllowOverride AuthConfig #表示进行身份验证

Order allow,deny

Allow from all

2

创建.htaccess文件

在/var/www/html/test下创建.htaccess文件

vi /var/www/html/test .htaccess

AuthName "sunzhongxia web"

AuthType Basic

AuthUserFile /var/www/html/test .htpasswd

require valid-user

上述命令注释:

AuthName 描述

AuthUserFile /var/www/html/test .htpasswd

require valid-user 或者 require user frank 限制是所有合法用户还是指定用户

密码文件推荐使用.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一点.

3

创建apache的验证用户

htpasswd -c /var/www/html/test. htpasswd yuanshu

注释:

第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数

如果你们想修改密码,可以如下

htpasswd -m .htpasswd sunzhongxia

4

重启apache。

在浏览器中输入http://192.168.1.10/test,可看到验证窗口。

注:为了服务器的性能,一般不推荐使用AllowOverride AuthConfig或者AllowOverride ALL,因为这会使服务器会不断的去寻找.htaccess,从而影响服务器的效能,一般我们把一些后台管理界面或者其他特殊目录可能需要加验证这个需求。

5

linux下配置管理Apache服务器

IP地址不同,单端口号相同的虚拟主机配置

1

在同一网卡上绑定两个IP,终端输入命令如下:

[[email protected] ~]# ifconfig eth0 192.168.1.10 netmask 255.255.255.0

[[email protected] ~]# ifconfig eth0:1 192.168.1.100 netmask 255.255.255.0

2

编辑Apache文件/etc/httpd/conf/hpptd.conf,文件在虚拟主机配置段修改或添加

下列语句:

Listen 801

Listen 802 //添加端口

ServerAdmin [email protected]

DocumentRoot /var/www/ipvhost1 // 文档根目录

SeverName 192.168.1.10 // 服务器名

Errorlog logs/192.168.1.10-error_log // 错误日志

CustomLog logs/192.168.1.10-access_log common //访问日志

ServerAdmin [email protected]

DocumentRoot /var/www/ipvhost2

SeverName 192.168.1.100

Errorlog logs/192.168.1.100-error_log

CustomLog logs/192.168.1.100-access_log common

3

创建两个虚拟主机的文档根目录及相应的测试面:

[[email protected] ~]# mkadir –p /var/www/ipvhost1

[[email protected] ~]# mkadir –p /var/www/ipvhost2

[[email protected] ~]# vi /avr/www/ipvhost1/index.html

[[email protected] ~]# vi /avr/www/ipvhost2/index.html

注:在/var/www/文件下创建ipvhost1,ipvhost2再在ipvhost1,ipvhost2创建网页文档并输入相应的内容

4

重启Apache服务器,然后在进行虚拟主机测试,在web浏览器地址中分别输入http://192.168.1.10和http://192.168.1.100出现如下图所示就表明配置完成:

linux下配置管理Apache服务器

linux下配置管理Apache服务器  

IP地址相同端口号不相同的虚拟主机配置

1

为物理网卡配置一个IP地址,终端输入命令如下:

[[email protected] ~]# ifconfig eth0 192.168.204.2 netmask 255.255.255.0

2

编辑Apache文件/etc/httpd/conf/hpptd.conf,文件在虚拟主机配置段修改或添加如下语句:

Listen 801

Listen 802 //添加端口

ServerAdmin [email protected]

DocumentRoot /var/www/ipvhost3 // 文档根目录

SeverName 192.168.204.2 // 服务器名

Errorlog logs/192.168.204.2-801-error_log // 错误日志

CustomLog logs/192.168.204.2-801-access_log common //访问日志

ServerAdmin [email protected]

DocumentRoot /var/www/ipvhost4

SeverName 192.168.204.2

Errorlog logs/192.168.204.2-802-error_log

CustomLog logs/192.168.204.2-802-access_log common

3

创建两个虚拟主机的文档根目录及相应的测试面:

[[email protected] ~]# mkadir –p /var/www/ipvhost3

[[email protected] ~]# mkadir –p /var/www/ipvhost4

[[email protected] ~]# vi /avr/www/ipvhost1/index.html

[[email protected] ~]# vi /avr/www/ipvhost2/index.html

注:在/var/www/文件下创建ipvhost1,ipvhost2再在ipvhost3,ipvhost4创建网页文档并输入相应的内容。

4

重启Apache服务器,然后在进行虚拟主机测试,在web浏览器地址中分别输入http://192.168.1.10和http://192.168.1.100出现如下图 所示则表明配置成功。

linux下配置管理Apache服务器

linux下配置管理Apache服务器

注意事项

修改配置文件是整个实验过程中作重要的部分,如果把重要的配置文件注释掉,就会导致Apache服务器重启失败。但如果把重要的配置文件不取消注释就会导致配置失败。

配置过程中,有必要关闭防火墙。在终端下输入命令:setenforce 0。

在配置过程中会遇到问题如当配置完成后在web浏览器中打开时出现“Forbidden”时,说明你创建文件或者网页的权限有问题,此时要把该文件权限修改为最高“755”。