Установка веб-сервера Apache в Ubuntu 18.04. [Краткое руководство.]

Введение

HTTP-сервер Apache — самый широко используемый веб-сервер в мире. Он имеет множество мощных функций, включая динамически загружаемые модули, надежную поддержку различных медиа-форматов и интеграцию с другим популярным программным обеспечением.

В этом обучающем модуле мы расскажем, как установить веб-сервер Apache на сервере Ubuntu 18.04. Более подробную версию этого обучающего модуля можно найти в документе Установка веб-сервера Apache в Ubuntu 18.04.

Предварительные требования

Для прохождения этого обучающего модуля вам потребуется следующее:

  • Один сервер Ubuntu 18.04 и обычный пользователь без прав root с привилегиями sudo. Также вам потребуется включить базовый брандмауэр, чтобы заблокировать все порты, кроме необходимых. Вы научитесь настраивать учетную запись обычного пользователя и брандмауэр для вашего сервера, следуя указаниям руководства Начальная настройка сервера Ubuntu 18.04.

Создав учетную запись, войдите в систему как пользователь без привилегий root.

Шаг 1 — Установка Apache

Apache доступен в используемых по умолчанию хранилищах программного обеспечения Ubuntu, и вы можете использовать для его установки стандартные средства управления пакетами.

Обновите локальный индекс пакетов:

  • sudo apt update

Установите пакет apache2:

  • sudo apt install apache2

Шаг 2 — Настройка брандмауэра

Проверьте доступные профили приложений ufw:

  • sudo ufw app list
OutputAvailable applications:   Apache   Apache Full   Apache Secure   OpenSSH 

Мы активируем профиль с наибольшими ограничениями, который будет разрешать заданный трафик, а именно трафик на порту 80 (обычный веб-трафик без шифрования):

  • sudo ufw allow 'Apache'

Проверьте изменения:

  • sudo ufw status
OutputStatus: active  To                         Action      From --                         ------      ---- OpenSSH                    ALLOW       Anywhere                   Apache                     ALLOW       Anywhere                   OpenSSH (v6)               ALLOW       Anywhere (v6)              Apache (v6)                ALLOW       Anywhere (v6) 

Шаг 3 — Проверка веб-сервера

Используйте команду systemd init system, чтобы проверить работу службы:

  • sudo systemctl status apache2
Output● apache2.service - The Apache HTTP Server    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)   Drop-In: /lib/systemd/system/apache2.service.d            └─apache2-systemd.conf    Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago  Main PID: 2583 (apache2)     Tasks: 55 (limit: 1153)    CGroup: /system.slice/apache2.service            ├─2583 /usr/sbin/apache2 -k start            ├─2585 /usr/sbin/apache2 -k start            └─2586 /usr/sbin/apache2 -k start 

Откройте страницу Apache по умолчанию, чтобы подтвердить работу программного обеспечения через ваш IP-адрес:

http://your_server_ip 

Вы увидите веб-страницу Ubuntu 18.04 Apache по умолчанию:

Страница Apache по умолчанию

Шаг 4 — Настройка виртуальных хостов (рекомендуется)

При использовании веб-сервера Apache вы можете использовать виртуальные хосты (аналогичные серверным блокам в Nginx) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. Мы создадим домен your_domain, но вы должны заменить это имя собственным доменным именем. Чтобы узнать больше о настройке доменного имени с помощью DigitalOcean, пройдите наш обучающий модуль Введение в DigitalOcean DNS.

Создайте каталог для your_domain:

sudo mkdir /var/www/your_domain 

Назначьте владельца каталога:

  • sudo chown -R $USER:$USER /var/www/your_domain

Разрешения корневых каталогов веб-сервера должны быть правильными, если вы не изменяли значение unmask. Тем не менее, вы можете проверить это с помощью следующей команды:

  • sudo chmod -R 755 /var/www/your_domain

Создайте в качестве примера страницу index.html, используя nano или свой любимый редактор:

  • nano /var/www/your_domain/index.html

Добавьте в страницу следующий образец кода HTML:

/var/www/your_domain/index.html

<html>     <head>         <title>Welcome to Your_domain!</title>     </head>     <body>         <h1>Success!  The your_domain virtual host is working!</h1>     </body> </html> 

Сохраните файл и закройте его после завершения.

Создайте новый файл виртуального хоста в /etc/apache2/sites-available/your_domain.conf:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

Вставьте следующий блок конфигурации, обновленный с учетом новых имен каталога и домена:

/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>     ServerAdmin [email protected]     ServerName your_domain     ServerAlias your_domain     DocumentRoot /var/www/your_domain     ErrorLog ${APACHE_LOG_DIR}/error.log     CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 

Сохраните файл и закройте его после завершения.

Активируйте файл с помощью команды a2ensite:

  • sudo a2ensite your_domain.conf

Отключите сайт по умолчанию, определеный в 000-default.conf:

  • sudo a2dissite 000-default.conf

Проверьте наличие ошибок конфигурации:

  • sudo apache2ctl configtest

Вы должны увидеть следующий результат:

OutputSyntax OK 

Перезапустие Apache для внесения изменений:

  • sudo systemctl restart apache2

Теперь Apache должен обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес http://example.com, после чего должны увидеть примерно следующее:

Пример виртуального хоста Apache

Заключение

Теперь вы установили веб-сервер и у вас есть богатые возможности выбора типа обслуживаемого контента и технологий для расширения возможностей пользователя.

Если вы хотите развернуть более сложный набор обслуживания приложений, ознакомьтесь с этой статьей о настройке набора LAMP в Ubuntu 18.04.