Tutorial
Установка веб-сервера Apache в Ubuntu 20.04 [Краткое руководство]
Введение
HTTP-сервер Apache — самый широко используемый веб-сервер в мире. Он имеет множество мощных функций, включая динамически загружаемые модули, надежную поддержку различных медиа-форматов и интеграцию с другим популярным программным обеспечением.
В этом обучающем руководстве мы расскажем, как установить веб-сервер Apache на сервере Ubuntu 20.04. Более подробную версию этого обучающего руководства можно найти в документе Установка веб-сервера Apache в Ubuntu 20.04.
Предварительные требования
Для прохождения этого обучающего модуля вам потребуется следующее:
- Один сервер Ubuntu 20.04 и обычный пользователь без прав root с привилегиями sudo. Также вам потребуется включить базовый брандмауэр, чтобы заблокировать все порты, кроме необходимых. Вы научитесь настраивать учетную запись обычного пользователя и брандмауэр для вашего сервера, следуя указаниям руководства Начальная настройка сервера Ubuntu 20.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
Outputapache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
Active: active (running) since Tue 2020-04-28 23:06:40 UTC; 56s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 13785 (apache2)
Tasks: 55 (limit: 1137)
Memory: 5.3M
CGroup: /system.slice/apache2.service
├─13785 /usr/sbin/apache2 -k start
├─13787 /usr/sbin/apache2 -k start
└─13788 /usr/sbin/apache2 -k start
Откройте страницу Apache по умолчанию, чтобы подтвердить работу программного обеспечения через ваш IP-адрес:
http://your_server_ip
Вы должны получить веб-страницу Ubuntu 20.04 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:
<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
Вставьте следующий блок конфигурации, обновленный с учетом новых имен каталога и домена:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
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://your_domain
, после чего должны получить примерно следующее:
Заключение
Теперь вы установили веб-сервер и у вас есть богатые возможности выбора типа обслуживаемого контента и технологий для расширения возможностей пользователя.
Если вы хотите развернуть более сложный набор обслуживания приложений, ознакомьтесь со статьей Настройка стека LAMP в Ubuntu 20.04.