Установка веб-сервера предельно проста: sudo apt install apache2 При наборе IP сервера видим стандартную заглушку. {{https://i.imgur.com/c01brV3.png?direct&128x200}} Вопрос, который следует решить, это права доступа к файлам и папкам сайта. По умолчанию их владельцем должен являться веб-сервер (пользователь и группа www-data), в противном случае скрипты могут работать неожиданным образом или не работать вообще. Более удобно и безопасно запускать содержимое сайтов от имени пользователя, а не веб-сервера. Для этого установим следующий пакет (не проверял): sudo apt install apache2-mpm-itk Настройки сервера содержатся в **/etc/apache2/apache2.conf**, к которому подключаются дополнительные файлы из директорий **mods-enabled** и **sites-enabled**. Каталоги **mods-enabled** и **sites-enabled** не содержат файлов конфигурации, а только символические ссылки на директории **mods-available** и **sites-available**, где следует располагать сами файлы. Если мы заглянем в папку **sites-enabled**, то увидим там уже готовую конфигурацию для сайта по умолчанию, т.е. того, что будет показано при наборе IP-адреса сервера. Данная настройка указывает на папку **/var/www/html**, где расположена страница заглушка. Можно просто заменить эту заглушку своим файлом. А можно к примеру задать другое расположение. К примеру мы хотим разместить на нашем сервере содержимое сайта example.com, сначала создадим необходимые директории и сделаем их владельцем пользователя, который будет работать с сайтом: mkdir /var/www/example.com chown andrey:andrey /var/www/example.com Создадим файл touch /etc/apache2/sites-available/example.com.conf Заполним его к примеру редактором **nano** ServerName example.com ServerAdmin mail@example.com ServerAlias www.example.com DocumentRoot /var/www/example.com CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined ErrorLog ${APACHE_LOG_DIR}/example.com.error.log AssignUserID andrey andrey Options -Includes -Indexes -ExecCGI AllowOverride All * **ServerName** - имя виртуального хоста, должен иметь значение полного доменного имени (FQDN), в нашем случае example.com, определяет, какое доменное имя обслуживает данный виртуальный хост. * **ServerAdmin** - контактный адрес электронной почты администратора домена, включается в сообщения об ошибках веб-сервера, рекомендуется завести для этих целей отдельный ящик. * **ServerAlias** - алиас имени хоста, обязательно значение [[http://www.example.com|www.example.com]], чтобы ваш сайт работал как с www, так и без. * **DocumentRoot** - корневая папка виртуального хоста, указываем директорию размещения сайта, т.е. **/var/www/example.com** * **CustomLog** - имя и расположение лога доступа, переменная **${APACHE_LOG_DIR}** указывает на стандартную директорию логов веб-сервера, это позволяет использовать стандартный механизм ротации логов для всех сайтов, в имени лога рекомендуем указывать имя хоста, чтобы сразу было понятно где какой лог. Не забудьте в конце опцию **combined**, данная опция указывает формат лога и задается в **apache2.conf**. * **ErrorLog** - имя и расположение лога ошибок, полностью аналогичен логу доступа, но не требуется указывать формат лога. * **AssignUserID** - имя и группа пользователя (через пробел) от имени которых будет работать данный виртуальный хост, задается только если установлен **apache2-mpm-itk**, ====== в противном случае эта директива не нужна ======. (не проверял) Чтобы включить сайт необходимо сделать символьную ссылку на файл конфигурации в каталоге **sites-enabled**, а, чтобы выключить - удалить эту ссылку. Это можно сделать вручную, при помощи команды ''ln -s'', или использовать специальную утилиту ''apache'': a2ensite example.com Для выключения соответственно a2dissite example.com Перезапустим сервер /etc/init.d/apache2 restart Теперь создадим наш индекс **/var/www/examlpe.com/index.html** с содержимым

OK!

{{https://i.imgur.com/HIJw7i7.png?nolink&341x210}}