个人

本文介绍如何在 CentOS 6.x 上安装并配置 Apache Web 服务器,包括隐藏版本信息、使用 .htaccess 文件进行目录保护,并探讨了 Apache 的工作原理。

一、了解httpd的工作原理。
二、在cnetos6.x上面安装好web服务器能够正常运行、隐藏httpd版本号、 .htaccess 加密网站。

测试环境:
1、测试机:centos6.5 可以上网、yum源正常 IP:192.168.1.123
2、本地机:windows10 IP:192.168.1.1

一、httpd的工作原理。
httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。

在浏览器的地址栏内输入地址访问Web页面通信过程简述如下:
(1)客户端(浏览器)和Web服务器建立TCP连接,连接建立以后,向Web服务器发出访问请求(如get)。根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。
(2)Web服务器收到请求后,将客户端要求的页面内容返回到客户端。如果出现错误,那么返回错误代码。
(3)断开与远端Web服务器的连接。

Apache工作的二种原理。
   prefork的工作原理是,控制进程在最初建立"StartServers"个子进程后,为了满足"MinSpareServers"设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足 MinSpareServers设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。
worker的工作原理是,由主控制进程生成"startservers"个子进程,每个子进程中包含固定的"threadsperchild"线程数,各个线程独立地处理请求。同样,为了不在请求到来时再生成线程,minsparethreads和maxsparethreads设置了最少和最多的空闲线程数;而maxclients设置了所有子进程中的线程总数。如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。

二、
1、yum安装httpd服务,能够打开默认的测试网页。
查看系统有没有安装httpd命令
rpm -q httpd
yum安装命令
yum -y install httpd
个人
安装好的
个人
启动和重启命令
service httpd start
service httpd restart
放行防火墙端口和保存更改命令
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/rc.d/init.d/iptables save
个人
开机自启动命令
chkconfig --level 35 httpd on
个人
在本地机浏览器中打开http://192.168.1.123 出现下图就说明成功安装了。
个人

2、打开网站不存在的网页或者目录时会显示httpd版本号等信息。如http://192.168.1.123/wycs

个人
要隐藏httpd版本号就要修改配置文件,yum安装的htppd服务配置文件是/etc/httpd/conf下的httpd.conf件。要把配置文件中的ServerTokens OS修改成ServerTokens Prod,
ServerSignature On修改成ServerSignature Off。
命令
vi /etc/httpd/conf/httpd.conf
个人
个人

重启httpd服务
service httpd restart
个人

在本地机浏览器中打开http://192.168.1.123/wycs 出现下图就说明修改成功了。如果没有成功就要看在修改配置文件的时候是不是修改了错误了。
个人

3、利用 .htaccess加密网站。
在加密前把网站的首页默认index.html文件的默认修改成WYCS,yum安装的httpd网站存放文件目录在/var/www/html.
cd /var/www/html
重新定义index.html内容为WYCS
echo "WYCS" >> index.html

个人
在本地机浏览器中打开http://192.168.1.123 出现下图就说明修改成功了。
个人

把配置文件中的全局配置下的AllowOverride None修改成AllowOverride AuthConfig。
vi /etc/httpd/conf/httpd.conf

个人

进入/var/www/html下创建.htaccess和.htpasswd。
cd /var/www/html
touch .htaccess
touch .htpasswd

个人
修改.htaccess文件内容为
(AuthName "wycs"
AuthType Basic
AuthUserfile /var/www/html/.htpasswd
require user wy)
vi .htaccess
个人

执行下面命令,提示输入密码的时候,输入wy后回车,再输入wy后回车。
htpasswd -cm .htpasswd wy
个人
重启httpd服务
service httpd restart
个人
在本地机浏览器中打开http://192.168.1.123 提示要输入密码时就成功了。密码和密码是wy。如果打开浏览器的时候没有提示要输入密码,请清空浏览器的历史记录,再重新试下。
个人

转载于:https://blog.51cto.com/12990850/2113105

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值