- ベストアンサー
apacheを最初から起動したい。apachectlではなく。
こんにちは、laser5linux7.2にapache1.3.26ソースからアップグレードしました。そうしたところPCを起動するだけでは自動的にhttpdが立ち上がらず、コマンドから/usr/local/apache/bin/apachectl startとしないとたちあがりません。これを最初から自動的に立ち上がらせるにはどうしたらよいでしょうか。xinetd.confかなにかを書き直さなければいけないのですか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
以下のスクリプトを/etc/rc.d/init.d/apacheというファイル名で保存し、chkconfig --add apacheを実行してください。 パスが違う場合は変更してください。 インデントが崩れているのでその辺りの修正もした方が見やすいです。 --ここから #!/bin/bash # # Startup script for the Apache Web Server # # chkconfig: 345 85 15 # description: Apache is a World Wide Web server. It is used to serve \ # HTML files and CGI. # processname: httpd # pidfile: /usr/local/apache/log/httpd.pid # config: /usr/local/apache/conf/access.conf # config: /usr/local/apache/conf/httpd.conf # config: /usr/local/apache/conf/srm.conf # Source function library. . /etc/rc.d/init.d/functions # Path to the apachectl script, server binary, and short-form for messages. apachectl=/usr/local/apache/bin/apachectl httpd=/usr/local/apache/bin/httpd pid=/usr/local/apache/log/httpd.pid prog=httpd RETVAL=0 start() { echo -n $"Starting $prog: " $apachectl start >/dev/null 2>&1 RETVAL=$? [ $RETVAL = 0 ] && touch /var/lock/subsys/httpd && success $"$prog startup" || failure $"$prog startup" echo return $RETVAL } stop() { echo -n $"Stopping $prog: " $apachectl stop >/dev/null 2>&1 RETVAL=$? [ $RETVAL = 0 ] && rm -f /var/lock/subsys/httpd $pid && success $"$prog shutdown" || failure $"$prog shutd own" echo } reload() { echo -n $"Reloading $prog: " killproc $httpd -HUP RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $httpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f $pid ] ; then stop start fi ;; reload) reload ;; graceful|help|configtest) $apachectl $@ RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}" exit 1 esac exit $RETVAL --ここまで
その他の回答 (4)
- s2t
- ベストアンサー率79% (47/59)
ANo.#4についてですが、自宅のサーバ(httpd-2.0.39)では正常に動作しているように見えますが、間違っている可能性があります。 また、apache-1.3.26用に修正しましたがミスがあるかもしれないので確認してください。
- tomo-yuki
- ベストアンサー率39% (11/28)
回答はすでに出ていますが、私はinit.dディレクトリに置くほうが好きです。
- madman
- ベストアンサー率24% (612/2465)
自動起動させるには、/etc/rc.d/rc.localに該当するコマンドを書き込めばいいだけです。
- marimo_cx
- ベストアンサー率25% (873/3452)
一番安直には /etc/rc.d/rc.local に、 /usr/local/apache/bin/apachectl start を書き加えてみては如何でしょう?
お礼
ありがとうございます。教えていただいたとおりにファイルを作って置いたところうまく行きました。ただし、最初実行権限を与えるのを忘れたために立ち上がりませんでした。 その他の方もありがとうございました。