Apache можно смело назвать одним из самых распространенных веб-серверов в мире (наряду с nginx). Он имеет множество преимуществ, таких как простая настройка, большое количество модулей и стабильная работа. Согласно статистике, Apache использует почти половина всех сайтов в сети (на момент написания статьи это 44,6%).
Из этой статьи вы узнаете, как установить Apache на сервер с ОС Debian 10.
Требования
Для выполнения дальнейших действий у вас должен быть создан пользователь с sudo привилегиями (под которым вам нужно авторизоваться), а также работать файрвол.
Шаг 1: установка Apache
Как и в случае с многим другим популярным ПО, Apache можно установить прямо из стандартных репозиториев Debian.
Сначала обновите локальный индекс пакетов:
$ sudo apt update
А затем выполните установку:
$ sudo apt install apache2
Подтвердите действие, и после этого утилита apt установит Apache и все необходимые зависимости.
Шаг 2: настройка файрвола
Теперь необходимо внести некоторые изменения в настройки файрвола.
Выведите все доступные профили приложений на своем сервере:
$ sudo ufw app list
Вывод будет, например, таким:
Available applications: AIM Bonjour CIFS . . . WWW WWW Cache WWW Full WWW Secure . . .
Профили Apache начинаются с WWW:
- WWW: этот профиль открывает 80 порт (обычный, незашифрованный веб-трафик);
- WWW Cache: профиль открывает только 8080 порт (иногда используется для кэширования и веб-прокси);
- WWW Secure: профиль открывает только 443 порт (TLS/SSL зашифрованный трафик);
- WWW Full: профиль открывает оба порта – 80 и 443.
Из этих профилей желательно выбрать тот, который разрешает только те порты, что вам нужны.
Т.к. SSL на сервере еще не настроен, вам нужно открыть порт 80:
$ sudo ufw allow 'WWW'
Проверьте, вступили ли изменения в силу:
$ sudo ufw status
В выводе вы увидите, что трафик HTTP теперь разрешен:
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere WWW ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) WWW (v6) ALLOW Anywhere (v6)
Значит, все нормально, и порт успешно открыт.
Шаг 3: проверка веб-сервера
После завершения процесса установки Debian 10 запускает Apache. То есть веб-сервер уже будет работать.
Но на всякий случай это можно проверить командой:
$ sudo systemctl status apache2
Вывод:
apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2019-07-19 15:33:01 UTC; 4min 13s ago Docs: https://httpd.apache.org/docs/2.4/ . . . Jul 19 15:33:01 debssh systemd[1]: Starting The Apache HTTP Server... Jul 19 15:33:01 debssh apachectl[2791]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive global Jul 19 15:33:01 debssh systemd[1]: Started The Apache HTTP Server.
Согласно выдаче, сервис работает корректно. Подтвердить это можно самым простым способом - запросить страницу.
Например, можно вывести начальную страницу Apache, если перейти в браузере по IP-адресу своего сервера.
Если вы не знаете IP-адрес, то введите команду ниже:
$ hostname -I
В выводе вы увидите несколько адресов, разделенных пробелами. Попробуйте каждый из них, чтобы найти нужный.
Еще один вариант – использование curl. В этом случае вы увидите свой публичный IP-адрес. Сначала нужно установить curl:
$ sudo apt install curl
А затем ввести команду для того, чтобы посмотреть свой внешний IP-адрес:
$ curl -4 icanhazip.com
После этого введите полученный адрес в адресную строку браузера:
http://ip-адрес_сервера
Вы должны увидеть начальную страницу Apache:
Помимо того, что страница показывает корректную работу веб-сервера, на ней вы можете также найти полезную базовую информацию о файлах и директориях Apache.
Шаг 4: управление Apache
Теперь рассмотрим базовые команды.
Остановка веб-сервера:
$ sudo systemctl stop apache2
Запуск после остановки:
$ sudo systemctl start apache2
Остановка и запуск одной командой:
$ sudo systemctl restart apache2
В некоторых случаях перезагрузку можно выполнить без обрыва соединений. Для этого нужно ввести команду:
$ sudo systemctl reload apache2
Еще один момент – по умолчанию Apache запускается автоматически вместе с сервером. Если вам нужно выключить данную настройку, введите:
$ sudo systemctl disable apache2
Если вам нужно, чтобы веб-сервер запускался вместе с сервером, то просто поменяйте disable на enable:
$ sudo systemctl enable apache2
Теперь Apache будет опять автоматически запускаться вместе с сервером.
Комментарии