У меня есть сервер под управлением Debian, с установкой Apache 2.2.16, с PHP/MySQL, а теперь также с экземпляром Wordpress. Я играю с правами пользователя / группы в Debian, и я не могу заставить его работать так, как я хочу.

Я считаю, что Apache использует (только) пользователя www-data . Следующая настройка работает

/var/www# chown -R www-data:nogroup wordpress
/var/www# chmod -R 700 wordpress
/var/www# ls -l | grep wordpress
drwx------ 5 www-data nogroup  4096 Nov  1 09:30 wordpress

Следующее не работает.

/var/www# groupadd wordpress
/var/www# usermod -a -G wordpress www-data
/var/www# groups www-data
www-data : www-data wordpress
/var/www# chown -R nobody:wordpress wordpress
/var/www# chmod -R 770 wordpress
/var/www# ls -l | grep wordpress
drwxrwx--- 5 nobody wordpress  4096 Nov  1 09:30 wordpress

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

You don't have permission to access /wordpress/ on this server.

Вот мое понимание: папки принадлежат группе wordpress , и папки имеют все права (чтение, запись, исполнение), предоставленные группе-владельцу wordpress . Пользователь Apache www-data является членом группы wordpress , поэтому он должен иметь все права на папки.

Что я неправильно понял?

1 ответ1

1

Вы должны перезагрузить веб-сервер:

/etc/init.d/apache2 restart

В противном случае изменения группы не будут иметь никакого эффекта. Чтобы быстро проверить, к каким группам принадлежит ваш Apache, вы можете создать скрипт PHP, например:

<?php
echo exec('id');
?>

Сохраните его, например, в /var/www/test.php и посмотрите http://localhost/test.php . Если вы видите группу wordpress ваши настройки должны работать, и вы также сможете получить доступ к своему блогу WordPress.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .