Linux'ta Apache Web Sunucusunu Yönetmek İçin Yararlı Komutlar


Bu eğitimde, bir geliştirici veya sistem yöneticisi olarak bilmeniz gereken ve bu komutları parmaklarınızın ucunda tutmanız gereken, en sık kullanılan Apache (HTTPD) hizmet yönetimi komutlarından bazılarını anlatacağız. Hem Systemd hem de SysVinit için komutlar göstereceğiz.

Ayrıca Okuyun: Her Linux Kullanıcısının Bilmesi Gereken En Çok Kullanılan 10 Nginx Komutu

Aşağıdaki komutların root veya sudo kullanıcısı olarak yürütülmesi gerektiğinden ve CentOS, RHEL gibi herhangi bir Linux dağıtımında çalışması gerektiğinden emin olun. Fedora Debian ve Ubuntu.

Apache Sunucusunu yükleyin

Apache web sunucusunu kurmak için, gösterildiği gibi varsayılan dağıtım paketi yöneticinizi kullanın.

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 Sürümünü Kontrol Edin

Apache web sunucunuzun Linux sisteminizde kurulu sürümünü kontrol etmek için aşağıdaki komutu çalıştırın.

sudo httpd -v
OR
sudo apache2 -v
Örnek Çıktı
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09

Apache sürüm numarasını ve derleme ayarlarını görüntülemek istiyorsanız gösterildiği gibi -V bayrağını kullanın.

sudo httpd -V
OR
sudo apache2 -V
Örnek Çıktı
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 Yapılandırma Sözdizimi Hatalarını Kontrol Edin

Apache yapılandırma dosyalarınızda herhangi bir sözdizimi hatası olup olmadığını kontrol etmek için, hizmeti yeniden başlatmadan önce yapılandırma dosyalarının geçerliliğini kontrol edecek aşağıdaki komutu çalıştırın.

sudo httpd -t
OR
sudo apache2ctl -t
Örnek Çıktı
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 Hizmetini Başlat

Apache hizmetini başlatmak için aşağıdaki komutu çalıştırın.

------------ 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 Hizmetini Etkinleştir

Önceki komut bu arada yalnızca Apache hizmetini başlatır; sistem önyüklemesinde otomatik olarak başlatılmasını etkinleştirmek için aşağıdaki komutu çalıştırın.

------------ 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 Hizmetini Yeniden Başlatın

Apache'yi yeniden başlatmak için (hizmeti durdurun ve ardından başlatın), aşağıdaki komutu çalıştırın.

------------ 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 Hizmet Durumunu Görüntüle

Apache hizmeti çalışma zamanı durum bilgilerini kontrol etmek için aşağıdaki komutu çalıştırın.

------------ 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 Hizmetini Yeniden Yükle

Apache sunucusu yapılandırmasında herhangi bir değişiklik yaptıysanız, aşağıdaki komutu çalıştırarak hizmete yapılandırmasını yeniden yüklemesi talimatını verebilirsiniz.

------------ 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 Hizmetini Durdurun

Apache hizmetini durdurmak için aşağıdaki komutu kullanın.

------------ 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 Komut Yardımını Göster

Son olarak, aşağıdaki komutu çalıştırarak systemd altında Apache hizmeti komutları hakkında yardım alabilirsiniz.

sudo httpd -h
OR
sudo apache2 -h		
OR
systemctl -h apache2	
Örnek Çıktı
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 hakkında daha fazla bilgiyi şu adrese danışarak bulabilirsiniz: Linux'ta 'Systemctl' Kullanılarak 'Systemd' Hizmetleri ve Birimleri Nasıl Yönetilir.

Ayrıca aşağıdaki Apache ile ilgili makaleleri de okumak isteyebilirsiniz.

  1. Apache Web Sunucunuzun Performansını Artıracak 5 İpucu
  2. Apache Web Sunucusu Yükü ve Sayfa İstatistikleri Nasıl İzlenir?
  3. Apache Web Sunucusunun “Apache GUI” Aracı Kullanılarak Yönetilmesi
  4. Linux'ta Apache HTTP Bağlantı Noktası Nasıl Değiştirilir
  5. 13 Apache Web Sunucusu Güvenliği ve Sağlamlaştırma İpuçları
  6. Mod_Security ve Mod_evasive Modüllerini Kullanarak Apache'yi Kaba Kuvvet veya DDoS Saldırılarına Karşı Koruyun

Şimdilik bu kadar! Bu makalede, Apache'yi başlatma, etkinleştirme, yeniden başlatma ve durdurma dahil, bilmeniz gereken en sık kullanılan Apache/HTTPD hizmet yönetimi komutlarını açıkladık. Her türlü soru ve görüşleriniz için aşağıdaki geri bildirim formunu kullanarak bize her zaman ulaşabilirsiniz.