代码之家  ›  专栏  ›  技术社区  ›  Chloe

hubzilla无法启动:/store/[data]/smarty3必须可由Web服务器写入

  •  0
  • Chloe  · 技术社区  · 7 年前

    我按照手册的说明在这里设置了Hubzilla。

    https://project.hubzilla.org/help/en/admin/administrator_guide#Manual_Installation

    我执行了命令

    chmod -R 777 store
    

    但当我在浏览器中查看页面时,它仍然会给我这个错误。

    ERROR: folder /var/www/html//store/[data]/smarty3 must be writable by webserver.
    

    我试过 chown -R apache:apache store chmod o-w -R store 把它拧紧,但那不起作用,所以我就跑了。 chmod -R 777 store 再一次。这是权限。

    [root@fsphub html]# ls -ld store
    drwxrwxrwx. 3 apache apache 20 Dec  1 22:08 store
    
    [root@fsphub html]# ls -lR store
    store:
    total 0
    drwxrwxrwx. 3 apache apache 21 Dec  1 22:08 [data]
    
    store/[data]:
    total 0
    drwxrwxrwx. 2 apache apache 6 Dec  1 22:08 smarty3
    
    store/[data]/smarty3:
    total 0
    

    Apache的运行方式 apache .

    [root@fsphub html]# ps -ef | grep http
    root     16997     1  0 21:47 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache   16998 16997  0 21:47 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    

    可能有什么问题?

    PHP7.2.12

    1 回复  |  直到 7 年前
        1
  •  0
  •   Chloe    7 年前

    这是因为塞利努斯在工作。 https://wiki.centos.org/HowTos/SELinux

    # sestatus
    SELinux status:                 enabled
    Current mode:                   enforcing
    
    # sealert -a /var/log/audit/audit.log
    

    selinux正在阻止/usr/sbin/httpd对目录smarty3进行写访问。

    *****plugin httpd_write_content(92.2 confidence)建议****

    如果要允许httpd在smarty3目录上具有写访问权限 然后您需要更改“smarty3”上的标签 做
    # semanage fcontext -a -t httpd_sys_rw_content_t 'smarty3'
    # restorecon -v 'smarty3'

    原始审核消息
    type=avc msg=audit(1543792561.65:60034):avc:denied write for pid=21907 comm=“httpd”name=“smarty3”dev=“vda1”ino=621797 scontext=system_:system_:httpd_t:S0 tcontext=unconfined_:object_:httpd_sys_content_:S0 tclass=dir

    # ls -lZd store/\[data\]/smarty3/
    drwxrwxrwx. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 store/[data]/smarty3/
    

    所以我跑了

    # semanage fcontext -a -t httpd_sys_rw_content_t store/\[data\]/smarty3/
    # restorecon -v store/\[data\]/smarty3/
    

    但那不起作用,所以我用

    setenforce 0
    

    将模式更改为 permissive .