CentOS7(systemd)では、以下の記事にhttpdの自動起動方法を記しています。
CentOSをDesktopでインストールした時のApache(httpd)起動方法を下記に記します。
使用した環境はCentOS 6.0です。
CentOSをデスクトップでインストールしたらApache(httpd)がインストールされていました。
rpmコマンドを利用してhttpdがインストールされているか確認しました。
rpm -qa | grep httpd
以下のように出力があればインストールされています。
何も出力されない場合はインストールされていないので、yumコマンドでインストールしてください。
以下、rpmコマンドの出力になります。
[sakura@centos6 ~]$ rpm -qa | grep httpd httpd-2.2.15-5.el6.centos.x86_64 httpd-tools-2.2.15-5.el6.centos.x86_64
未インストール時はrootになって以下のコマンドでインストールできます。
yum install httpd httpd-tools
chkconfigコマンドを利用することによりインストールされているサービス(デーモン)一覧を確認することができます。
chkconfig --list
出力結果を以下に記します。
[sakura@centos6 ~]$ chkconfig --list <省略> cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off dnsmasq 0:off 1:off 2:off 3:off 4:off 5:off 6:off firstboot 0:off 1:off 2:off 3:off 4:off 5:off 6:off haldaemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off <省略> wpa_supplicant 0:off 1:off 2:off 3:off 4:off 5:off 6:off ypbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off
上記の出力結果のhttpdを見ると以下のようになっています。 0:offから6:offまですべてoffになっています。 この数字はランレベルを示しています。
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
すべてがoffなので、電源投入時や再起動時に起動されていないことがわかります。
自動起動する場合は、onの記述があります。
GUIによる確認方法を以下に記します。
操作中に認証画面が表示された場合は、rootのパスワードを入力して進んでください。
httpdを自動起動するによう変更します。
以下にコマンド操作による設定とGUIによる設定を記述します。
以下のCUIによる設定の操作はrootユーザで行ってください。
以下のコマンドで自動起動設定ができます。
chkconfig サービス名 on
但し、自動起動設定をしただけなので、サービスは起動されません。
再起動や電源投入すればサービスが起動されます。
自動起動設定がされたかどうかを以下のコマンドで確認します。
chkconfig --list | grep サービス名
以下、httpdの設定状態を確認した出力です。
[root@centos6 ~]# chkconfig --list | grep httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
尚、自動起動を停止したい場合はoffとなります。
chkconfig サービス名 off
上記操作後、GUIのサービス設定を起動し確認したスクリーンショットです。
サービスが緑色になり有効になっていることが確認できます。
サービスの起動は以下のコマンドで実行できます。
尚、操作はrootユーザで行ってください。
以下、httpdをserviceコマンドを利用して起動した例です。httpd.confのServerNameを設定していないので以下のメッセージが表示されましたがhttpdが起動されたことがわかります。
ServerNameを設定すれば以下のメッセージは表示されません。
[root@centos6 ~]# service httpd start httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName [ OK ]
serviceコマンドには、他にも以下のオプションがあります。
オプション引数を渡さないでコマンドを実行すると以下のようなオプションがあるのがわかります。
[root@centos6 ~]# service httpd
Usage: httpd {start|stop|restart|condrestart|try-restart|force-reload|reload|status|fullstatus|graceful|help|configtest}
このようなコマンドを使用する理由は、httpdをインストールしたけど、自動起動したくない場合などに利用できます。
ウェブアプリ開発時のみhttpd(Apache)を起動したい場合などが想定されます。(不必要な時はhttpdを起動したくない場合)
ちなみに停止は以下のようのコマンドになります。
service httpd stop
設定ファイルを変更し再起動したい場合などは、以下のコマンドになります。
service httpd restart
上記のserviceコマンドは以下のコマンドと同じ動作になります。
/etc/init.d/サービス名 [start|stop|restart|...]
つまり、httpdの場合は、以下のコマンドによりserviceコマンドと同じになります。
/etc/init.d/httpd stop - httpdの停止
/etc/init.d/httpd start - httpdの起動
/etc/init.d/httpd restart - httpdの再起動
以下、httpdを対象にサービスの有効化の操作を記します。
以下、GUIにより有効(E)にしたときのchkconfigの出力結果です。
httpdが電源投入or再起動時に自動起動設定されていることが確認できます。
[root@centos6 ~]# chkconfig --list | grep httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
以上、サービスの自動起動(電源投入or再起動時)の設定を行うための操作方法を記しました。
サービスはインストールしたけども、自主的に起動・停止をしたい場合はserviceコマンドや/etc/init.d/サービス名やGUI(サービスの設定)を用いてサービスの起動・停止を行うこともできます。