Я только что установил серверную версию Ubuntu 9.10 на свой компьютер и хочу запустить свой личный локальный сервер с другими пользователями в той же локальной сети.
Во-первых, мне было интересно, какая структура каталогов папок лучше всего подходит для корневого веб-сайта?
Должен ли я просто использовать:
/var/www/
и начать перебрасывать туда веб-документы или мне следует создать папку в другом месте (может быть, в домашнем каталоге)?
Во-вторых, в
/var/www/
каталог только пользователь root может создавать там документы, однако я хочу, чтобы другие пользователи могли создавать файлы в корневом каталоге документов и загружать их через FTP. Следует ли мне изменить разрешения или www/
папка? Или, опять же, я должен создать корень документа в другом месте с другими разрешениями? Как это сделать наиболее безопасно?
Я не согласен с Warner здесь, потому что не замужем использование сайта /var/www
, но для чего-то более сложного я создаю подкаталоги в /srv/www
Из вашего вопроса приблизительное руководство:
aptitude install apache2
chmod g+w /var/www
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. Тем не менее, это не был бы идеальным подходом почти во всех ситуациях.