Содержание
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
