403 Запрещенное предупреждение после установки / включения usermod
Я бы хотел, чтобы на моей рабочей станции Linux Mint были пользовательские веб-каталоги, аналогичные тем, которые были у меня в OS X. Для этого я создал каталог public_html в ~/. и chmod'd его до 755 и установил мод userdir:
sudo a2enmod userdir
sudo /etc/init.d/apache2 restart
Из того, что я понимаю, как работает usermod, не должно быть необходимости создавать конфиги vhost вручную, но даже в этом случае я получаю это, когда пытаюсь получить доступ к http://127.0.0.1/~myusername:
запрещено
У вас нет прав доступа к /~dxh на этом сервере.
Сервер Apache/2.2.22 (Ubuntu) на локальном хосте, порт 80
Я пропускаю какой-то загадочный дополнительный шаг?
2 ответа
Я бы проверил несколько вещей.
Права доступа к каталогу: Если ваш домашний каталог - /home/dxh/, и вы только что создали /home/dxh/ public_html / для хранения своего веб-содержимого, убедитесь, что каталоги родительского уровня разрешают доступ:
ls -ld /home
ls -ld /home/dxh
ls -ld /home/dxh/public_html
Разрешения должны быть не менее 711 для каждого из этих каталогов. Это означает, что вывод команды 'ls' выше должен выглядеть следующим образом:
drwx--x--x 33 dxm dxm 4096 2013-01-18 16:51 /home/dxm
или же
drwxr-xr-x 33 dxm dxm 4096 2013-01-18 16:51 /home/dxm/public_html
Указатель Страницы / Указатели
Затем Apache может выдать ошибку 403, если у вас нет файла index в папке public_html И индексы не включены.
Решение 1. Создайте файл index.html.
echo "index.html works" >> /home/dxm/public_html/index.html
echo "index.htm works" >> /home/dxm/public_html/index.htm
Решение 2: включить индексы в вашем файле.htaccess
echo 'Options +Indexes' >> /home/dxm/public_html/.htaccess
Примечание. При включении индексов будет отображаться все содержимое вашей папки public_html. Если у вас есть чувствительные вещи, не включайте их.
В противном случае проверьте ваши логи apache. Бежать
tail -f /var/log/apache2/error.log
а затем нажмите на страницу несколько раз, чтобы увидеть, какая ошибка выскакивает.
В системах, которые реализуют selinux, вам также необходимо выполнить следующую команду:
setsebool -P httpd_enable_homedirs true
Я настраивал пользовательские директории несколько раз, и, тем не менее, я все еще всегда забывал об этом, пока не вырвал большинство своих волос. На этот раз мне понадобилось всего два часа, чтобы запомнить это!