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

Как правильно настроить корневой каталог документов Apache с точки зрения прав?

Я только что установил серверную версию Ubuntu 9.10 на свой компьютер и хочу запустить свой личный локальный сервер с другими пользователями в той же локальной сети.

Во-первых, мне было интересно, какая структура каталогов папок лучше всего подходит для корневого веб-сайта?

Должен ли я просто использовать:

/var/www/ 

и начать перебрасывать туда веб-документы или мне следует создать папку в другом месте (может быть, в домашнем каталоге)?

Во-вторых, в

/var/www/

каталог только пользователь root может создавать там документы, однако я хочу, чтобы другие пользователи могли создавать файлы в корневом каталоге документов и загружать их через FTP. Следует ли мне изменить разрешения или www/ папка? Или, опять же, я должен создать корень документа в другом месте с другими разрешениями? Как это сделать наиболее безопасно?

Я не согласен с Warner здесь, потому что не замужем использование сайта /var/www, но для чего-то более сложного я создаю подкаталоги в /srv/www

Из вашего вопроса приблизительное руководство:

  1. aptitude install apache2
  2. chmod g+w /var/www
  3. adduser USER www-data (Для каждого пользователя)

Затем попросите пользователей использовать SCP (пожалуйста, не используйте FTP) для загрузки файлов. Если им нужен клиент с графическим интерфейсом, посмотрите FileZilla.

Обычно для серверов, обслуживающих только несколько крупных сайтов, выделенных для выполнения определенных ролей, например, в профессиональной ИТ-среде, они должны содержаться внутри /var/www.

Я бы создал подкаталоги для каждого отдельного сайта. Например:

/var/www/example.com
/var/www/testing.com
/var/www/anotherexample.com

То, что вы описываете, больше похоже на среду виртуального хостинга. При использовании общего сервера я обычно настраиваю веб-сайты каждого пользователя в их домашних каталогах в public_html. Если бы у них было несколько доменов, я бы следовал тому же соглашению, что и выше, но в пределах этого каталога. Я бы также отделил ErrorLog и CustomLog в своем домашнем каталоге, но за пределами веб-дерева.

SuExec и и mod_suphp также будет рекомендовано предотвратить раскрытие данных пользователей другим пользователям системы и ограничить область уязвимости веб-сайтов любых пользователей.

Если у пользователей не было доменов, вы могли использовать субдомены в основном домене или mod_userdir.

Если вы не хотите использовать более организованный подход, я бы предложил использовать подкаталоги, группы и бит SGID в / var / www. Тем не менее, это не был бы идеальным подходом почти во всех ситуациях.