Изменил каталог LAMP WWW на Dropbox, теперь получаю 403 Forbidden
Я хочу использовать мой каталог Dropbox/Web в качестве каталога сервера для LAMP. Я cahnged /etc/apache2/sites-available/default
DocumentRoot /home/me/Dropbox/Web #changed from /etc/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/me/Dropbox/Web/> #changed from /etc/www
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
И теперь я получаю
Forbidden
You don't have permission to access / on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80
2 ответа
www-data
группе / пользователю, которой управляет Apache, запрещено читать в вашем домашнем каталоге.
Вы можете использовать обычные разрешения, чтобы изменить это, как объясняет gertvdijk в своем ответе.
Я хотел бы рассмотреть возможность использования acl
вместо обычных разрешений, позволяя добавить разрешение apache вместо замены группы в домашнем каталоге или сделать мир каталога доступным для чтения.
Для этого вам нужно установить acl:
sudo apt-get install acl
Ты можешь использовать man setfacl
иметь больше информации.
Чтобы добавить разрешения для Apache:
sudo setfacl -m d:g:www-data:X,g:www-data:X /home/me
sudo setfacl -m d:g:www-data:X,g:www-data:X /home/me/Dropbox
sudo setfacl -Rm d:g:www-data:rX,g:www-data:rX /home/me/Dropbox/Web
1-я и 2-я команды позволят Apache (www-data) изменять каталог только по пути (не допуская других подкаталогов) в вашем доме. Они, вероятно, не нужны, если вы используете конфигурацию по умолчанию, но если вы уже изменили разрешения (или изменится в будущем), чтобы отключить other users
читать в вашем доме, они нужны.
Третья команда - это команда, которая позволит Apache читать и изменять каталоги в Dropbox/web и подкаталогах).
Obs: прописные буквы X
будет действовать только на каталоги вместо строчных x
это действует как на файлы, так и на каталоги (таким образом, пользователь apache может изменять только каталоги, а не выполнять файлы).
Apache, вероятно, не может читать из вашего каталога Dropbox. В Ubuntu Apache настроен для работы от имени пользователя www-data
, Убедитесь, что вы установили разрешения для своей файловой системы, чтобы Apache мог читать весь путь.
Чтобы проверить, действительно ли это ваша проблема, попробуйте в терминале
sudo su -l www-data -s /bin/bash
а потом cd
шаг за шагом к вашей папке Dropbox:
cd /home
cd me
cd Dropbox
cd Web
Исправьте разрешения, например
chmod o+rx
по каталогам иchmod o+r
на файлы, или- изменить группы на файлы / каталоги
chgrp www-data
и разрешить толькоwww-data
группа для чтения / доступа:chmod g+r
для файлов иchmod g+rx
для каталогов.