Linux-da Apache Veb Serverini idarə etmək üçün faydalı əmrlər


Bu dərslikdə biz bir tərtibatçı və ya sistem administratoru kimi bilməli olduğunuz ən çox istifadə olunan Apache (HTTPD) xidmət idarəetmə əmrlərindən bəzilərini təsvir edəcəyik və bu əmrləri barmaqlarınızın ucunda saxlamalısınız. Həm Systemd, həm də SysVinit üçün əmrləri göstərəcəyik.

Əmin olun ki, aşağıdakı əmrlər kök və ya sudo istifadəçisi kimi yerinə yetirilməli və CentOS, RHEL, Fedora Debian və Ubuntu kimi istənilən Linux paylamasında işləməlidir.

Apache Serverini quraşdırın

Apache veb serverini quraşdırmaq üçün göstərildiyi kimi standart paylama paket menecerinizdən istifadə edin.

$ 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 Versiyasını yoxlayın

Linux sisteminizdə Apache veb serverinizin quraşdırılmış versiyasını yoxlamaq üçün aşağıdakı əmri yerinə yetirin.

$ sudo httpd -v
OR
$ sudo apache2 -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09

Apache versiya nömrəsini göstərmək və parametrləri tərtib etmək istəyirsinizsə, göstərildiyi kimi -V bayrağından istifadə edin.

$ 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 Konfiqurasiya Sintaksis Xətalarını yoxlayın

Apache konfiqurasiya fayllarınızı hər hansı sintaksis xətası üçün yoxlamaq üçün xidməti yenidən başlatmazdan əvvəl konfiqurasiya fayllarının etibarlılığını yoxlayacaq aşağıdakı əmri yerinə yetirin.

$ 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 Xidmətini işə salın

Apache xidmətinə başlamaq üçün aşağıdakı əmri yerinə yetirin.

------------ 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 Xidmətini aktivləşdirin

Əvvəlki əmr bu müddət ərzində yalnız Apache xidmətini işə salır, sistemin açılışında onun avtomatik işə salınmasını təmin etmək üçün aşağıdakı əmri yerinə yetirin.

------------ 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 Xidmətini yenidən başladın

Apache-ni yenidən başlatmaq üçün (xidməti dayandırın və sonra işə salın) aşağıdakı əmri yerinə yetirin.

------------ 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 Xidmət Statusuna baxın

Apache xidmətinin işləmə vaxtı statusu məlumatını yoxlamaq üçün aşağıdakı əmri yerinə yetirin.

------------ 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 Xidmətini yenidən yükləyin

Apache server konfiqurasiyasında hər hansı dəyişiklik etmisinizsə, aşağıdakı əmri yerinə yetirməklə xidmətə konfiqurasiyasını yenidən yükləməyi göstəriş verə bilərsiniz.

------------ 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 Xidmətini dayandırın

Apache xidmətini dayandırmaq üçün aşağıdakı əmrdən istifadə edin.

------------ 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 Komanda Yardımını göstərin

Nəhayət, aşağıdakı əmri işlətməklə systemd altında Apache xidmət əmrləri haqqında kömək ala bilərsiniz.

$ 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)

Siz systemctl haqqında ətraflı məlumatı məsləhətləşərək tapa bilərsiniz: Linux-da 'Systemctl' istifadə edərək 'Systemd' xidmətlərini və bölmələrini necə idarə etmək olar.

Siz həmçinin Apache ilə əlaqəli aşağıdakı məqalələri oxumaq istəyə bilərsiniz.

  1. Apache Veb Serverinizin Performansını artırmaq üçün 5 məsləhət
  2. Apache Veb Serverinin Yüklənməsinə və Səhifə Statistikasına Nəzarət Olunur
  3. \Apache GUI Alətindən istifadə edərək Apache Veb Serverini necə idarə etmək olar
  4. Linux-da Apache HTTP Portunu Necə Dəyişdirmək olar
  5. 13 Apache Veb Server Təhlükəsizliyi və Sərtləşdirmə Məsləhətləri
  6. Mod_Security və Mod_evasive Modullarından istifadə edərək Apache-ni Qəddar Qüvvə və ya DDoS Hücumlarına qarşı qoruyun

Hələlik hamısı budur! Bu yazıda Apache-nin işə salınması, aktivləşdirilməsi, yenidən işə salınması və dayandırılması daxil olmaqla, bilməli olduğunuz ən çox istifadə olunan Apache/HTTPD xidmət idarəetmə əmrlərini izah etdik. İstənilən sualınız və ya şərhiniz üçün aşağıdakı rəy forması vasitəsilə həmişə bizimlə əlaqə saxlaya bilərsiniz.