Содержание

Apache


Открываем терминал Ctrl+Alt+T, и пишем следующие команды:

Установка

Обновляем список пакетов:

sudo apt update

Устанавливаем Apache:

sudo apt install apache2

Добавляем Apache в автозагрузку:

sudo systemctl enable apache2

Запускаем Веб-сервер Apache:

sudo systemctl start apache2

Смотрим статус:

sudo systemctl status apache2

Разрешаем порты Http Https в UFW:

sudo ufw allow 80,443/tcp

Настройка

Проверяем синтаксис:

sudo apachectl configtest

Вывод в терминале:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fe80::b049:8eff:febe:8027%eth0. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Для исправления ошибки с кодом AH00558. В конфигурационный файл /etc/apache2/apache2.conf добавляем следующую строку:

ServerName 127.0.0.1

Редактируем файл /etc/apache2/apache2.conf:

sudo nano /etc/apache2/apache2.conf

Сохраняем файл.

Перезапустите Apache:

sudo systemctl restart apache2

Снова проверяем синтаксис:

sudo apachectl configtest

Вывод в терминале:

Syntax OK

Настройка хоста

Установите права доступа на директорию www:

sudo chmod -R 775 /var/www
sudo chown -R $USER:$USER /var/www

Добавляем нашего пользователя в группу www-data:

sudo usermod -aG www-data $USER

Добавляем пользователя www-data в группу нашего пользователя:

sudo usermod -aG $USER www-data

Создаём новую директорию сайта (в примере используется mysite, укажите вместо него удобное вам имя сайта / директории):

sudo mkdir /var/www/mysite
sudo mkdir /var/www/mysite/public_html

Загружаем файлы нашего сайта в директорию public_html:

Даём им права владельца www-data:

sudo chown -R www-data:www-data /var/www/mysite/public_html

Включаем хост

По умолчанию Apache содержит стандартный файл конфигурации 000-default.conf, который хранится в директории /etc/apache2/sites-available. Файлы новых виртуальных хостов будут храниться здесь же.

Сначала отключите стандартный файл конфигурации командой:

sudo a2dissite 000-default

После чего создайте конфигурационный файл нового хоста:

sudo nano /etc/apache2/sites-available/mysite.conf

Приведите его содержимое к следующему виду:

<VirtualHost *:80>
ServerName mysite.ru
ServerAlias www.mysite.ru
ServerAdmin admin@localhost
DocumentRoot /var/www/mysite/public_html
<Directory /var/www/mysite/public_html>
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/www/mysite/error.log
CustomLog /var/www/mysite/access.log combined
</VirtualHost>

Далее включите сайт следующей командой:

sudo a2ensite mysite

И перезапустите Apache:

sudo systemctl restart apache2

На этом этапе настройка виртуального хоста завершена.

Для того, чтобы проверить корректность его работы, создаём индексный файл сайта:

sudo nano /var/www/mysite/public_html/index.html

Вносим в него любой HTML-код для проверки и сохраните документ:

Например:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Удалось!</title>
</head>
<body>
<h1>Виртуальный хост работает!</h1>
</body>
</html>

Выключить сайт можно следующей командой:

sudo a2dissite mysite

Перезапустите Apache:

sudo systemctl restart apache2