Apache
- 环境:VMware Workstation
- 操作系统:CentOS7
- 操作用户:root
安装步骤
-
安装wget工具
yum install -y wget
-
仓库查询
ls /etc/yum.repos.d/
-
epel仓库安装
链接:
[https://developer.aliyun.com/mirror/epel?spm=a2c6h.13651102.0.0.13081b11neMg7u]:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
-
仓库查询验证
-
查询可用仓库
yum repolist
-
查询可用软件包
yum search httpd
-
安装Apache服务
yum install -y httpd-* httpd
-
安装验证
rpm -qa | grep httpd
-
查询详细信息
rpm -qil httpd-2.4.6-93.el7.centos.x86_64
-
进入配置文件所在文件夹
cd /etc/httpd/conf
-
修改配置文件,首先进行文件备份
cp httpd.conf httpd.conf.bak
-
文件处理(去除#注释与空行)
sed -i '/#/d' httpd.conf
sed -i '/^$/d' httpd.conf
-
配置文件简易校验
httpd -t
-
防火墙端口放行
firewall-cmd --add-port=80/tcp --permanent
-
防火墙配置重载
firewall-cmd --reload
-
开启Apache服务
systemctl start httpd
-
查看端口状态
没有netstat命令需要进行安装
yum install -y net-tools
netstat -ntlp
18. 浏览器访问ip,地址栏输入ip/manual查看帮助手册
虚拟主机配置
准备
- 编辑Apache配置文件如图
vim /etc/httpd/conf/httpd.conf
-
保存退出,文件验证
httpd -t
-
进入
/etc/httpd/conf.d
,创建文件名.conf 文件
单机配置
-
编辑创建的**.conf**文件,如下
<VirtualHost *:80> DocumentRoot /mnt/z(根目录) ServerName xxx(域名) <Directory "/mnt/z"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <Directory "/mnt/z/z"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
-
文件校验,提示
/mnt/z
目录不存在 -
在
/mnt
下创建多级目录/z/z
,并分别在两个/z目录下创建index.html
文件,并添加验证内容 -
文件校验,OK
-
因为之前将80端口放行过,所以这次不用在此更改防火墙配置
-
重启Apache服务
systemctl restart httpd
-
浏览器访问,地址栏添加/z访问查看,是否跳转并显示自己创建的
index.html
内容
tips:
域名可以随意修改,只需在物理机修改hosts文件即可
多机配置
此处设再次添加一个虚拟主机,并监听8080端口
tips:
前期准备中,添加了Listen 8080
多机配置可以选择同一IP,同一端口,不同域名,也可以同一IP,不同端口,不同域名等
域名可在物理机hosts文件中修改
-
修改之前的**.conf**文件,添加以下内容
<VirtualHost *:8080> DocumentRoot /mnt/g(根目录) ServerName xxx(域名) <Directory "/mnt/g"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <Directory "/mnt/g/g"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
-
文件校验,提示
/mnt/g
目录不存在 -
在
/mnt
下创建多级目录/g/g
,并分别在两个/g目录下创建index.html
文件,并添加验证内容 -
文件校验,OK
-
修改防火墙规则,放行8080端口
firewall-cmd --add-port=8080/tcp --permanent
-
重载防火墙规则
firewall-cmd --reload
-
重启Apache服务
systemctl restart httpd
-
浏览器访问,地址栏添加/g访问查看,是否跳转并显示自己创建的
index.html
内容
用户访问控制
帮助文档:浏览器输入:ip/manual
ip限制
-
进入
/etc/httpd/conf.d
cd /etc/httpd/conf.d
-
编辑主机配置文件,如下图
vim test.conf
拒绝访问
Require not ip 172.16.11.0/24
<Requireall> Require all granted Require [no] ip 172.16.11.30 </Requireall>
-
保存,退出,文件校验
httpd -t
-
重启Apache服务
systemctl restart httpd
用户身份限制
-
进入
/etc/httpd/conf.d
cd /etc/httpd/conf.d
-
生成用户密码信息
htpasswd -c passwd wk(用户名)
-
编辑主机配置文件,如下图
vim test.conf
<Requireall> AuthType Basic AuthName "Restricted Files" AuthBasicProvider file AuthUserFile /usr/local/apache/passwd/passwords Require valid-user </Requireall>
-
保存,退出,文件校验
httpd -t
-
重启Apache服务
systemctl restart httpd
服务器安全控制
linux内访问网站响应头
curl -I 域名
隐藏响应头内服务器版本号
vim /etc/httpd/conf/httpd.conf
serverTokens Prod
保存、退出、验证、重启
文件后缀解析控制
tips:
此时虚拟主机的配置文件中重写已打开AllowOverride all
在网站主目录(/mnt/z)下创建.htaccess文件
cd /mnt/z
vim .htaccess
编辑写入以下内容
<FilesMatch "1.jpg">(引号内为匹配文件)
SetHandler application/x-httpd-php
</FilesMatch>
tips:
此种操作具备安全危险
关闭后缀匹配
进入虚拟主机配置文件,将允许重写关闭AllowOverride none
vim /etc/httpd/conf.d/test.conf
保存、退出、验证、重启