zoukankan      html  css  js  c++  java
  • 修改网站默认目录

    要想将网站数据放在 /home/wwwroot目录下,该如何操作呢?

    1、编辑Apache服务程序的主配置文件:

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

     将DocumentRoot "/var/www" 参数改为 /home/wwwroot

    2、重启Apache服务:

      # systemctl restart httpd

      访问http://127.0.0.1

      如果出现的是默认页面,接下来访问http://127.0.0.1/index.html,出现这样的情况

      

    为什么访问行为会被禁止?这就要先了解下SElinux(强制访问控制安全子系统)

      SElinux属于MAC强制访问控制——即让系统中的各个服务进程都受到约束,即仅能访问所需要的文件。有三种模式

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

        模式二:permissive - 遇到服务越权访问只会发出警告而不强制拦截

        模式三:disabled - 对于越权的行为不警告,也不拦截

      有时关闭SElinux后确实能减少报错几率,但极其不推荐这么做,确保你的SElinux服务是默认启用的

      # vim /etc/selinux/config 

      如果发现SELINUX = permissive或者disabled 赶紧改成enforcing

      

      查看当前的SElinux服务状态:

      # getenforce

      

      刚刚浏览器里报错说,“禁止,你没有访问index.html文件的权限” ,那怎么开启SElinux的允许策略呢

      SElinux安全策略包括 域 和安全上下文

      SElinux域:对进程资源进行限制(查看方式:ps - Z)

      SElinux安全上下文:对系统资源进行限制(查看方式:ls - Z)

      查看新旧网站目录的安全上下文

      

      解决办法就是将 /home/wwwroot 安全上下文修改成system_u:object_r:httpd_sys_content_t:s0就可以啦!

      semanage命令用于查询与修改SElinux的安全上下文,格式为:semanage 【选项】【文件】

    参数 作用
    -l  查询
    -a 增加
    -m 修改
    -d 删除

      restorecon命令用于恢复SElinux文件安全上下文,格式为:restorecon【选项】【文件】

    参数           作用
    -i  忽略不存在的文件
    -e 排除目录
    -R 递归处理(针对目录使用)
    -v 显示详细过程
    -F 强制恢复

      修改网站数据目录的安全上下文:

      # semenage  fcontext  -a  -t  httpd_sys_content_t  /home/wwwroot

      # semenage  fcontext  -a  -t  httpd_sys_content_t  /home/wwwroot/*

      这样操作后查看SElinux安全上下文依然没有改变,不要着急,再执行restorecon命令:

      # restorecon -Rv  /home/wwwroot

    最后刷新浏览器就可以看到正常页面了。。。。

      如果提示semenage command not fund 那就是没安装这个包

      首先使用yum查找命令或文件对应的包名

      #   yum provides  /usr/sbin/semanage

      可以看到semanage命令在policycoreutils-python包里面

      

      安装:

      # yum  -y  install  policycoreutils-python

  • 相关阅读:
    信号量的实现
    锁的实现
    Do PDB Files Affect Performance?
    分布式系统一致性算法(Raft)
    idea开发工具破解地址
    IOS设备上传图片,使用ImageIO.write 图片翻转纠正(JAVA)
    使用WebSocket进行消息推送(附代码)
    SpringCloud构建微服务 | 服务注册与发现(一)提供Demo
    @slf4j注解找不到log变量-已解决
    springBoot事务无法回滚 MyISAM与InnoDB区别
  • 原文地址:https://www.cnblogs.com/godLike7/p/7412220.html
Copyright © 2011-2022 走看看