LinuxでApache Webサーバーを管理するための便利なコマンド


このチュートリアルでは、開発者またはシステム管理者として知っておくべき最も一般的に使用されている Apache(HTTPD)サービス管理コマンドのいくつかについて説明します。 Systemd SysVinit の両方のコマンドを表示します。

次のコマンドは root またはsudoユーザーとして実行する必要があり、 CentOS RHEL などのLinuxディストリビューションで機能する必要があります。 Fedora Debian Ubuntu

Apacheサーバーをインストールする

Apache Webサーバーをインストールするには、図に示すようにデフォルトの配布パッケージマネージャを使用してください。

$ 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のバージョンを確認する

LinuxシステムにインストールされているApache Webサーバーのバージョンを確認するには、次のコマンドを実行します。

$ 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 tecmint.com. 
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サービスを起動するだけです。システム起動時に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コマンドヘルプを表示する

大事なことを言い忘れましたが、systemdの下の Apache サービスコマンドについては、次のコマンドを実行してヘルプを入手できます。

$ 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 についての詳細は、コンサルティング:Linuxで「Systemctl」を使用して「Systemd」のサービスとユニットを管理する方法を参照してください。

以下のApache関連記事も読んでください。

  1. 5 Tips to Boost the Performance of Your Apache Web Server
  2. How to Monitor Apache Web Server Load and Page Statistics
  3. How to Administrate the Apache Web Server Using “Apache GUI” Tool
  4. How to Change Apache HTTP Port in Linux
  5. 13 Apache Web Server Security and Hardening Tips
  6. Protect Apache Against Brute Force or DDoS Attacks Using Mod_Security and Mod_evasive Modules

それは今のところすべてです!この記事では、Apacheの起動、有効化、再起動、停止など、知っておくべき最も一般的な Apache/HTTPD サービス管理コマンドについて説明しました。ご質問やご意見がございましたら、下記のフィードバックフォームからご連絡ください。