linux中Apache服务的基本配置

1.Apache
Apache是世界使用排名第一的Web服务器软件。它能够运行在几乎全部普遍使用的计算机平台上,因为其跨平台和安全性被普遍使用,是最流行的Web服务器端软件之一。它快速、可靠而且可经过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。
2.Apache的环境部署
yum install httpd -y 安装apache服务软件
sysctmctl start httpd 开启服务
systemctl enable httpd 设置开机自启动
systemctl status httpd 查看服务状态
linux中Apache服务的基本配置
linux中Apache服务的基本配置
进行防火墙设置:html

firewall-cmd --add-service=http --permanent 防火墙永久添加http服务
firewall-cmd --reload 从新加载防火墙
firewall-cmd --list-all 查看服务添加状况
linux中Apache服务的基本配置linux

vim /var/www/html/index.html 编写默认发布文件(/var/www/html是默认发布目录 新建的index.html 是默认发布文件)
linux中Apache服务的基本配置
curl 192.168.152.131查看更改内容apache

三、修改默认端口
apache的默认发布端口为80
netstat -antlupe |grep http #查看服务所开放的端口
linux中Apache服务的基本配置
vim /etc/httpd/conf/httpd.conf #修改主配置文件,在其中对默认端口进行修改
linux中Apache服务的基本配置 修改默认端口为8080vim

更改防火墙策略
systemctl restart httpd 重启服务
firewall-cmd --add-port=8080/tcp 防火墙添加端口8080
firewall-cmd --reload 从新加载防火墙
firewall-cmd --list-all 查看端口添加状况
linux中Apache服务的基本配置
linux中Apache服务的基本配置
curl 192.168.152.131:8080访问修改端口后的发布文件
linux中Apache服务的基本配置 之前的默认端口被更改安全

系统selinux为Enforcing强制时候,当默认端口被修改为没有被selinux所容许的端口的时候,会致使服务没法启动,须要在selinux所容许的端口中添加所更改的端口。服务器

semanage port -l | grep http #查看selinux容许服务使用的端口
因为selinux不容许使用8080端口,须要进行添加:
semanage port -a -t http_port_t -p tcp 8080 #强制添加8080端口curl

四、修改默认发布文件以及默认发布目录tcp

默认发布文件就是当访问apache时没有指定文件名称,服务默认访问的文件。
这个文件能够指定多个,有访问顺序,按照其在配置文件中的顺序进行访问。
vim /var/www/html/bruce.html #编写新的发布文件 bruce
vim /etc/httpd/conf/httpd.conf #修改主配置文件164行,将新写文件添加后后
systemctl reload httpd 重启加载服务
linux中Apache服务的基本配置ide

五、修改默认发布目录测试

新建一个目录做为发布目录 mkdir -p /bruce/www/html
在目录html下新建发布文件index.html写入内容
linux中Apache服务的基本配置
编辑/etc/httpd/conf/httpd.conf
linux中Apache服务的基本配置
DocumentRoot "/bruce/www/html" #指定更改后的发布目录
<Directory "/bruce/www/html"> #对发布目录进行受权
Require all granted #全部人均可以访问该目录
</Directory>
systemctl reload httpd 从新加载服务
curl 192.168.152.131:8080 测试
linux中Apache服务的基本配置

若是selinux的模式是强制级 则须要
semanage fcontext -a -t httpd_sys_content_t '/bruce(/.*)?' #因为selinux开启,须要更改将做为发布目录的新建目录的安全上下文。
restorecon -FvvR /bruce/ # 修改以后进行刷新 ,不刷新其安全上下文不会改变。

六、apache内部的访问控制
1.针对主机的访问
vim /etc/httpd/conf/httpd.conf 修改配置文件

linux中Apache服务的基本配置
systemctl reload httpd.service 从新加载服务

在192.168.152.128下测试 curl 192.168.152.131:8080
linux中Apache服务的基本配置 访问不到目录 该主机被添加到黑名单中因此访问不到 如今咱们把他移除黑名单
在配置文件中移除后访问到文件
linux中Apache服务的基本配置

注意:Order Allow,Deny 服务在读去限制名单的时候,按照此处的前后顺序,先读取白名单中的内容,而后再读取黑名单中的内容,当先后中存在对同一主机的指定时,后读取的内容会覆盖以前的内容。上面上面配置中,先读取白名单容许全部主机进行访问,后读取黑名单限制192.168.152.128进行访问,因此后读取的限制访问覆盖了白名单中对与192.168.152.128主机容许访问的设定。

2)针对用户方式的访问控制
生成用户认证文件:
htpasswd -cm /etc/httpd/bruce laoli 第一次生成该文件 使用参数 -cm
linux中Apache服务的基本配置
htpasswd -m /etc/httpd/bruce laoli1 生成文件以后须要添加用户 使用参数 -m
linux中Apache服务的基本配置
cat /etc/httpd/totofile 查看认证文件信息 显示用户信息
linux中Apache服务的基本配置
对配置文件进行修改:
vim /etc/httpd/conf/httpd.conf
linux中Apache服务的基本配置

DocumentRoot "/bruce/www/html"
<Directory "/bruce/www/html">
AuthUserFile "/etc/httpd/totofile" #受权文件位置
AuthType basic #认证方式Basic
AuthName "please input username and password" #认证说明
Require user laoli #容许访问的用户

Require valid-user

</Directory>
参数 Require user toto1 与 Require valid-user 都是对容许访问的用户进行说明的语句。`Require user laoli 表示只容许laoli用户进行访问; Require valid-user表示容许受权文件中全部的用户进行访问。这两种只能同时存在一个。
systemctl reload httpd.service 从新加载服务
测试
linux中Apache服务的基本配置
linux中Apache服务的基本配置

七、apache的虚拟主机

虚拟主机指的是在单一机器上运行多个网站(例如www.bruce.com; music.bruce.com; news.bruce.com)。虚拟主机能够“基于 IP”,即每一个 IP 一个站点; 或者“基于名称”,
演示使用192.168.152.131 该一个ip对应 www.bruce.com; music.bruce.com; news.bruce.com三个站点。

建立发布目录以及发布文件

mkdir -p /virtdir/music/html
mkdir -p /virtdir/news/html
#建立不一样域名的发布目录
vim /virtdir/music/html/index.html #建立发布文件
vim /virtdir/news/html/index.html #建立发布文件
*semanage fcontext -a -t httpd_sys_content_t '/virtdir(/.)?' # 修改发布目录安全上下文
restorecon -RvvF /virtdir/ #刷新发布目录安全上下文 若是selinux是强制级的话须要这样作
**
linux中Apache服务的基本配置

vim /etc/httpd/conf.d/virthost.conf 编写虚拟主机的配置文件

<VirtualHost default:80> #建立默认虚拟主机,找不到虚拟主机的域名访问也由此主机提供服务。
DocumentRoot /var/www/html #指定发布目录
CustomLog logs/default.log combined #指定日志文件以及日志类型(全部 日志)
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /virtdir/music/html #指定发布目录
ServerName music.bruce.com #虚拟主机指定域名 music.bruce.com
CustomLog logs/music.log combined #指定日志文件以及日志类型(全部 日志)
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /virtdir/news/html #指定发布目录
ServerName news.bruce.com #虚拟主机指定域名 news.bruce.com
CustomLog logs/news.log combined #指定日志文件以及日志类型(全部 日志)
</VirtualHost>

<Directory "/virtdir"> #对新建的发布目录进行认证
Require all granted #容许全部人能够访问该目录
</Directory>

linux中Apache服务的基本配置

systemctl restart httpd 重启服务

测试
在测试端的主机本地解析文件/etc/hosts中,对www.bruce.com; music.bruce.com; news.bruce.com 三个域名进行解析记录,而后经过域名进行访问,显示不一样的发布文件:
vim /etc/hosts
linux中Apache服务的基本配置

linux中Apache服务的基本配置

相关文章
相关标签/搜索