本文共 4896 字,大约阅读时间需要 16 分钟。
WebServer常用的有Apache、IIS、nginx、Tomcat
下载好源码包 密码:0x96
其中apr、apr-util软件包支持Apache上层应用跨平台,提供底层接口库
tar zxvf apr-1.4.6.tar.gz -C /opt tar zxvf apr-util-1.4.1.tar.gz -C /opt tar zxvf http-2.4.2.tar.gz
cd /opt //进入解压后的软件目录cp -R apr-1.4.6/ /opt/httpd-2.4.2/srclib/aprcp -R apr-util-1.4.1/ /opt/httpd-2.4.2/srclib/apr-util
创建yum仓库的步骤详细步骤请参考
yum install gcc gcc-c++ make pcre pcre-devel -y
cd /opt/httpd-2.4.2
./configure \
--prefix=/usr/local/httpd \--enable-so \--enable-rewrite \--enable-charset-lite \--enable-cgi
上述的配置命令中,各选项的含义如下:
完成配置以后,执行“make”命令进行编译,将源代码转换成可执行的程序,然后执行“make install”命令完成最后安装过程,其中make的过程可能需要较长的时间。
makemake install
[root@RedHat6-1 ~]# ls /usr/local/httpd/bin build cgi-bin conf error htdocs icons include lib logs man manual modules
为了便于通过chkconfig进行管理httpd系统服务,需要建立可控的服务脚本。可以将apachectl脚本复制为/etc/init.d/httpd,并在文件的开头添加chkconfig识别配置。
grep -v "#" /usr/local/httpd/bin/apachectl > /etc/init.d/httpd
vim /etc/init.d/httpd //在文件的开头添加#!/bin/sh # chkconfig:2345 85 15 # description:Apache is a World Wide Web server.
chkconfig --add httpdchkconfig --list httpdchkconfig --level 35 httpd on
ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
vim /etc/httpd.conf ServerName www.benet.com //设置网站名称 Listen 192.168.10.10:80 //监听web服务器本机的IPV4地址 #Listen 80 //不监听本机IPV6地址
使用带“-t”选项的apachectl命令对配置内容进行语法检查,显示“Syntax OK”说明没有语法错误。
[root@RedHat6-1 ~]# cd /usr/local/httpd/bin/[root@RedHat6-1 bin]# ./apachectl -tSyntax OK
正常启动httpd服务以后,默认将监听tcp协议的80端口。
[root@RedHat6-1 ~]# service httpd start[root@RedHat6-1 ~]# netstat -ntap | grep httpdtcp 0 0 192.168.10.10:80 0.0.0.0:* LISTEN 2164/httpd
关闭Apache服务器的防火墙
service iptables stop
为了更好地控制对网站资源的访问,可以为特定的网站目录添加访问授权。
通过配置项Order、Deny from 、Allow from,可以根据客户机的主机名或ip地址决定是否允许客户端访问。其中Order配置项用于设置限制顺序,Deny from和Allow from配置项用于设置具体限制内容。
vim /etc/httpd.conf........ //省略部分内容 Order deny,allow Deny from 192.168.10.0/24
service httpd restart //重启httpd服务
用客户机ip地址是192.168.10.0网段测试
基于用户的访问控制包含认证和授权两个过程,认证是识别用户身份的过程,授权是允许特定用户访问特定目录区域的过程。下面以基本认证方式为例,添加用户授权限制。
[root@RedHat6-1 ~]# mkdir /opt/test[root@RedHat6-1 ~]# echo "this is test" > /opt/test/index.html
使用专门的htpasswd工具创建授权用户数据文件,必须指定用户数据文件的位置。
[root@RedHat6-1 ~]# htpasswd -c /etc/httpd/user zhangsanNew password: //根据提示设置密码Re-type new password: Adding password for user zhangsan[root@RedHat6-1 ~]# cat /etc/httpd/user //确认用户数据文件zhangsan:4PzLKuWXoIm4A
有了授权账号以后,还需要加载一个独立的配置文件,使其能在特定的目录区域中添加授权配置,以启用基本认证等。
[root@RedHat6-1 ~]# cd /usr/local/httpd/conf/extra/[root@RedHat6-1 extra]# vim vdir.conf Alias /test "/opt/test/" //声明//网站目录区域 Options Indexes MultiViews FollowSymLinks //允许使用符号链接 AllowOverride None //不允许隐含控制文件中的覆盖配置 AuthName "hello" //定义受保护的领域名称,该内容将在浏览器弹出的认证对话框中显示 authtype basic //设置认证的类型是基本认证 authuserfile /etc/httpd/user //设置用于保存账号、密码的认证文件路径# authgroupfile /etc/httpd/group require valid-user //认证文件中的合法用户才能访问# require user test# require group admin
service httpd restart //重启服务使配置生效
转载于:https://blog.51cto.com/11134648/2129151