"Каталог ../www-files закрыт для записи" (CentOS)

Аватар пользователя maxim_al maxim_al 9 сентября в 8:56

Кручу разные варианты по переносу веб сервера в гипервизор и вот решил попробовать сделать вариант друпала на CentOS.
Сделал как до это го делал на FreeBSD с учётом изменённых путей расположения сайтов. Пермишены все выданы (и согласно документации https://www.drupal.org/node/244924 и не согласно документации - полные 777)
Но почему-то друпал говорит
"../www-files закрыт для записи"
"../www-files/tmp закрыт для записи"
И владельцов всяко разно делал и все права перепроверял а результат тот же.
Дошло до чего.
Создал ещё один vhost - test.conf
Закачал в него дистриб Drupal 8.... иду на установку - и получаю

The translations directory is not writable.
The installer requires write permissions to sites/default/files/translations during the installation process.

Хорошо смотрим туда:

[root@www files]# ls -la
итого 0
drwxrwxrwx. 2 root root 6 сен 9 12:58 translations

Я так понимаю что какие-то иные ограничения срабатывают, но какие?

0 Thanks

Лучший ответ

Аватар пользователя maxim_al maxim_al 10 сентября в 3:01

В общем дело не в этом, - как я писал -R 777 ставил от корневой веб папки...

А ларчик открывался просто, это издержки малого знакомства с CentOS и не вникания в процедуру его установки...
SeLinux был включен.

Всем спасибо

Комментарии

Аватар пользователя maxim_al maxim_al 9 сентября в 12:03

а вот тут надо смотреть, но смогу только завтра, я уже дома...
А что с этой настройкой (я её не делал, - апач развернулся стандартно).

Аватар пользователя gun_dose gun_dose 9 сентября в 14:47

Можно в друпале по адресу /admin/reports/status/php найти open_basedir. Если там есть какое-то значение, то в настройках апача надо выставить его в none

Аватар пользователя maxim_al maxim_al 10 сентября в 1:16

Нет, дело не в этом, эта настройка не установлена. Ни в статусе не показывает ни в php.ini не определена.

Аватар пользователя sas@drupal.org sas@drupal.org 9 сентября в 11:01

The translations directory is not writable.

Владельца + группу , проверять от кого запускается сервер + проверять права на папку ...

Аватар пользователя maxim_al maxim_al 9 сентября в 12:01
<a href="mailto:sas@drupal.org">sas@drupal.org</a> wrote:

The translations directory is not writable.

Владельца + группу , проверять от кого запускается сервер + проверять права на папку ...

права в том числе выдаю 777 - ВСЕ имеют полные права (это для теста делал. А владельца даже с учётом 777 делал по разному. - Сервер запускается от имени apache, поэтому делал и его владельцем и не его. У меня стойкое впечатление сложилось, что накладываются какие то другие ограничения... может в *.conf тут что-то надо дописать, или в конфиге php...
Не пойму, на ровном месте какой то затык.
Последний раз ls снимал когда владельцы были root, но всё точно так же если ставлю apache...

Аватар пользователя Orion76 Orion76 9 сентября в 12:42

Такое может быть если для родительских папок "недоступной" папки для вэбсервера нет прав на "запуск"(x - execute).
В случае с папками, это право разрешает просмотр содержимого папок.

Аватар пользователя maxim_al maxim_al 10 сентября в 1:53

ну в общем нет, было там полный порядок, на всякий случай уже для проверки сделал (это не рабочая, тестовая виртуальная среда, потому можно для проверки):

[root@www sites]# chmod -R 777 /var
[root@www sites]# service httpd restart

пермишены от самого корня /var но всё без разницы...

Аватар пользователя maxim_al maxim_al 10 сентября в 1:48

работает под apache, как я писал уже.
Но это ничего не даёт - я пробовал по разному, в том числе:

[root@www sites]# chown -R apache:apache /var/www/html/sites
[root@www sites]# chmod -R 777 /var/www/html/sites
[root@www files]# ls -l
итого 0
drwxrwxrwx. 2 apache apache 6 сен 9 12:58 translations

[root@www files]# ps -aux | grep httpd
root 24239 0.0 0.4 564780 19296 ? Ss 09:24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 24240 0.1 0.9 570424 35940 ? S 09:24 0:01 /usr/sbin/httpd -DFOREGROUND
apache 24241 0.1 1.1 656332 44688 ? S 09:24 0:01 /usr/sbin/httpd -DFOREGROUND
apache 24242 0.0 0.5 569856 22060 ? S 09:24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 24244 0.0 0.8 572416 34900 ? S 09:24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 24248 0.0 0.7 570476 27264 ? S 09:25 0:00 /usr/sbin/httpd -DFOREGROUND
apache 24251 0.0 0.5 569856 22056 ? S 09:25 0:00 /usr/sbin/httpd -DFOREGROUND
apache 24252 0.0 0.8 569988 31968 ? S 09:25 0:00 /usr/sbin/httpd -DFOREGROUND
apache 24253 0.0 0.5 569856 22052 ? S 09:25 0:00 /usr/sbin/httpd -DFOREGROUND
apache 24254 0.0 0.5 569888 22284 ? S 09:25 0:00 /usr/sbin/httpd -DFOREGROUND
apache 24255 0.0 0.2 564916 10968 ? S 09:25 0:00 /usr/sbin/httpd -DFOREGROUND
root 24283 0.0 0.0 112732 988 pts/1 S+ 09:41 0:00 grep --color=auto httpd
[

А результат тот же самый.
Я понимаю что причина есть какая-то. Но владельцы и пермишены в ОС настроены...

Аватар пользователя Mnilionic Mnilionic 10 сентября в 1:54

Апач под каким пользователем работает? Ещё раз спрашиваю :)
ps auxwwww | grep apache

зы сорян, увидел

Аватар пользователя maxim_al maxim_al 10 сентября в 1:58
Mnilionic wrote:

зы сорян, увидел

Да тут да, странные установочные параметры по умолчанию в CentOS7, не трудно запутаться, к тому же сам Апач они не Апачем зовут а hhtpd...
И вот видимо где-то с этой осью и особенности. Порою в особенностях установки Друпала на CentOS7, может чего найду...

Аватар пользователя maxim_al maxim_al 10 сентября в 3:01

В общем дело не в этом, - как я писал -R 777 ставил от корневой веб папки...

А ларчик открывался просто, это издержки малого знакомства с CentOS и не вникания в процедуру его установки...
SeLinux был включен.

Всем спасибо

Аватар пользователя maxim_al maxim_al 10 сентября в 4:10

Сам запутался и людей буду путать... Изменяю свой пост.

Я не отключил Selinux, а перевёл его в режим логирования, для проверки, командой "setenforce 0", но как понял это строго не рекомендуется, такой режим работы (т.к. он фактически отключен), а потому полезу рыть мануалы на Selinux, т.к. пока его вообще не касался, посмотрю как настроить для апача/друпала.

PS в конфиге стоит enforcing потому и блокировало.