一.apache的安装
yum install httpd -y 安装服务
systemctl start httpd 启动服务
systemctl stop firewalld 关闭防火墙
systemctl enable httpd 开机自动启动
systemctl disable firewalld 开机不启动防火墙
二.apache相关配置信息
1.apache的默认发布目录文件
/var/www/html/index.html
2.apache的配置文件
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
3.apache的默认端口
80
三. apache的基本配置
1.修改默认发布文件
(1)vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex westos.html index.thml
vim westos
hello ,westos!
默认优先读取写在前面的发布文件,westos.html文件损坏后,读取index.html文件
重启apache服务systemctl restart httpd,访问主页面为westos.html
(2)删除westos发布页面,index成为默认发布文件
vim westos
hello ,world!
端口显示正常
重启apache服务,访问主页面为index.html
2.修改默认发布目录
(1)当selinux是disable状态
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/westos/html" 修改默认发布目录为/westos/html
<Directory "/westos/html">
Require all granted 所有人能访问
</Directory>
systemctl restart httpd
创建新的发布目录/westos/html
编写westos发布文件
重启服务,访问为新建目录下的文件正常
(2)当selinux是enforcing状态
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/westos/html" 修改默认发布目录为/westos/html
<Directory "/westos/html">
Require all granted 所有人能访问
</Directory>
systemctl restart httpd
创建新的发布目录/westos/html
编写westos发布文件
查看默认发布目录及新建目录的上下文,设置新建目录westos的上下文为httpd_sys_content_t
修改完成后,更新上下文 restorecon -RvvF /westos
重启服务,访问为新建目录下的文件正常
3.apache的访问控制
(1)设定ip的访问(其中Order 按顺序执行)
vim /etc/httpd/conf/httpd.conf
<Directory "/westos/html"> 允许所有人访问westos目录但是拒绝250主机
Order Allow,Deny
Allow from All
Deny from 172.25.254.250
</Directory>
<Directory "/westos/html"> 只允许250主机访问westos目录
Order Deny,Allow
Allow from 172.25.254.250
Deny from All
</Directory>
(2)设定用户的访问
htpasswd -m /etc/httpd/accessuser admin 创建访问的用户认证文件 (-c create -m 指定名称)
注意:第一个创建的用户需要加c ,以后创建的用户不需要加c,直接指定-m
创建访问用户admin admin1 指定名称为authfile
配置认证配置
vim /etc/httpd/conf/httpd.conf
<Directory "/westos/html">
AuthUserFile /etc/httpd/conf/authfile 用户认证文件
AuthName "Please input your name and password !!" 用户认证提示信息
AuthType basic 认证类型 基础认证
Require valid-user 认证用户,认证文件中所有用户都可以通过
Require user admin 只允许认证文件中admin用户访问
</Directory>
将认证文件放到/etc/httpd/conf,重启服务
再次访问172.25.254.128,需要输入认证帐号和密码
输入帐号密码后进入到访问页面
四.apache的虚拟主机
1.定义
可以让我们的一台apache服务器在被访问不同域名的时候显示不同的主页
2.建立测试页
创建目录测试发布文件并将默认目录改为/var/www/html/
创建news.westos.com和sport.westos.com目录
创建news下的发布文件
创建sports下的发布文件
3.配置
cd 到/etc/httpd/conf.d/
(1)新建未指定域名的访问配置文件
vim /etc/httpd/conf.d/default.conf 未指定域名的访问都访问default
<Virtualhost _default_:80> 虚拟主机开启的端口
DocumentRoot "/var/www/html" 虚拟主机的默认发布目录
CustomLog "logs/default.log" combined 虚拟主机日志
</Virtualhost>
(2)新建news.westos.com域名的访问文件
vim /etc/httpd/conf.d/news.conf 指定域名news.westos.com的访问到指定默认发布目录中
<Virtualhost *:80>
ServerName news.westos.com
DocumentRoot /var/www/westos/news.westos.com
CustomLog "logs/news.log" combined
</Virtualhost>
<Directory "/var/www/westos/news.westos.com"> 默认发布目录的访问授权
Require all granted
</Directory>
(3)新建sports.westos.com域名的访问文件
vim /etc/httpd/conf.d/sports.conf 指定域名sports.westos.com的访问到指定默认发布目录中
<Virtualhost *:80>
ServerName sports.westos.com
DocumentRoot /var/www/westos/sports.westos.com
CustomLog "logs/sports.log" combined
</Virtualhost>
<Directory "/var/www/westos/sports.westos.com"> 默认发布目录的访问授权
Require all granted
</Directory>
4.测试
在172.25.254.28上进行测试
在浏览器所在主机中配置本地解析文件 vim /etc/hosts
172.25.254.128 www.westos.com news.westos.com sports.westos.com
在浏览器打开www.westos.com,访问到默认文件上
在浏览器打开news.westos.com,访问到news文件上
在浏览器打开sports.westos.com,访问到sports文件上