回答:
initスクリプトを適切な実行レベルに追加します。通常/etc/init.d/apache2
、initスクリプトは、手動で実行/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/
。
これが最終的に私のために働いたものです。これは、あなたがrootユーザーであることを前提としています。
/etc/init.d/apache2の内容:
#!/ bin / bash # #apache2 Apache HTTPサーバーの起動スクリプト # #chkconfig:3 85 15 #説明:ApacheはWorld Wide Webサーバーです。\を提供するために使用されます #HTMLファイルとCGI。 / usr / local / apache2 / bin / apachectl $ @
/ sbin / runlevelを実行するとランレベルを取得できます。これは3でした。そしてもちろん、apachectlのバージョン(私の場合は/ usr / local / apache2 / bin / apachectl)を呼び出す必要があります。
以下に感謝します:
ソースごとにインストールしたので、/ etc / init.d /ディレクトリにインストールされたinitスクリプトはありません。apachectlバイナリは、標準のinitスクリプトオプションと互換性があるように設計されているため、ラッパースクリプト(ln -s / usr / local / sbin / apachectl /etc/init.d/など)を作成するのではなく、単にシンボリックリンクすることができます。アパッチ)
その後、他の投稿で説明されている手順に従って、正しいランレベルでinitスクリプトを呼び出すためのリンクを追加します。
引用:Apacheドキュメントhttp://httpd.apache.org/docs/2.2/invoking.html
起動時から開始
システムの再起動後もサーバーを実行し続けたい場合は、システム起動ファイル(通常はrc.localまたはrc.Nディレクトリ内のファイル)にapachectlの呼び出しを追加する必要があります。これにより、Apacheがルートとして起動します。これを行う前に、サーバーがセキュリティおよびアクセス制限のために適切に構成されていることを確認してください。
apachectlスクリプトは、標準のSysV initスクリプトのように動作するように設計されています。引数start、restart、stopを取り、httpdへの適切なシグナルに変換できます。そのため、多くの場合、apachectlを適切なinitディレクトリに単純にリンクできます。ただし、システムの正確な要件を確認してください。
Red Hat Linuxには、現在の実行レベルで開始するサービスを選択できるntsysvという便利なユーティリティがあります。また、を使用してユーティリティを起動するときに、編集する実行レベルを指定します--level
。
httpdまでスクロールし、を押しSpaceて、左側のボックスに星が表示されるようにします。それTabからOKに。を押しReturnて保存し、シェルに戻ります。
デフォルトでほとんどインストールされることがわかりました。私はそれがインストールされていない位置にいたことがない。
ただし、サービススクリプトを/etc/init.dにコピーしてから実行することにより、最初にサービスをインストールする必要があります。
chkconfig --add <script name>