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**, | ||
| + | |||
| + | ===== Установка ===== | ||
| + | |||
| + | Обновляем список пакетов: | ||
| + | < | ||
| + | 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' | ||
| + | Syntax OK | ||
| + | </ | ||
| + | |||
| + | Для исправления ошибки с кодом **AH00558**. В конфигурационный файл **/ | ||
| + | |||
| + | **ServerName 127.0.0.1** | ||
| + | |||
| + | Редактируем файл **/ | ||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | Сохраняем файл. | ||
| + | |||
| + | Перезапустите 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 / | ||
| + | </ | ||
| + | < | ||
| + | sudo mkdir / | ||
| + | </ | ||
| + | |||
| + | Загружаем файлы нашего сайта в директорию public_html: | ||
| + | |||
| + | Даём им права владельца **www-data**: | ||
| + | < | ||
| + | sudo chown -R www-data: | ||
| + | </ | ||
| + | |||
| + | ===== Включаем хост ===== | ||
| + | |||
| + | По умолчанию Apache содержит стандартный файл конфигурации 000-default.conf, | ||
| + | |||
| + | Сначала отключите стандартный файл конфигурации командой: | ||
| + | < | ||
| + | sudo a2dissite 000-default | ||
| + | </ | ||
| + | |||
| + | После чего создайте конфигурационный файл нового хоста: | ||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | Приведите его содержимое к следующему виду: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | ServerName mysite.ru | ||
| + | ServerAlias www.mysite.ru | ||
| + | ServerAdmin admin@localhost | ||
| + | |||
| + | DocumentRoot / | ||
| + | < | ||
| + | AllowOverride All | ||
| + | Require all granted | ||
| + | Redirect permanent / https:// | ||
| + | </ | ||
| + | |||
| + | ErrorLog / | ||
| + | CustomLog / | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Далее включите сайт следующей командой: | ||
| + | < | ||
| + | sudo a2ensite mysite | ||
| + | </ | ||
| + | |||
| + | И перезапустите Apache: | ||
| + | < | ||
| + | sudo systemctl restart apache2 | ||
| + | </ | ||
| + | |||
| + | На этом этапе настройка виртуального хоста завершена. | ||
| + | |||
| + | Для того, чтобы проверить корректность его работы, | ||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | Вносим в него любой HTML-код для проверки и сохраните документ: | ||
| + | |||
| + | Например: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <meta http-equiv=" | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Выключить сайт можно следующей командой: | ||
| + | < | ||
| + | sudo a2dissite mysite | ||
| + | </ | ||
| + | |||
| + | Перезапустите Apache: | ||
| + | < | ||
| + | sudo systemctl restart apache2 | ||
| + | </ | ||
