Полезные команды для управления веб-сервером Apache в Linux

В этом руководстве мы опишем некоторые из наиболее часто используемых команд управления службой Apache (HTTPD), которые вы должны знать как разработчик или системный администратор, и вы должны иметь эти команды под рукой. Мы покажем команды как для Systemd, так и для SysVinit.

Читайте также: 10 Самых Используемых Команд Nginx, Которые Должен Знать Каждый Пользователь Linux

Убедитесь, что следующие команды должны выполняться от имени пользователя root или sudo и должны работать на любом дистрибутиве Linux, таком как CentOS, RHEL, Fedora, Debian и Ubuntu.

Установка сервера Apache

Для установки веб-сервера Apache используйте менеджер пакетов вашего дистрибутива по умолчанию, как показано ниже.

$ sudo apt install apache2	    [On Debian/Ubuntu]
$ sudo yum install httpd	    [On RHEL/CentOS]
$ sudo dnf install httpd	    [On Fedora 22+]
$ sudo zypper install apache2	    [On openSUSE]

Проверка версии Apache

Чтобы проверить установленную версию веб-сервера Apache на вашей системе Linux, выполните следующую команду.

$ sudo httpd -v
OR
$ sudo apache2 -v
Пример вывода
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09

Если вы хотите отобразить номер версии Apache и настройки компиляции, используйте флаг -V, как показано ниже.

$ sudo httpd -V
OR
$ sudo apache2 -V
Пример вывода
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09
Server's Module Magic Number: 20120211:24
Server loaded:  APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    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/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

Проверка синтаксических ошибок конфигурации Apache

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

$ sudo httpd -t
OR
$ sudo apache2ctl -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using tecmint.com. 
Set the 'ServerName' directive globally to suppress this message
Syntax OK

Запустить службу Apache

Для запуска службы Apache выполните следующую команду.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl start httpd     [On Systemd]
$ sudo service httpd start 	 [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl start apache2   [On Systemd]
$ sudo service apache2 start     [On SysVInit]

Включить службу Apache

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

------------ On CentOS/RHEL ------------ 
$ sudo systemctl enable httpd     [On Systemd]
$ sudo chkconfig httpd on 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl enable apache2   [On Systemd]
$ sudo chkconfig apache2 on       [On SysVInit]

Перезапустить службу Apache

Чтобы перезапустить Apache (остановить и затем запустить службу), выполните следующую команду.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl restart httpd     [On Systemd]
$ sudo service httpd restart 	   [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl restart apache2   [On Systemd]
$ sudo service apache2 restart     [On SysVInit]

Просмотр статуса службы Apache

Чтобы проверить информацию о текущем состоянии службы Apache, выполните следующую команду.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl status httpd     [On Systemd]
$ sudo service httpd status 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl status apache2   [On Systemd]
$ sudo service apache2 status     [On SysVInit]

Перезагрузить службу Apache

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

------------ On CentOS/RHEL ------------ 
$ sudo systemctl reload httpd     [On Systemd]
$ sudo service httpd reload 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl reload apache2   [On Systemd]
$ sudo service apache2 reload     [On SysVInit]

Остановить службу Apache

Чтобы остановить службу Apache, используйте следующую команду.

------------ On CentOS/RHEL ------------ 
$ sudo systemctl stop httpd       [On Systemd]
$ sudo service httpd stop 	  [On SysVInit]

------------ On Ubunt/Debian  ------------
$ sudo systemctl stop apache2     [On Systemd]
$ sudo service apache2 stop     [On SysVInit]

Показать справку по командам Apache

Наконец, вы можете получить справку о командах службы Apache под systemd, выполнив следующую команду.

$ sudo httpd -h
OR
$ sudo apache2 -h		
OR
$ systemctl -h apache2	
Пример вывода
Usage: httpd [-D name] [-d directory] [-f file]
             [-C "directive"] [-c "directive"]
             [-k start|restart|graceful|graceful-stop|stop]
             [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
  -D name            : define a name for use in  directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed vhost settings
  -t -D DUMP_RUN_CFG : show parsed run settings
  -S                 : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
  -t -D DUMP_MODULES : show all loaded modules 
  -M                 : a synonym for -t -D DUMP_MODULES
  -t                 : run syntax check for config files
  -T                 : start without DocumentRoot(s) check
  -X                 : debug mode (only one worker, do not detach)

Вы можете найти больше информации о systemctl, прочитав: Как управлять службами и модулями ‘Systemd’ с помощью ‘Systemctl’ в Linux.

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

  1. 5 советов по повышению производительности вашего веб-сервера Apache
  2. Как отслеживать нагрузку на веб-сервер Apache и статистику страниц
  3. Как управлять веб-сервером Apache с помощью инструмента “Apache GUI”
  4. Как изменить порт Apache HTTP в Linux
  5. 13 советов по безопасности и закреплению веб-сервера Apache
  6. Защита Apache от атак перебора паролей или DDoS с помощью модулей Mod_Security и Mod_evasive

Вот и все на данный момент! В этой статье мы объяснили наиболее часто используемые команды управления службой Apache/HTTPD, которые вам следует знать, включая запуск, включение, перезапуск и остановку Apache. Вы всегда можете связаться с нами через форму обратной связи ниже, если у вас возникнут вопросы или комментарии.

Source:
https://www.tecmint.com/manage-apache-web-server-in-linux/