Назад | Перейти на главную страницу

Создание public_html для пользователя на сервере Red Hat Linux

Я просто пытаюсь создать папку public_html под своим именем пользователя на Red Hat Linux Server (и все это было немного головной болью).

Я создал папку и установил разрешения на 755.
Я не был уверен, что делать с Apache (и, по общему признанию, найти файл httpd.conf было кошмаром из-за нетрадиционной компоновки каталогов), но теперь я нашел его и не уверен, что делать.

Я видел этот вопрос; Настройка индивидуально доступного public_html для каждого пользователя Linux-машины, но я не понимаю ответа. Как я могу использовать mod_userdir (я новичок во всем этом).

Я смотрел на это;
http://httpd.apache.org/docs/2.0/mod/mod_userdir.html

Могу ли я добавить что-нибудь в файл httpd..conf?

Я попытался добавить «UserDir enabled username» вверху и перезапустить Apache, но все равно не могу найти страницу по адресу;
domain.com/~username/

В чем может быть проблема?
Я неправильно использую mod_userdir? (Я даже не знаю, КАК его использовать)

Спасибо!

Какая версия RedHat у вас установлена? В RedHat 6.x это довольно просто:

1) допустим, у меня есть пользователь ec2-user создан с домашним каталогом /home/ec2-user

2) создать каталог /home/ec2-user/public_html и убедитесь, что каталог /home/ec2-user и /home/ec2-user/public_html установили разрешения не ниже 0711 (установленный бит исполняемого файла означает, что apache пользователь, под которым запущен веб-сервер apache2, будет иметь разрешение на вход в эти каталоги). Кроме того, любое содержимое этого каталога должно быть доступно для чтения apache пользователь.

3) enable (включить) UserDir модуль в конфигурации веб-сервера apache2, который доступен в файле /etc/httpd/conf/httpd.conf. Закомментируйте строку UserDir disabled и раскомментируйте строку UserDir public_html:

<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    #UserDir disabled

    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disabled" line above, and uncomment
    # the following line instead:
    #
    UserDir public_html

</IfModule>

4) протестируйте конфигурацию веб-сервера apache2 с помощью httpd -t, он должен вернуться Syntax OK иначе что-то пошло не так

5) перезапустите веб-сервер apache2 с помощью service httpd restart и, при желании, включите службу с помощью chkconfig httpd on при загрузке

6) наконец, если у вас включен selinux в enforcing режим - вы можете проверить это с помощью sestatus - вы должны запустить эту команду setsebool -P httpd_read_user_content=on разрешить веб-серверу apache2 читать пользовательский контент

7) проверьте это, например с сервера запустить w3m http://localhost/~ec2-user, если есть какие-либо ошибки, они должны быть записаны в файл журнала /var/log/httpd/error_log