Amri Muhimu Kusimamia Apache Web Server katika Linux


Katika somo hili, tutaelezea baadhi ya amri za usimamizi wa huduma za Apache (HTTPD) zinazotumiwa sana ambazo unapaswa kujua kama msanidi programu au msimamizi wa mfumo na unapaswa kuweka amri hizi kiganjani mwako. Tutaonyesha amri kwa Systemd na SysVinit.

Hakikisha kwamba, amri zifuatazo lazima zitekelezwe kama mzizi au mtumiaji wa sudo na inapaswa kufanya kazi kwenye usambazaji wowote wa Linux kama vile CentOS, RHEL, Fedora Debian, na Ubuntu.

Sakinisha Seva ya Apache

Ili kusakinisha seva ya wavuti ya Apache, tumia kidhibiti chaguo-msingi cha kifurushi chako cha usambazaji kama inavyoonyeshwa.

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

Angalia Toleo la Apache

Ili kuangalia toleo lililosakinishwa la seva yako ya wavuti ya Apache kwenye mfumo wako wa Linux, endesha amri ifuatayo.

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

Ikiwa ungependa kuonyesha nambari ya toleo la Apache na kukusanya mipangilio, tumia alama ya -V kama inavyoonyeshwa.

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

Angalia Makosa ya Sintaksia ya Usanidi wa Apache

Kuangalia faili zako za usanidi wa Apache kwa makosa yoyote ya kisintaksia endesha amri ifuatayo, ambayo itaangalia uhalali wa faili za usanidi, kabla ya kuanza tena huduma.

$ 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

Anzisha Huduma ya Apache

Ili kuanza huduma ya Apache, endesha amri ifuatayo.

------------ 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]

Washa Huduma ya Apache

Amri iliyotangulia huanza tu huduma ya Apache kwa wakati huu, ili kuiwezesha kuanza kiotomatiki kwenye buti ya mfumo, endesha amri ifuatayo.

------------ 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]

Anzisha tena Huduma ya Apache

Ili kuanzisha upya Apache (kuacha na kisha kuanza huduma), endesha amri ifuatayo.

------------ 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]

Tazama Hali ya Huduma ya Apache

Kuangalia maelezo ya hali ya wakati wa uendeshaji wa huduma ya Apache, endesha amri ifuatayo.

------------ 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]

Pakia upya Huduma ya Apache

Ikiwa umefanya mabadiliko yoyote kwenye usanidi wa seva ya Apache, unaweza kuagiza huduma kupakia upya usanidi wake kwa kutekeleza amri ifuatayo.

------------ 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]

Acha Huduma ya Apache

Ili kusimamisha huduma ya Apache, tumia amri ifuatayo.

------------ 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]

Onyesha Msaada wa Amri ya Apache

Mwisho lakini sio uchache, unaweza kupata msaada kuhusu maagizo ya huduma ya Apache chini ya systemd kwa kuendesha amri ifuatayo.

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

Unaweza kupata habari zaidi kuhusu systemctl kwa kushauriana: Jinsi ya Kudhibiti Huduma za 'Systemd' na Vitengo Kutumia 'Systemctl' katika Linux.

Unaweza pia kupenda kusoma nakala hizi zifuatazo zinazohusiana na Apache.

  1. Vidokezo 5 vya Kuboresha Utendaji wa Seva Yako ya Wavuti ya Apache
  2. Jinsi ya Kufuatilia Upakiaji wa Seva ya Apache na Takwimu za Ukurasa
  3. Jinsi ya Kusimamia Seva ya Wavuti ya Apache Kwa Kutumia Zana ya \Apache GUI
  4. Jinsi ya Kubadilisha Mlango wa Apache HTTP katika Linux
  5. Vidokezo 13 vya Usalama na Ugumu wa Seva ya Apache ya Wavuti
  6. Linda Apache dhidi ya Nguvu ya Kinyama au Mashambulizi ya DDoS Kwa Kutumia Mod_Security na Mod_evasive Moduli

Ni hayo tu kwa sasa! Katika makala hii, tumeelezea amri za usimamizi wa huduma za Apache/HTTPD zinazotumiwa zaidi ambazo unapaswa kujua, ikiwa ni pamoja na kuanza, kuwezesha, kuanzisha upya na kusimamisha Apache. Unaweza kuwasiliana nasi kila wakati kupitia fomu ya maoni iliyo hapa chini kwa maswali au maoni yoyote.