Подтвердить что ты не робот

Как создать общедоступную папку HTML в Ubuntu?

Простой вопрос, но по какой-то причине я не смог найти точный ответ на Google:

У меня есть новая установка Ubuntu на Slicehost и вы хотите сделать общедоступный каталог в моем домашнем каталоге для простого веб-сайта, содержащего кучу статических HTML файлов. Как мне это сделать? Это только вопрос ввода mkdir public_html и установки разрешений, или есть более чистый способ? (Я помню, в прошлом у меня были проблемы, когда каждый раз, когда я копировал файл в свой каталог public_html, мне пришлось бы вручную устанавливать его разрешения, что было довольно неприятно.)

4b9b3361

Ответ 1

Предполагая, что вы уже установили apache, выполните следующие действия:

sudo a2enmod userdir
sudo service apache2 reload

Первая команда включает в себя userdir apache mod, который делает именно то, что вы хотите. Вторая перезагружает конфигурации apache, чтобы начать использовать новую конфигурацию.

Чтобы установить apache2:

sudo apt-get install apache2

Конечно, вам также необходимо убедиться, что разрешения в вашей папке public_html позволяют пользователю www-data видеть файлы там - 755 обычно работает хорошо. Для этого:

mkdir ~/public_html
chmod -R 755 ~/public_html

Это будет рекурсивно (-R) проходить через ваш public_html и устанавливать разрешения для 755 (владелец rwx и обе группы и другие r-x, r-x).

Ответ 2

Другие ответы находятся на правильном пути с mod_userdir, но при использовании этого сайта ваш базовый URL-адрес http://www.yourdomain.com/~username/ - например, файл /home/username/public_html/index.html будет доступен как http://www.yourdomain.com/~username/index.html. Если вы хотите, чтобы ваши файлы были доступны в корне домена, например http://www.yourdomain.com/index.html, тогда вам нужно будет поместить директиву

DocumentRoot /home/username/public_html

в конфигурационном файле Apache.

Кстати, этот вопрос больше подходит для форумов Slicehost.

Ответ 3

Вам нужно использовать mod_userdir для Apache, иначе вам нужно установить символические ссылки из /var/www/ или где угодно.

Ваша проблема с разрешениями связана с тем, что у Apache нет доступа для чтения к вашим файлам. Вы должны разрешить доступ для чтения к www-data (или независимо от того, что пользователь задает, зависит от дистрибутива).