Полезни команди за управление на уеб сървър 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 linux-console.net. 
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. Как да промените HTTP порта на Apache в Linux
  5. 13 Съвети за защита и защита на уеб сървъра Apache
  6. Защитете Apache срещу груба сила или DDoS атаки с помощта на модули Mod_Security и Mod_evasive

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