一、概述
Apache HTTP Srver(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性。被广泛使用,是最流行的Web服务器之一。它快速、可靠并且可以通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
二、安装
在Linux中安装Apache的方法,可以通过yum在线安装:
yum -y install httpd*
安装完成后,根目录在/etc/httpd
三、目录结构及配置文件注解
1.目录结构如下:
服务目录 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
网站数据目录 | /var/www/html |
访问日志 | /var/long/httpd/access_log |
错误日志 | /var/log/httpd/error_log |
2.apache的配置文件在/etc/httpd/conf/httpd.conf
该文件中,常用的参数解释如下:
ServerRoot | 服务目录 |
ServerAdmin | 管理员邮箱 |
User | 运行服务的用户 |
Group | 运行服务的用户组 |
ServerName | 网站服务器的域名 |
DocumentRoot | 网站数据的目录 |
Listen | 监听的IP地址与端口号 |
DirectoryIndex | 默认的索引页页面 |
ErrorLog | 错误日志文件 |
CustomLog | 访问日志文件 |
Timeout | 网页超时时间,默认300秒 |
Include | 需要加载的其他文件 |
四、发布工程
Apache的工程发布很简单,只需要将编写好的工程放入/var/www/html中即可,我们这里没有编写好的工程,就进入文件夹中,创建了一个demo文件夹,在demo下创建一个html文件,进行演示。
文件内容如下:
保存后启动http服务:
systemctl start httpd
此时,我们就可以通过浏览器,访问到我们所编写的内容了,地址为:ip/demo/1.html
五、安全配置
1.重定向404网页
默认的404网页是非常不友好的。当一个用户访问到一些不存在或者错误的链接时,如果我们没有制作一个网页去引导用户访问该站点的其他页面时,会损失大量的用户。自定义404页面会告诉百度、谷歌等搜索器的爬虫,这条记录本站已经删除,请放弃搜索收录,利于seo优化。
具体方法先打开配置文件:/etc/httpd/conf/httpd.conf
并在里面添加如下语句:
在/var/www/html文件夹下创建一个404.html文件,文件内容如下;
此时,我们未找到网页时,就会显示我们设计好的内容了。
注意:
(1)不要将404错误直接转向网站首页,这将导致首页不被收录。
(2)/404.html 前面不要带域名,否则返回的状态码是302或者200状态码。
(3)自定义的404网页必须是大于512B,如果小于这个大小,浏览器就不会执行。
2.隐藏目录
我们访问网址时是使用的ip/demo/1.html,但是如果我们输入的是ip/demo,就会出现以下情况:
这样会造成信息泄露。修复方法如下:
打开配置文件:/etc/httpd/conf/httpd.conf
完成后,我们再次进入ip/demo,看到的就是以下情况:
3.文件权限问题
现在大部分站点都存在文件上传,比如头像上传,附件上传等。如果在代码层对上传的文件限制得不够严格,很容易被上传Webshell。一旦被上传,会对服务器造成很大的威胁。
如果我们对存放上传文件的目录限制脚本的运行权限,上传的脚本就无法运行,在一定程度上能够减轻黑客攻击的危害,并且还不影响正常的业务,上传的图片不需要执行权限,也能正常打开。
代码如下:
<Directory /var/www/html/demo/upload>
php_flag engine off
</Directory>
将以上代码写入配置文件即可。
六、Apache日志
Apache会生成两个主要的日志文件,一个是Web访问日志access.log,一个是记录服务器运行时出错的日志error.log
通过配置文件/etc/httpd/conf/httpd.conf中定义了日志格式。
通过/var/log/httpd/error.log查看日志。