HTTP-сервер Apache – наиболее распространенный веб-сервер в интернете. Он предоставляет множество полезных функций, включая динамическую загрузку модулей, надежную поддержку мультимедиа и широкую интеграцию с другим популярным программным обеспечением.
В этом мануале вы узнаете, как установить веб-сервер Apache на ваш сервер Ubuntu 20.04.
Примечание: Расширенную версию мануала вы найдете здесь.
Требования
- Сервер Ubuntu 20.04.
- Пользователь с доступом к sudo (все действия руководства нужно выполнять в сессии этого пользователя).
- Базовый брандмауэр.
Все необходимые инструкции можно найти в мануале по начальной настройке сервера.
Настроив свой сервер, войдите в сессию пользователя с доступом к sudo, чтобы начать работу.
1: Установка Apache
Пакет Apache есть в стандартном репозитории Ubuntu, потому его можно установить с помощью стандартного пакетного менеджера.
Обновите локальный индекс пакетов:
sudo apt update
А затем установите пакет apache2:
sudo apt install apache2
2: Настройка брандмауэра
Во время установки Apache регистрирует в UFW несколько своих профилей, которые упрощают процесс настройки портов веб-сервера. Чтобы просмотреть профили приложений ufw, введите:
sudo ufw app list
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Рекомендуется включить наиболее строгий профиль, который при этом позволит поддерживать текущий трафик. Поскольку мы еще не настроили SSL-сертификат, нам нужно разрешить трафик по порту 80:
sudo ufw allow 'Apache'
Проверьте свои изменения:
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Apache ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Apache (v6) ALLOW Anywhere (v6)
3: Проверка веб-сервера
После установки сервер Ubuntu 20.04 запускает Apache самостоятельно.
Чтобы убедиться, что веб-сервер запустился, запросите его состояние:
sudo systemctl status apache2
apache2.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
Вы увидите стандартную страницу Apache для Ubuntu 20.04.
4: Настройка виртуального хоста (рекомендуется)
На веб-сервере Apache вы можете использовать виртуальные хосты (в Nginx это блоки server) для изоляции настроек и размещения нескольких доменов на одном сервере. Здесь используется условный домен your_domain, который вы должны заменить собственным доменом.
Создайте каталог для your_domain:
sudo mkdir /var/www/your_domain
Затем задайте права на каталог с помощью переменной $USER:
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/000-default.conf, создайте новый файл /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
Если ошибок нет, команда вернет такой вывод:
Syntax OK
Перезапустите Apache:
sudo systemctl restart apache2
Теперь Apache обслуживает домен вашего сайта. Чтобы убедиться в этом, откройте ссылку http://your_domain. На экране вы увидите:
Success! The your_domain virtual host is working!
Заключение
Теперь веб-сервер Apache установлен и готов к работе. Вы можете обслуживать разные типы контента и внедрить множество технологий для положительного пользовательского опыта.
Читайте также: Установка стека LAMP в Ubuntu 20.04