linux apache配置静态网址服务

    apache是配置静态网站服务。

1. 安装apache   yum install httpd  然后重启服务systemctl start httpd 设置开机有效 systemctl enable httpd

2. 在网址位置输入服务端192.168.10.10可打开红帽的测试网页,打开此网页说明两个问题:1. 服务配置成功了,可以运行;2. 对应保存网页数据目录下无网页资源或者无权限。

3. 默认网站数据路径/var/www/html,当前网站普通页面名称为index.html

4. 可以修改index.html的内容,显示在页面上。

5. 修改网站保存数据的目录为/home/lwyroot并自添加index.html文件。需要修改httpd服务程序的主配置文件:

# vim /etc/httpd/conf/httpd.conf

大概119行  DocumentRoot "/home/lwyroot"

大概124行  <Directory "/home/lwyroot">

6. 配置完新路径后,重启服务发现,页面没有按照预想的页面显示。这是因为SELinux权限的问题

7. 关闭SELinux安全子系统:setenforce 0 页面便可是正常显示。0表示关闭,1表示打开。

8. SELinux安全子系统是一个强制访问控制的安全子系统,目的是为了让各个服务进程都收到约束,使其仅获取到本该获取的资源。SELinux域和SELinux安全上下文是Linux系统的双保险。SELinux域可以确保服务程序做不了出格的事,而SeLinux安全上下文可以确保文件资源仅能被其所属的服务所访问。SELinux具有三种配置模式:

enforcing   强制启用安全策略模式,将拦截服务的不合法请求

permissive 遇到服务越权访问时,只发出告警而不强制拦截

disabled      对于服务越权行为不警告也不强制拦截

8.1 编辑模式:vim /etc/selinux/config

8.2. 查询模式 getenforce

一般情况下,我们最好打开SELinux安全策略,并且模式设置为enforcing

9. 设置SELinux安全上下文值。

9.1 首先查询一下不同路径的安全上下文值:ls -Zd /var/www/html 和 ls -Zd /home/lwyroot 其中-Z参数表示查询安全上下文,结果前者是httpd_sys_content_t后者是home_root_t

9.2 semanage命令用于管理SELinux的策略。常用参数-l表示查询;-a表示添加;-m表示修改;-d表示删除

    设置命令:semanage fcontext -a -t httpd_sys_content_t /home/lwyroot

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

     说明:fcontext表示是要修改安全上下文,-a表示修改,-t后面跟具体上下文值,最后的路径最后面不能加/

             9.3 设置完成后,恢复此服务(意义同重启服务):restorecon -Rv /home/lwyroot/

       此时,SELinux是开启的,且模式为enforcing,但是因为新路径被设置为默认路径的安全上下文值,所以配置生效。

10. 个人主页功能,每个用户因为访问的网站内容不同,服务器将本身资源切分为一小份一小份,每个用户都可以独立访问到某一份资源。

10.1 首先开启个人用户主页功能。vim /etc/httpd/conf.d/userdir.conf

#UserDir disabled

...

UserDir public_html    # public_html文件夹是各子用户固定名称文件夹

10.2 切换到其他用户登入,并在用户家目录中创建用于保存网站数据的目录及首页面文件,并修改权限。

su - linuxprobe

mkdir public_html

chmod -Rf 755 /home/linuxprobe

10.3 网址格式为: “网址/~用户名”

10.4 但是网页未显示,因为受限于SELinux域。使用getsebool查询与过滤所有与HTTP协议相关的安全策略。找到httpd_enable_homedirs值为off

10.5 使用setsebool命令来修改SELinux策略中各条规则的布尔值。setsebool -P httpd_enable_homedirs=on

11. 添加身份验证登录,httpasswd命令用来生成密码数据库。

11.1  htpasswd -c /etc/httpd/passwd linuxprobe;  -c表示第一次生成用户名密码,路径为密码存放数据库位置,linuxprobe为用户名,这个随便设置,与系统登入用户名没有关系。

11.2 修改个人主页功能配置文件,配置如下:

<Directory "/home/*/public_html">  # 这个是用户固定目录

AllowOverride all或者none

authuserfile "/etc/httpd/passwd"   # 刚刚生成出来的密码验证文件保存路径

authname "这里写用户登录时的提示信息"

authtype basic  # 表示是使用基本账号密码登录

require user linuxprobe  # 用户名

</Directory>

11.3 重启网站服务 systemctl restart httpd

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值