欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

LINUX下搭建Apache HTTP Server

程序员文章站 2022-03-18 09:41:12
一、概述Apache HTTP Srver(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性。被广泛使用,是最流行的Web服务器之一。它快速、可靠并且可以通过简单的API扩充,将Perl/Python等解释器编译到服务器中。二、安装在Linux中安装Apache的方法,可以通过yum在线安装:yum -y install httpd*安装完成后,根目录在/etc/httpd三、目录结构及配置文件注解...

一、概述

Apache HTTP Srver(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性。被广泛使用,是最流行的Web服务器之一。它快速、可靠并且可以通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

二、安装

在Linux中安装Apache的方法,可以通过yum在线安装:

yum -y install httpd*

LINUX下搭建Apache HTTP Server

安装完成后,根目录在/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文件,进行演示。

LINUX下搭建Apache HTTP Server

文件内容如下:

LINUX下搭建Apache HTTP Server

保存后启动http服务:

systemctl start httpd

LINUX下搭建Apache HTTP Server

此时,我们就可以通过浏览器,访问到我们所编写的内容了,地址为:ip/demo/1.html

LINUX下搭建Apache HTTP Server

五、安全配置

1.重定向404网页

默认的404网页是非常不友好的。当一个用户访问到一些不存在或者错误的链接时,如果我们没有制作一个网页去引导用户访问该站点的其他页面时,会损失大量的用户。自定义404页面会告诉百度、谷歌等搜索器的爬虫,这条记录本站已经删除,请放弃搜索收录,利于seo优化。

具体方法先打开配置文件:/etc/httpd/conf/httpd.conf

并在里面添加如下语句:

LINUX下搭建Apache HTTP Server

在/var/www/html文件夹下创建一个404.html文件,文件内容如下;

LINUX下搭建Apache HTTP Server

此时,我们未找到网页时,就会显示我们设计好的内容了。

注意:

(1)不要将404错误直接转向网站首页,这将导致首页不被收录。

(2)/404.html 前面不要带域名,否则返回的状态码是302或者200状态码。

(3)自定义的404网页必须是大于512B,如果小于这个大小,浏览器就不会执行。

2.隐藏目录

我们访问网址时是使用的ip/demo/1.html,但是如果我们输入的是ip/demo,就会出现以下情况:

LINUX下搭建Apache HTTP Server

这样会造成信息泄露。修复方法如下:

打开配置文件:/etc/httpd/conf/httpd.conf

LINUX下搭建Apache HTTP Server

完成后,我们再次进入ip/demo,看到的就是以下情况:

LINUX下搭建Apache HTTP Server

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查看日志。

本文地址:https://blog.csdn.net/weixin_47931795/article/details/107345053