web-dev-qa-db-ja.com

LinuxでApacheサービスが自動起動しないようにするにはどうすればよいですか?

私の問題は、コマンド./Apache2 stop from /etc/init.dでApacheデーモンを停止したくないということです(私はこれを行うことを知っています)。システム起動時に/etc/init.dでApacheサービスが自動的に開始されないようにします。ただし、サービスをinit.dフォルダーに保持する必要もあります。これどうやってするの?サービススクリプトの一部のフィールドを変更する必要がありますか?

9
Kyrol

ディストリビューションによっては、起動時にサービスを無効にするコマンドを実行できるはずです。これを行うと、手動で開始するまで停止します。さまざまなディストリビューションの例を次に示します。

  • Ubuntu/Debian:update-rc.d -f Apache2 remove
  • Gentoo:rc-update del Apache2
  • ArchLinux:systemctl disable Apache2
8
Peter

これは古いスレッドですが、ここで学んだことをここに来て他の人を助けるために追加します。

Debianの場合、与えられた答えの問題は、次にソフトウェアが更新されたときに変更が取り消されることです。 update-rc.dのマニュアルページから:

一般的なシステム管理エラーは、これによりサービスが「無効」になる、つまりサービスの開始が妨げられると考えてリンクを削除することです。ただし、すべてのリンクが削除されている場合、次にパッケージをアップグレードすると、パッケージのpostinstスクリプトがupdate-rc.dを再度実行し、工場出荷時のデフォルトの場所にリンクが再インストールされます。

Disableディレクティブを使用する方が良いと思います。

Sudo update-rc.d Apache2 disable

これには、enableディレクティブが変更を元に戻すことができるという利点があります。

18
t_henderson