Установка веб-сервера Apache на Ubuntu Server 18.04

В этой статье мы пошагово рассмотрим установку веб-сервера Apache на Ubuntu Server 18.04. Научимся управлять его процессами. Настроим фаервол UFW для Apache, проверим работу веб-сервера, разберемся с основными директориямилогами и посмотрим часто используемые команды.

Шаг 1. - Подготовка

На этапе подготовки мы убеждаемся что у нас есть всё необходимое для выполнения дальнейшей инструкции:

Посмотрим свой IP-адрес, командой ifconfig.(Рис.1)

ifconfig
Командой ifconfig узнаём IP-адрес нашего сервера.
Рис.1 - Командой ifconfig узнаём IP-адрес нашего сервера.

Адрес моего сервера - 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
Устанавливаем веб-сервер Apache на Ubuntu 18.04.
Рис.2 - Устанавливаем веб-сервер Apache на Ubuntu 18.04.

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

sudo service apache2 status
Смотрим статус веб-сервера Apache.
Рис.3 - Смотрим статус веб-сервера Apache.

Как видим 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.
Рис. 4 - Смотрим версию веб-сервера Apache.

Если у вас 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
Просматриваем профили приложений UFW.
Рис.5 - Просматриваем профили приложений UFW.

Видим три профиля 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'
Применяем профиль Apache в файволе UFW.
Рис.6 - Применяем профиль Apache в файволе UFW.

Правило применилось! 


Шаг 4. - Проверка Apache

На этапе Шаг 1. - Подготовка мы выяснили IP-адрес сервера, Я с другого компьютера, который находится в той же локальной сети, что и сервер, ввожу его в браузере.(Рис.7)

Для тех кто в танке... Если у вас, допустим, Ubuntu Desktop 18.04 и нету возможности подключиться с другого ПК, то вводите на своей же Ubuntu в браузере - localhost или IP-адрес - 127.0.0.1 © Шаг 1. - Подготовка

Если вы тоже увидели страницу "Apache2 Ubuntu Default Page", значит вы всё сделали правильно! Веб-сервер работает! 

Вводим IP-адрес сервера в браузере. Apache2 Ubuntu Default Page
Рис.7 - Вводим IP-адрес сервера в браузере. 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

/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

Читаем журнал всех запросов к Apacheaccess.log

sudo tail -10 /var/log/apache2/access.log

Читаем  журнал всех ошибок Apache - error.log

sudo tail -10 /var/log/apache2/error.log

У меня всё!

Поделиться публикацией

Была ли вам полезна статья? Есть возможность поддержать проект.

Комментарии

avatar
  Подписаться на комментарии  
Уведомление о