Содержание статьи:
В этой статье мы пошагово рассмотрим установку веб-сервера Apache на Ubuntu Server 18.04. Научимся управлять его процессами. Настроим фаервол UFW для Apache, проверим работу веб-сервера, разберемся с основными директориями, логами и посмотрим часто используемые команды.
Шаг 1. - Подготовка
На этапе подготовки мы убеждаемся что у нас есть всё необходимое для выполнения дальнейшей инструкции:
- Нам нужна установленная ОС Ubuntu Server 18.04 - Вам в помощь статья - Установка Ubuntu Server 18.04 LTS
- Ubuntu Server 18.04 должна иметь статический IP-адрес и доступ в интернет. - Настройка сети в Ubuntu Server 18.04 [Netplan]
- Необязательно, но желательно включить фаервол UFW - Первоначальная настройка Ubuntu Server 18.04
Посмотрим свой IP-адрес, командой ifconfig.(Рис.1)
ifconfig

Адрес моего сервера - 192.168.3.10, в этой статье я буду вводить его в браузере на другом ПК, для проверки работоспособности Apache. Вы должны будете ввести свой IP-адрес.
Если у вас, допустим, Ubuntu Desktop 18.04 и нету возможности подключиться с другого ПК, то вводите на своей же Ubuntu в браузере -"localhost" или IP-адрес - 127.0.0.1
Всё! На этом подготовка завершена.
Шаг 2. - Установка Apache
Первым делом обновляем список пакетов репозитория.
sudo apt update
Apache доступен в стандартном репозитории. Приступаем к установке.(Рис.2)
sudo apt -y install apache2

После установки сразу же посмотрим статус веб-сервера.(Рис.3)
sudo service apache2 status

Как видим Apache после установки сразу же сам запустился. [Об этом свидетельствует строчка - "Active: active (running)", также отсутствуют серьёзные ошибки.]
Apache добавлен в автозагрузку. [Это мы понимаем по слову "enabled;" В строке "Loaded: loaded (/lib/systemd/system/apache2.service; enabled;".]
Посмотреть версию установленного Apache можно с помощью команды apache2 -v.(Рис.4)
apache2 -v
Точная версия Apache - 2.4.29.

Если у вас Apache не запустился, запустите его командой:
sudo service apache2 start
Добавить Apache в автозагрузку, можно командой:
sudo systemctl enable apache2
Если вдруг он вам не нужен в автозагрузке, то удалить Apache из автозагрузки можно командой:
sudo systemctl disable apache2
Перезапустить Apache, без потери соединения, для того чтобы применились изменения сделанные в конфигурационных файлах.
sudo service apache2 reload
Шаг 3. - Настройка файрвола UFW
Для тех кто файрвол не включил и не собирается включать - Переходите к Шаг 4. - Проверка Apache
Напомню! Файрвол UFW мы включили в этой статье - Первоначальная настройка Ubuntu Server 18.04
Посмотрим профили приложений в фаерволе UFW.(Рис.5)
sudo ufw app list

Видим три профиля Apache:
- Apache - открывает стандартный 80 порт - http [ нешифрованный веб-трафик ]
- Apache Full - открывает два порта 80 - http [ нешифрованный веб-трафик ] и 443 - https [ TLS / SSL - зашифрованный веб-трафик ]
- Apache Secure - открывает только 443 порт - https [ TLS / SSL - зашифрованный веб-трафик ]
Для того чтобы применить какой-либо профиль можно воспользоваться командой - sudo ufw allow 'Имя_профиля'
Мы применим первый профиль - Apache.(Рис.6)
sudo ufw allow 'Apache'

Правило применилось!
Шаг 4. - Проверка Apache
На этапе Шаг 1. - Подготовка мы выяснили IP-адрес сервера, Я с другого компьютера, который находится в той же локальной сети, что и сервер, ввожу его в браузере.(Рис.7)
Для тех кто в танке... Если у вас, допустим, Ubuntu Desktop 18.04 и нету возможности подключиться с другого ПК, то вводите на своей же Ubuntu в браузере - localhost или IP-адрес - 127.0.0.1 © Шаг 1. - Подготовка
Если вы тоже увидели страницу "Apache2 Ubuntu Default Page", значит вы всё сделали правильно! Веб-сервер работает!

Каталоги и файлы конфигураций Apache
/var/www/ - Каталог хранит папки сайтов.
Изначально в нём содержится папка html, в которой лежит файл index.html [index.html - стартовая страница Apache, которую мы увидели на Шаг 4. - Проверка Apache]
Для примера покажем, как может выглядеть содержимое каталога "/var/www/" у более опытных пользователей:
- /var/www/
- /html
- index.html
- /itdeer.ru
- /files
- /img
- index.html
- /yandex.ru
- /search.yandex.ru
- index.html
- /photo.yandex.ru
- index.html
- /search.yandex.ru
- /html
/etc/apache2/ - Главный каталог веб-сервера Apache.
- /etc/apache2/apache2.conf - Главный конфигурационный файл Apache.
- /etc/apache2/ports.conf - В файле прописаны порты которые Apache будет слушать. [по умолчанию - веб-сервер слушает только 80 порт, но также может слушать 443, при включенном SSL модуле]
Хосты:
- /etc/apache2/sites-available/ - В директории хранятся файлы доступных виртуальных хостов.
- /etc/apache2/sites-enabled/ - В директории хранятся активированные виртуальные хосты.
Apache не использует файлы виртуальных хостов[sites-available], если они не активированы в директории "sites-enabled". Активация происходит путем создания ссылки в каталоге "sites-enabled", при помощи команды "a2ensite" или "a2ensite Имя_хоста"
Следующие две пары каталогов работают по принципу "sites-available - sites-enabled".
Конфигурации:
- /etc/apache2/conf-available/ и /etc/apache2/conf-enabled/ - Доступные и активные дополнительные части конфигурации, которых нет в виртуальном хосте. Файлы в директории "conf-available" можно включить командой - "a2enconf", а выключить командой - "a2disconf".
Модули (Моды):
- /etc/apache2/mods-available/ и /etc/apache2/mods-enabled/ - Доступные и активные модули. Файлы заканчивающиеся на ".load" содержат фрагменты для загрузки конкретных модулей. Файлы заканчивающиеся на ".conf" содержат конфигурацию этих модулей. Включить модуль можно командой - "a2enmod", выключить модуль можно командой - "a2dismod".
Логи веб-сервера Apache
Приведены команды для чтения логов с помощью "tail", "tail -10" - выводит последние 10 строк лога, можете подобрать цифру удобную вам.
/var/log/apache2/access.log - журнал всех запросов к серверу Apache.
sudo tail -10 /var/log/apache2/access.log
/var/log/apache2/error.log - журнал всех ошибок Apache. [Директива "LogLevel" в главном конфигурационном файле Apache - /etc/apache2/apache2.conf, отвечает за уровень логирования в файле error.log]
sudo tail -10 /var/log/apache2/error.log
Часто используемые команды
Запустить Apache:
sudo service apache2 start
Остановить Apache:
sudo service apache2 stop
Статус Apache:
sudo service apache2 status
Добавить Apache в автозагрузку:
sudo systemctl enable apache2
Удалить Apache из автозагрузки:
sudo systemctl disable apache2
Перезапустить Apache, без потери соединения, для того чтобы применились изменения сделанные в конфигурационных файлах.
sudo service apache2 reload
Проверка конфигурации Apache на ошибки [В ответ вы получите "сообщение об ошибке" или "Syntax OK" - отсутствие ошибок и синтаксисе]:
sudo apache2ctl configtest
Версия Apache:
apache2 -v
Читаем журнал всех запросов к Apache - access.log
sudo tail -10 /var/log/apache2/access.log
Читаем журнал всех ошибок Apache - error.log
sudo tail -10 /var/log/apache2/error.log
У меня всё!
Была ли вам полезна статья? Есть возможность поддержать проект.
Комментарии