Джумла не имеет прав на нужные ей папки

12
D
На сайте с 28.06.2008
Offline
1108
1965

Господа, у меня ВДС (Дебиан + ISP). На нем 8 сайтов, все на джумле (6 на Дж 1.5, и 2 на 1.0.15)

Вот с одним из тех что на Джумле 1.0.15 и наблюдаются проблемы.

Сайт работает нормально, но установить на него новые компоненты целая проблема, а часть полностью не работают. Захожу в его админку, далее Система/Информация о системе/Разрешения и вижу

Вот настройки для этого домена

При этом на этом же сервере, другой сайт на этой же версии Джумлы имеет все нужные права на запись в нужных системе папках.

Отличие только в этом, вот настройки того сайта

Т.е. проблемный сайт работает ПХП как модуль Апач, а тот что нормально как ФастСДЖИИ

Если я проблемный сайт включу как ФастСДЖИИ, то при попытке зайти в админку получаю ошибку

Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(../configuration.php) is not within the allowed path(s): (.) in /var/www/dram/data/www/сайт.ru/administrator/index2.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at /var/www/dram/data/www/сайт.ru/administrator/index2.php:17) in /var/www/dram/data/www/сайт.ru/administrator/index2.php on line 18

Вот и не могу понять, что же и где не так настроено. Не поможите?

bugsmoran
На сайте с 18.02.2010
Offline
223
#1

chown -R www-data:www-data /var/www/user_id/data/www/site.com/*

А лучше убрать конфиге Апача open_basedir_restriction, что позволит переключиться на FastCGI.

D
На сайте с 28.06.2008
Offline
1108
#2

Открыл конфиг апача и прописал для проблемного сайта все то же что стоит у его собрата с которым все нормально. Вот что именно

<Directory /var/www/dram/data/www/сайт.ru>

Options +ExecCGI
FCGIWrapper /var/www/dram/data/php-bin/php .php
FCGIWrapper /var/www/dram/data/php-bin/php .php3
FCGIWrapper /var/www/dram/data/php-bin/php .php4
FCGIWrapper /var/www/dram/data/php-bin/php .php5
FCGIWrapper /var/www/dram/data/php-bin/php .phtml
</Directory>

..................................

<VirtualHost --.---.---.233:8080>
ServerName сайт.ru
DocumentRoot /var/www/dram/data/www/сайт.ru
SuexecUserGroup dram dram
CustomLog /var/www/httpd-logs/сайт.ru.access.log combined
ErrorLog /var/www/httpd-logs/сайт.ru.error.log
ServerAlias www.сайт.ru
ServerAdmin *******@gmail.com
ScriptAlias /cgi-bin/ /var/www/dram/data/www/сайт.ru/cgi-bin/
AddHandler fcgid-script .php .php3 .php4 .php5 .phtml
</VirtualHost>

Перезапсутил апач, ошибка при заходе в админку проблемного сайта не пропала (хотя сам сайт работает нормально)

Поиск по open_basedir и basedir в конфиге ни к чему не привела (хотя раньше у проблемного сайта было прописано

<Directory /var/www/dram/data/www/сайт.ru>

Options +ExecCGI
php_admin_value open_basedir "/var/www/dram/data:."
</Directory>
Andreyka
На сайте с 19.02.2005
Offline
822
#3

Поставить права на файлы/диры 666/777, что несекурно

Или пропросить своего сисадмина заставить сервак пускать php от юзера

Не стоит плодить сущности без необходимости
D
На сайте с 28.06.2008
Offline
1108
#4
bugsmoran:
chown -R www-data:www-data /var/www/user_id/data/www/site.com/*


А лучше убрать конфиге Апача open_basedir_restriction, что позволит переключиться на FastCGI.

Выполнил эту команду....

Ошибка хоть и не пропала ну и фиг с ней. Главное цель достигнута. Если установить в настройках ПХП как модуль Апач теперь Джумла имеет нужные права. Спасибо!

bugsmoran
На сайте с 18.02.2010
Offline
223
#5
Andreyka:
Поставить права на файлы/диры 666/777, что несекурно
Или пропросить своего сисадмина заставить сервак пускать php от юзера

Убил бы за такие советы. Вы давно системным администрирование занимаетесь?

Себе 777 ставьте, а другим не советуйте, раз не понимаете, что это за собой влечет.

bugsmoran добавил 02.07.2010 в 15:33

Dram:
Выполнил эту команду....

Ошибка хоть и не пропала ну и фиг с ней. Главное цель достигнута. Если установить в настройках ПХП как модуль Апач теперь Джумла имеет нужные права. Спасибо!

Ну правильно, Вы теперь перевели на FastCGI сайт, писали Suexec от имени dram, а chown сделали на www-data.

Тогда уже делайте до конца:

chown -R dram:dram /var/www/dram/data/www/site.com/*

Чтобы Вы понимали, что происходит:

когда у Вас PHP работает как модуль Апача (mod_php), то он все сайты запускает от имени Апача (от пользователя www-data) и поэтому его хоть как-то ограничивают по хождению в файловой системе директивой open_basedir

Но когда Вы заставляете Апач не обрабатывать PHP, а отдавать его FastCGI-му процессу, то FastCGI-й процесс должен запустить этот скрипт от имени пользователя, указанного в директиве Suexec в виртхосте (в данном случае dram). А раз так, то и владельцем скрипта должен быть тот пользователь, который в Suexec. Тогда ему будут предоставлены права первого места из тройки XYZ (например если права 755, то он будет иметь 7, а не 5).

M
На сайте с 01.12.2009
Offline
235
#6
bugsmoran:
Убил бы за такие советы. Вы давно системным администрирование занимаетесь?
Себе 777 ставьте, а другим не советуйте, раз не понимаете, что это за собой влечет.

Он предупредил "что несекурно"

Администратор Linux,Freebsd. построения крупных проектов.
bugsmoran
На сайте с 18.02.2010
Offline
223
#7
madoff:
Он предупредил "что несекурно"

Тогда приношу извинения. Хотя не понимаю, зачем советовать как сделать так, что сайт и недели не протянет.

Alex91
На сайте с 30.12.2007
Offline
258
#8
bugsmoran:
bugsmoran
Тоже мне насоветовал!

статус в тему :)

C Уважением, Алексей
bugsmoran
На сайте с 18.02.2010
Offline
223
#9
Alex91:
статус в тему :)

Угу, после такого совета нужно сразу давать линк, как будет выглядеть внедренный в сайт C99Shell

Andreyka
На сайте с 19.02.2005
Offline
822
#10

mod_security и shell идет лесом

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий