Инструменты пользователя

Инструменты сайта


linux:servers:apache

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

linux:servers:apache [2025/12/08 06:24] – создано Кириллlinux:servers:apache [2025/12/25 10:25] (текущий) Кирилл
Строка 1: Строка 1:
 +====== Apache ======
  
 +----
 +
 +Открываем терминал **Ctrl+Alt+T**, и пишем следующие команды:
 +
 +===== Установка =====
 +
 +Обновляем список пакетов:
 +<code>
 +sudo apt update
 +</code>
 +
 +Устанавливаем Apache:
 +<code>
 +sudo apt install apache2
 +</code>
 +
 +Добавляем Apache в автозагрузку:
 +<code>
 +sudo systemctl enable apache2
 +</code>
 +
 +Запускаем Веб-сервер Apache:
 +<code>
 +sudo systemctl start apache2
 +</code>
 +
 +Смотрим статус:
 +<code>
 +sudo systemctl status apache2
 +</code>
 +
 +Разрешаем порты Http Https в UFW:
 +<code>
 +sudo ufw allow 80,443/tcp
 +</code>
 +
 +===== Настройка =====
 +
 +Проверяем синтаксис:
 +<code>
 +sudo apachectl configtest
 +</code>
 +
 +Вывод в терминале:
 +<code>
 +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
 +</code>
 +
 +Для исправления ошибки с кодом **AH00558**. В конфигурационный файл **/etc/apache2/apache2.conf** добавляем следующую строку:
 +
 +**ServerName 127.0.0.1**
 +
 +Редактируем файл **/etc/apache2/apache2.conf**:
 +<code>
 +sudo nano /etc/apache2/apache2.conf
 +</code>
 +
 +Сохраняем файл.
 +
 +Перезапустите Apache:
 +<code>
 +sudo systemctl restart apache2
 +</code>
 +
 +Снова проверяем синтаксис:
 +<code>
 +sudo apachectl configtest
 +</code>
 +
 +Вывод в терминале:
 +<code>
 +Syntax OK
 +</code>
 +
 +===== Настройка хоста =====
 +
 +Установите права доступа на директорию **www**:
 +<code>
 +sudo chmod -R 775 /var/www
 +</code>
 +
 +<code>
 +sudo chown -R $USER:$USER /var/www
 +</code>
 +
 +Добавляем нашего пользователя в группу **www-data**:
 +<code>
 +sudo usermod -aG www-data $USER
 +</code>
 +
 +Добавляем пользователя **www-data** в группу нашего пользователя:
 +<code>
 +sudo usermod -aG $USER www-data
 +</code>
 +
 +Создаём новую директорию сайта (в примере используется mysite, укажите вместо него удобное вам имя сайта / директории):
 +<code>
 +sudo mkdir /var/www/mysite
 +</code>
 +<code>
 +sudo mkdir /var/www/mysite/public_html
 +</code>
 +
 +Загружаем файлы нашего сайта в директорию public_html:
 +
 +Даём им права владельца **www-data**:
 +<code>
 +sudo chown -R www-data:www-data /var/www/mysite/public_html
 +</code>
 +
 +===== Включаем хост =====
 +
 +По умолчанию Apache содержит стандартный файл конфигурации 000-default.conf, который хранится в директории /etc/apache2/sites-available. Файлы новых виртуальных хостов будут храниться здесь же.
 +
 +Сначала отключите стандартный файл конфигурации командой:
 +<code>
 +sudo a2dissite 000-default
 +</code>
 +
 +После чего создайте конфигурационный файл нового хоста:
 +<code>
 +sudo nano /etc/apache2/sites-available/mysite.conf
 +</code>
 +
 +Приведите его содержимое к следующему виду:
 +
 +<code>
 +<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
 +Redirect permanent / https://mysite.ru/
 +</Directory>
 +
 +ErrorLog /var/www/mysite/error.log
 +CustomLog /var/www/mysite/access.log combined
 +</VirtualHost>
 +</code>
 +
 +Далее включите сайт следующей командой:
 +<code>
 +sudo a2ensite mysite
 +</code>
 +
 +И перезапустите Apache:
 +<code>
 +sudo systemctl restart apache2
 +</code>
 +
 +На этом этапе настройка виртуального хоста завершена.
 +
 +Для того, чтобы проверить корректность его работы, создаём индексный файл сайта:
 +<code>
 +sudo nano /var/www/mysite/public_html/index.html
 +</code>
 +
 +Вносим в него любой HTML-код для проверки и сохраните документ:
 +
 +Например:
 +
 +<code>
 +<html>
 +<head>
 +<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 +<title>Удалось!</title>
 +</head>
 +<body>
 +<h1>Виртуальный хост работает!</h1>
 +</body>
 +</html>
 +</code>
 +
 +Выключить сайт можно следующей командой:
 +<code>
 +sudo a2dissite mysite
 +</code>
 +
 +Перезапустите Apache: 
 +<code>
 +sudo systemctl restart apache2
 +</code>