Hubzilla не запускается: / store / [data] / smarty3 должен быть доступен для записи веб-сервером - PullRequest
0 голосов
/ 02 декабря 2018

Я следовал инструкциям по настройке 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

Что может быть не так?

PHP 7.2.12

1 Ответ

0 голосов
/ 03 декабря 2018

Это было из-за включения SELinux.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.

***** Плагин httpd_write_content (достоверность 92,2) предлагает***************

Если вы хотите разрешить httpd иметь доступ на запись в каталог smarty3 Затем вам нужно изменить метку на 'smarty3' Do
# semanage fcontext -a -t httpd_sys_rw_content_t 'smarty3'
# restorecon -v 'smarty3'

Необработанные сообщения аудита
type = AVC msg = аудит (1543792561.65: 60034): avc: запрещен {write} для pid = 21907 comm = "httpd" name ="smarty3" dev = "vda1" ino = 621797 scontext = system_u: system_r: httpd_t: s0 tcontext = неограниченный_u: object_r: httpd_sys_content_t: 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.

...