Рекомендации по веб-серверу: структура и безопасность каталогов

Я хотел бы использовать сервер Ubuntu в качестве веб-сервера, но я хочу убедиться, что я следую рекомендациям по настройке. Я хочу, чтобы я установил каталог в лучшем месте и понял, как настроить соответствующую безопасность в этой папке. Я хотел бы иметь возможность FTP на сервер и вставлять файлы в веб-папки, поэтому я хотел бы подсмотреть, как обеспечить, чтобы мой пользователь PureFTPd мог управлять файлами / каталогами в веб-папках.

То, что я сделал на своем сервере, чтобы мой пользователь мог подключать вещи прямо в /var/www :

 sudo chgrp -R www-data /var/www sudo usermod -aG www-data $(whoami) sudo chmod -R 775 /var/www/* sudo chmod 2775 /var/www 

Это приведет к тому, что ваш пользователь войдет в группу, у которой есть групповое право собственности на / var / www и все его дочерние каталоги, установите все в / var / www рекурсивно, чтобы разрешить доступ к записи в группе, и установите бит setgid в каталоге / var / www так что все файлы, созданные позже в / var / www, поддерживают одно и то же групповое владение, а не группу, установленную в основной группе создателя.

Это очень общий вопрос.

Очевидно, что вы не хотите запускать свой веб-сервер под именем root. Однако установка Ubuntu уже делает это правильно.

Кроме того, на веб-сайте apache приведены некоторые советы по правильной настройке вашего каталога .

Что касается ftp. Вы хотите убедиться, что используете безопасный ftp-сервер, который не отправляет ваши имена пользователей и пароли в текстовом виде по сети. На страницах справки Ubuntu есть руководство по настройке такого ftp-сервера .

Когда у меня есть только сервер Ubuntu, с несколькими пользователями, использующими сервер в качестве веб-сервера, я отказываюсь от каталога /var/www потому что для меня – /var/www – это место, где вы размещаете веб-файлы по всему миру. Я обновляю /etc/skel и добавляю public и private папку с символикой www -> public и обновляю все мои виртуальные хосты DocumentRoots, чтобы указать на /home/<user>/public .

Я не вижу /var/www как место для размещения нескольких папок и файлов на уровне пользователя. Вот для чего предназначен каталог /home/ ! Он сохраняет пути и структуры каталогов чистыми.