Χρήσιμες εντολές για τη διαχείριση του διακομιστή Web 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 Συμβουλές για να ενισχύσετε την απόδοση του διακομιστή Web Apache σας
  2. Τρόπος παρακολούθησης του φόρτου του διακομιστή Web του Apache και των στατιστικών σελίδων
  3. Πώς να διαχειριστείτε τον διακομιστή Web Apache χρησιμοποιώντας το εργαλείο "Apache GUI".
  4. Πώς να αλλάξετε τη θύρα HTTP Apache στο Linux
  5. 13 Συμβουλές για την ασφάλεια και τη σκλήρυνση του διακομιστή Web Apache
  6. Προστατέψτε τον Apache από επιθέσεις ωμής βίας ή DDoS χρησιμοποιώντας μονάδες Mod_Security και Mod_evasive

Αυτα για τωρα! Σε αυτό το άρθρο, εξηγήσαμε τις πιο συχνά χρησιμοποιούμενες εντολές διαχείρισης υπηρεσιών Apache/HTTPD που πρέπει να γνωρίζετε, όπως η εκκίνηση, η ενεργοποίηση, η επανεκκίνηση και η διακοπή του Apache. Μπορείτε πάντα να επικοινωνήσετε μαζί μας μέσω της παρακάτω φόρμας σχολίων για τυχόν ερωτήσεις ή σχόλια.