Расширения Joomla, права доступа к файлам - PullRequest
2 голосов
/ 03 января 2012

У меня много проблем с установкой расширений в Joomla, после небольшого изучения я понимаю, что мне нужно изменить права доступа к файлам, я не знаю, как это сделать. В Joomla, Информация о системе, Разрешения для каталогов, все мои разрешения установлены как недоступные для записи, кроме «configuration.php». Я понятия не имею, как изменить это на Linux. Я использую Joomla 1.7.3 и Ubunutu 11.10. Кто-нибудь может подсказать, как изменить разрешения?

Ответы [ 2 ]

4 голосов
/ 05 января 2012

Скорее всего, ваша проблема скорее в СОБСТВЕННОСТИ, чем в РАЗРЕШЕНИИ.

Проблема в том, что есть два основных способа запустить PHP на веб-сервере.Один запускает PHP как часть Apache и имеет эти проблемы.Сложность заключается в том, что вы размещаете файлы как один пользователь, но веб-сервер Apache получает доступ к файлам как другой пользователь.В вашем случае Apache / PHP создал файл configuration.php, поэтому он является владельцем и может писать в него.Другие файлы были установлены вами, поэтому Apache / PHP не может их трогать.

Существует два возможных решения:

1) Измените владение файлами Joomla (рекурсивно) наПользователь, в котором Apache / PHP работает как.

chown -R user:group *

Где 'user' и 'group' должны быть заменены фактическим именем пользователя и именем группы, в котором работает Apache.Перед выполнением этой команды убедитесь, что вы находитесь в корневой папке своего веб-пространства.

2) Установите и настройте PHP для работы через CGI с помощью fast-cgi и SUExec.

Если вы используетеПервый вариант - все будет работать - но у вас возникнут трудности, если вы захотите редактировать какие-либо файлы вручную, например, файлы шаблонов и CSS.

Вариант 2 - большая работа для неопытного, но она устраняет эти трудности с разрешениямикак PHP будет обращаться к файлам, как вы.

1 голос
/ 03 января 2012

Есть ли у вас доступ к оболочке на компьютере, где находятся файлы Joomla, или он даже запущен на вашем рабочем столе?Тогда это будет так же просто, как запуск следующих двух команд в каталоге Joomla:

$ find . -type f -exec chmod 664 {} \;
$ find . -type d -exec chmod 775 {} \;

..., чтобы сделать все файлы и каталоги доступными для записи для пользователя, который владеет файлами и его группой (и читаемым длявсе пользователи);если вы не являетесь пользователем, владеющим этими файлами, вам придется выполнять команду от имени пользователя root или с правами root (например, добавляя к каждому из них sudo).

Если вы хотите разрешить только разрешения на записьпользователю (а не группе) используйте 644 и 755 вместо 664 и 775;если вы хотите, чтобы пользователь мог только читать и записывать их, используйте 600 и 700 соответственно;для получения более подробной информации прочтите руководство по chmod (введите man chmod в оболочке).

Также может быть проблема с владельцем файла (см. ответ Дина Маршалла ).

На самом деле, configuration.php должен не быть доступным для записи;если вы изменяете что-то в конфигурации из Joomla, это должно быть автоматически установлено только для чтения.

Если вы обнаружите, что по-прежнему не можете установить какое-либо расширение, вам, возможно, придется настроить Joomla для использования FTP длядоступ к файлу (который можно настроить в настройках Joomla).Это необходимо, если пользователь, выполняющий сценарии PHP, не имеет доступа для записи к файлам, а имеет только пользователя FTP (такая ситуация может возникнуть, например, в размещенных средах).

...