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

Я настраивал пользовательские директории несколько раз, и, тем не менее, я все еще всегда забывал об этом, пока не вырвал большинство своих волос. На этот раз мне понадобилось всего два часа, чтобы запомнить это!

Другие вопросы по тегам