В этой статье подробно рассмотрим установку сервера Apache 2 на сервер с ОС Debian 9. В этом нет ничего сложного или замысловатого, но есть некоторые моменты (типа обновления списка пакетов и предварительного апгрейда системы) про которые легко забыть. Большой ошибки не будет в том, чтобы просто накатить и развернуть пакет Apache на сервере, но в целях безопасности дальнейшей работы всей системы, всё-таки лучше делать всё последовательно и обо всём вовремя вспоминать.
Подготовка системы для установки Apache2 на удалённый сервер
Первым делом обновим список установленных пакетов:
root@server:~# apt update
После этого запустим апгрейд установленного ПО:
root@server:~# apt upgrade
И, если что-то требует обновлений, подтвердим согласие на то, чтобы накатить эти обновления.
Теперь можно переходить к установке Apache2 на сервер.
Установка Apache 2 на сервер с ОС Debian 9
Запуск установки осуществляется командой: apt-get install apache2
. После этого нужный пакет должен быть найден в репозитории:
root@server:~# apt install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 ssl-cert
Suggested packages:
www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom openssl-blacklist
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 ssl-cert
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,153 kB of archives.
After this operation, 7,158 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Потом скачан, развёрнут и установлен. И всё это на полном автомате:
Do you want to continue? [Y/n] Y
Get:1 http://deb.debian.org/debian stretch/main amd64 libapr1 amd64 1.5.2-5 [96.6 kB]
Get:2 http://deb.debian.org/debian stretch/main amd64 libaprutil1 amd64 1.5.4-3 [85.8 kB]
Get:3 http://deb.debian.org/debian stretch/main amd64 libaprutil1-dbd-sqlite3 amd64 1.5.4-3 [19.3 kB]
Get:4 http://deb.debian.org/debian stretch/main amd64 libaprutil1-ldap amd64 1.5.4-3 [17.4 kB]
Get:5 http://deb.debian.org/debian stretch/main amd64 liblua5.2-0 amd64 5.2.4-1.1+b2 [110 kB]
Get:6 http://deb.debian.org/debian stretch/main amd64 apache2-bin amd64 2.4.25-3+deb9u7 [1,187 kB]
Get:7 http://deb.debian.org/debian stretch/main amd64 apache2-utils amd64 2.4.25-3+deb9u7 [218 kB]
Get:8 http://deb.debian.org/debian stretch/main amd64 apache2-data all 2.4.25-3+deb9u7 [162 kB]
Get:9 http://deb.debian.org/debian stretch/main amd64 apache2 amd64 2.4.25-3+deb9u7 [236 kB]
Get:10 http://deb.debian.org/debian stretch/main amd64 ssl-cert all 1.0.39 [20.8 kB]
Fetched 2,153 kB in 0s (3,253 kB/s)
Preconfiguring packages ...
Selecting previously unselected package libapr1:amd64.
(Reading database ... 28979 files and directories currently installed.)
Preparing to unpack .../0-libapr1_1.5.2-5_amd64.deb ...
Unpacking libapr1:amd64 (1.5.2-5) ...
Selecting previously unselected package libaprutil1:amd64.
Preparing to unpack .../1-libaprutil1_1.5.4-3_amd64.deb ...
Unpacking libaprutil1:amd64 (1.5.4-3) ...
Selecting previously unselected package libaprutil1-dbd-sqlite3:amd64.
Preparing to unpack .../2-libaprutil1-dbd-sqlite3_1.5.4-3_amd64.deb ...
Unpacking libaprutil1-dbd-sqlite3:amd64 (1.5.4-3) ...
Selecting previously unselected package libaprutil1-ldap:amd64.
Preparing to unpack .../3-libaprutil1-ldap_1.5.4-3_amd64.deb ...
Unpacking libaprutil1-ldap:amd64 (1.5.4-3) ...
Selecting previously unselected package liblua5.2-0:amd64.
Preparing to unpack .../4-liblua5.2-0_5.2.4-1.1+b2_amd64.deb ...
Unpacking liblua5.2-0:amd64 (5.2.4-1.1+b2) ...
Selecting previously unselected package apache2-bin.
Preparing to unpack .../5-apache2-bin_2.4.25-3+deb9u7_amd64.deb ...
Unpacking apache2-bin (2.4.25-3+deb9u7) ...
Selecting previously unselected package apache2-utils.
Preparing to unpack .../6-apache2-utils_2.4.25-3+deb9u7_amd64.deb ...
Unpacking apache2-utils (2.4.25-3+deb9u7) ...
Selecting previously unselected package apache2-data.
Preparing to unpack .../7-apache2-data_2.4.25-3+deb9u7_all.deb ...
Unpacking apache2-data (2.4.25-3+deb9u7) ...
Selecting previously unselected package apache2.
Preparing to unpack .../8-apache2_2.4.25-3+deb9u7_amd64.deb ...
Unpacking apache2 (2.4.25-3+deb9u7) ...
Selecting previously unselected package ssl-cert.
Preparing to unpack .../9-ssl-cert_1.0.39_all.deb ...
Unpacking ssl-cert (1.0.39) ...
Setting up libapr1:amd64 (1.5.2-5) ...
Setting up apache2-data (2.4.25-3+deb9u7) ...
Setting up ssl-cert (1.0.39) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Setting up libaprutil1:amd64 (1.5.4-3) ...
Processing triggers for systemd (232-25+deb9u11) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up liblua5.2-0:amd64 (5.2.4-1.1+b2) ...
Setting up libaprutil1-ldap:amd64 (1.5.4-3) ...
Setting up libaprutil1-dbd-sqlite3:amd64 (1.5.4-3) ...
Setting up apache2-utils (2.4.25-3+deb9u7) ...
Setting up apache2-bin (2.4.25-3+deb9u7) ...
Setting up apache2 (2.4.25-3+deb9u7) ...
Enabling module mpm_event.
Enabling module authz_core.
Enabling module authz_host.
Enabling module authn_core.
Enabling module auth_basic.
Enabling module access_compat.
Enabling module authn_file.
Enabling module authz_user.
Enabling module alias.
Enabling module dir.
Enabling module autoindex.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module filter.
Enabling module deflate.
Enabling module status.
Enabling module reqtimeout.
Enabling conf charset.
Enabling conf localized-error-pages.
Enabling conf other-vhosts-access-log.
Enabling conf security.
Enabling conf serve-cgi-bin.
Enabling site 000-default.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service.
Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/system/apache-htcacheclean.service.
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Processing triggers for systemd (232-25+deb9u11) ...
На разных серверах это может выглядеть по разному и зависит от операционной системы и её первичных настроек (в том числе от списка репозиториев (хранилищ), откуда берутся дистрибутивы).
Как проверить, установился ли Apache2 на сервер
Самый простой способ проверить, установился ли Апач на сервер или что-то вдруг пошло не так, это вызвать в браузере сервер по его IP:
Или по доменному имени, если оно было предварительно привязано к серверу:
В обоих случаях должна отдаваться стартовая страница Apache2, примерно такая, как на картинках выше.
Резюме
Вот в общем-то и вся установка Апача на сервер.
Проверим версию установившегося Apache:
root@server:~# apachectl -V
Server version: Apache/2.4.25 (Debian)
Server built: 2019-04-02T19:05:13
Server's Module Magic Number: 20120211:68
Server loaded: APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"
Как видно, установилась конфигурация MPM event
.
Дальше можно переходить к более тонким настройкам.
Для информации
Список команд и опций apt
можно посмотреть по → этой ссылке.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)