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地址,如下图所示,那表明基本配置成功了。
1
建立dxl用户,修改其默认主目录的权限,并在其下建立目录public_html.
[root@rhe14 ~]# useradd dxl
[root@rhe14 ~]# passwd dxl
[root@rhe14 ~]# chmod 711 /home/dxl //修改权限
[root@rhe14 ~]# cd /home/dxl
[root@rhe14 ~]# mkdir public_html [root@rhe14 ~]# chown dxl:dxl public_html
[root@rhe14 ~]# 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用户的个人网站,如下图所示:
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服务:
[root@rhe14 ~]# 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
1
在同一网卡上绑定两个IP,终端输入命令如下:
[root@rhe14 ~]# ifconfig eth0 192.168.1.10 netmask 255.255.255.0
[root@rhe14 ~]# ifconfig eth0:1 192.168.1.100 netmask 255.255.255.0
2
编辑Apache文件/etc/httpd/conf/hpptd.conf,文件在虚拟主机配置段修改或添加
下列语句:
Listen 801
Listen 802 //添加端口
ServerAdmin webmaster@reh14.com
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 webmaster@reh14.com
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
创建两个虚拟主机的文档根目录及相应的测试面:
[root@rhe14 ~]# mkadir ?p /var/www/ipvhost1
[root@rhe14 ~]# mkadir ?p /var/www/ipvhost2
[root@rhe14 ~]# vi /avr/www/ipvhost1/index.html
[root@rhe14 ~]# 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出现如下图所示就表明配置完成:
1
为物理网卡配置一个IP地址,终端输入命令如下:
[root@rhe14 ~]# ifconfig eth0 192.168.204.2 netmask 255.255.255.0
2
编辑Apache文件/etc/httpd/conf/hpptd.conf,文件在虚拟主机配置段修改或添加如下语句:
Listen 801
Listen 802 //添加端口
ServerAdmin webmaster@reh14.com
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 webmaster@reh14.com
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
创建两个虚拟主机的文档根目录及相应的测试面:
[root@rhe14 ~]# mkadir ?p /var/www/ipvhost3
[root@rhe14 ~]# mkadir ?p /var/www/ipvhost4
[root@rhe14 ~]# vi /avr/www/ipvhost1/index.html
[root@rhe14 ~]# 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出现如下图 所示则表明配置成功。
修改配置文件是整个实验过程中作重要的部分,如果把重要的配置文件注释掉,就会导致Apache服务器重启失败。但如果把重要的配置文件不取消注释就会导致配置失败。
配置过程中,有必要关闭防火墙。在终端下输入命令:setenforce 0。
在配置过程中会遇到问题如当配置完成后在web浏览器中打开时出现“Forbidden”时,说明你创建文件或者网页的权限有问题,此时要把该文件权限修改为最高“755”。