解決策 1:
その init スクリプトを適切な実行レベルに追加します。通常、init スクリプトは /etc/init.d/apache2
です。 /etc/init.d/apache2 start
を手動で実行できる場所 開始します。
Gentoo では次のように記述します:
rc-update add apache2 default
Ubuntu/Debian では次のように動作します:
sudo update-rc.d apache2 defaults
Red Hat Linux/Fedora/CentOS では、少しグーグルで調べると次のようになります:
chkconfig --add httpd
ディストリビューションごとに少し異なりますが、考え方は通常同じです。基本的に、これらのコマンドはすべて /etc/init.d/
からシンボリック リンクを作成します。 /etc/
の適切なランレベル フォルダーへ .
解決策 2:
これが最終的に私のために働いたものです。これは、あなたが root ユーザーであることを前提としています。
<オール>/etc/init.d/apache2 の内容:
#!/bin/bash # # apache2 Startup script for the Apache HTTP Server # # chkconfig: 3 85 15 # description: Apache is a World Wide Web server. It is used to serve \ # HTML files and CGI. /usr/local/apache2/bin/apachectl [email protected]
/sbin/runlevel を実行することでランレベルを取得できます。私の場合は 3 でした。もちろん、自分のバージョンの apachectl を呼び出す必要があります。私の場合は /usr/local/apache2/bin/apachectl です。
以下に感謝します:
- Evan Teran からの回答 +1 のヘルプ
- Russell Heilling からの回答 + 1 のヘルプ
- man chkconfig
- ランレベルに関する情報を含む sysdigg からのこのリンク
解決策 3:
httpd
があるかどうかを確認します /etc/rc.d
の init スクリプト ディレクトリ。はいの場合は、httpd を有効にする次のコマンドを実行できます。 ブート時にサービスを開始します。
chkconfig --level 345 httpd on
init スクリプトがない場合は、 /etc/rc.local
を追加するだけです apachectl -k start
のファイル (Apache を起動するコマンド)
解決策 4:
ソースからインストールしたため、/etc/init.d/ ディレクトリにインストールされる init スクリプトはありません。 apachectl バイナリは、標準の init スクリプト オプションと互換性があるように設計されているため、ラッパー スクリプトを作成するのではなく、単純にシンボリック リンクすることができます (例:ln -s /usr/local/sbin/apachectl /etc/init.d/ Apache)
次に、他の投稿で概説されている手順に従って、正しいランレベルで init スクリプトを呼び出すためのリンクを追加できます。
引用:Apache ドキュメント http://httpd.apache.org/docs/2.2/invoking.html
<ブロック引用>起動時から
システムの再起動後もサーバーを実行し続けたい場合は、apachectl への呼び出しをシステムの起動ファイル (通常は rc.local または rc.N ディレクトリ内のファイル) に追加する必要があります。これにより、Apache がルートとして起動されます。これを行う前に、サーバーがセキュリティとアクセス制限のために適切に構成されていることを確認してください。
apachectl スクリプトは、標準の SysV init スクリプトのように機能するように設計されています。引数 start、restart、および stop を取り、それらを httpd への適切なシグナルに変換できます。そのため、多くの場合、apachectl を適切な init ディレクトリにリンクするだけで済みます。ただし、システムの正確な要件を必ず確認してください。