RHEL8系统学习打卡#day16#

第10章 使用Apache服务部署静态网站

在这里插入图片描述
10.1安装网站服务
dnf install httpd
安装完成重启并加入启动项,打开firefox,输入本机的IP,就会出现默认页面。

10.2配置服务文件参数
在这里插入图片描述
替换httpd服务程序的默认首页面

echo "HELLO WORLD" > /var/www/html/index.html 

此时默认页面就会变成上述输入的内容

修改网站数据保存目录
在默认情况下,网站数据是保存在/var/www/html目录中,而如果想把保存网站数据的目录修改为/home/wwwroot目录

第1步:建立网站数据的保存目录,并创建首页文件。

mkdir /home/wwwroot
 echo "The New Web Directory" > /home/wwwroot/index.html

第2步:编辑配置文件,将约第122行用于定义网站数据保存路径的参数DocumentRoot修改为/home/wwwroot,同时还需要将约第127行与134行用于定义目录权限的参数Directory后面的路径也修改。为/home/wwwroot

vim /etc/httpd/conf/httpd.conf

122  DocumentRoot "/home/wwwroot"
127 <Directory "/home/wwwroot">
131 </Directory>

第3步:重启验证,刷新浏览器

systemctl restart httpd

提示权限不足
原因:SElinux权限不足

10.3SELinux安全子系统
SELinux服务有三种配置模式
enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
permissive:遇到服务越权访问时,只发出警告而不强制拦截。
disabled:对于越权的行为不警告也不拦截。

/etc/selinux/config   //selinux的配置文件

getenforce命令  //查看当前SElinux服务的运行模式

setenforce 0  //l临时修改,0为禁用,1为启用

getenforce    //此时为Permissive

此时刷新,就看到正常的网页内容了。

ls -Zd  /var/www/html
ls -Zd /home/wwwroot

两个目录的安全上下文不同

semanage 命令
管理SElinux的策略,semanage [选项][文件]
-l 查询
-a 添加
-m 修改
-d 删除


semanage fcontext -a -t httpd_sys_content_t /home/wwwroot   

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*

restorecon -Rv /home/wwwroot/     //让设置立即生效

10.4个人用户主页功能

第1步:编写配置文件,开启个人主页功能

vim /etc/httpd/conf.d/userdir.conf

17  #Userdir disabled   //注释该行
24    UserDir public_html     //该行的注释取消

第2步:在用户家目录建立保存网站数据的文件

su - zhangsan   //切换到普通用户
mkdir public_html
echo "hahaha" > /public_html/index.html
chmod -Rf 755 /home/zhangsan

第3步:重启,访问(网址/~用户名),此时会有报错,SElinux权限不足的原因

第4步:设置SElinux

getsebool -a | grep http  //查看所有与http有关的协议
    httpd_enable_homedirs --> off    //此状态为off,所以第3步报错
setsebool -P httpd_enable_homedirs=on   //开启

设置访问密码
第1步:生成密码库,-c表示第一次生成
htpasswd -c /etc/httpd/passwd zhangsan

第2步:编辑配置文件,添加31-37内容

vim /etc/httpd/conf.d/userdir.conf

 31 <Directory "/home/*/public_html"> 
 32 AllowOverride all
 33 authuserfile /etc/httpd/passwd 
 34 authname aabbdddkkkk
 35 authtype basic
 36 require user linuxprobe
 37 </Directory>

10.5虚拟主机功能

  • 10.5.1基于IP地址
    配置三个个不同IP地址并保证网络连通性,例如:
    192.168.10.10
    192.168.10.20
    192.168.10.30

    第1步:建立网站保存目录,分别写入内容

    mkdir -p /home/wwwroot/10
    mkdir -p /home/wwwroot/20
    mkdir -p /home/wwwroot/30
    echo "IP:192.168.10.10" > /home/wwwroot/10/index.html
    echo "IP:192.168.10.20" > /home/wwwroot/20/index.html
    echo "IP:192.168.10.30" > /home/wwwroot/30/index.html
    

    第2步:编写配置文件,追加以下内容

    vim /etc/httpd/conf/httpd.conf
    132 <VirtualHost 192.168.10.10>
    133     DocumentRoot /home/wwwroot/10
    134     ServerName www.linuxprobe.com
    135     <Directory /home/wwwroot/10>
    136     AllowOverride None
    137     Require all granted
    138     </Directory>
    139 </VirtualHost>
    
    140 <VirtualHost 192.168.10.20>
    141     DocumentRoot /home/wwwroot/20
    142     ServerName www.linuxcool.com
    143     <Directory /home/wwwroot/20>
    144     AllowOverride None
    145     Require all granted
    146     </Directory>
    147 </VirtualHost>
    
    148 <VirtualHost 192.168.10.30>
    149     DocumentRoot /home/wwwroot/30
    150     ServerName www.linuxdown.com
    151     <Directory /home/wwwroot/30>
    152     AllowOverride None
    153     Require all granted
    154     </Directory>
    155 </VirtualHost>
    

    第3步:设置SElinux

    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10/*
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20/*
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30/*
    restorecon -Rv /home/wwwroot
    
  • 10.5.2基于主机域名
    第1步:编写配置文件

    vim /etc/hosts
    192.168.10.10 www.linux.com bbs.linux.com
    编写完成,保存退出,ping一下验证
    ping -c 4 www.linux.com
    

    第2步:创建保存目录,写入内容

    mkdir -p /home/wwwroot/linux1
    mkdir -p /home/wwwroot/linux2
    echo "linux1" > /home/wwwroot/linux1/index.html
    echo "linux2" > /home/wwwroot/linux2/index.html
    

    第3步:编写httpd配置文件,追加以下内容

    vim /etc/httpd/conf/httpd.conf
    132 <VirtualHost 192.168.10.10>
    133     Documentroot /home/wwwroot/linux1
    134     ServerName www.linux.com
    135     <Directory /home/wwwroot/linux2>
    136     AllowOverride None
    137     Require all granted
    138     </Directory>
    139 </VirtualHost>
    
    140 <VirtualHost 192.168.10.10>
    141     Documentroot /home/wwwroot/linux2
    142     ServerName bbs.linux.com
    143     <Directory /home/wwwroot/linux2>
    144     AllowOverride None
    145     Require all granted
    146     </Directory>
    147 </VirtualHost>
    

    第4步:设置SElinux

    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/linux1
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/linux1/*
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/linux2
    semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/linux2/*
    restorecon -Rv /home/wwwroot
    

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值