web-dev-qa-db-ja.com

debianの「sites-available」および「sites-enabled」ディレクトリの目的

簡単に言えば、これら2つのディレクトリの目的はDebianにどのようなものがあるのでしょうか。

/etc/Apache2/sites-enabled
/etc/Apache2/sites-available

違いがわかりますsites-available/000-defaultおよびsites-enabled/defaultは、それらが同一であることを示しています。

何ができますか?

61
aaaidan

sites-availableには、各サイトのApache構成ファイルが含まれています。例えば:

<VirtualHost *:80>
  ServerName site.mysite.com
  ServerAdmin [email protected]

  DirectoryIndex index.php
  DocumentRoot /home/user/public_html/site.mysite.com/public

  LogLevel warn
  ErrorLog /home/user/public_html/site.mysite.com/logs/error.log
  CustomLog /home/user/public_html/site.mysite.com/logs/access.log combined
</VirtualHost>

新しいサイト(たとえば、site.mysite.com)を追加する場合は、ここに追加して、次を使用します。

a2ensite site.mysite.com

サイトを有効にします。サイトが有効になると、設定ファイルへのシンボリックリンクがサイトが有効なディレクトリに配置され、サイトが有効であることを示します。

63
Jason Leveille

システムのメカニズムよりも重要なのは根拠です...

Debianは2つの別個のディレクトリを提供しているため、Apache構成を自動的に管理している場合は、すべての仮想ホストをすべてのマシンのsites-availableにドロップするだけで、サーバーで個々の仮想ホストを有効にできます実際にそれらを提供しています。また、問題が発生している場合は、ほぼ瞬時にサイトを無効にすることができます(a2dissite example.com; /etc/init.d/Apache2 reload)。

22
womble

重要な情報:

sites-availableディレクトリのファイルonlyを編集する必要があります。

絶対に行わないsites-enabledディレクトリ内のファイルを編集します。そうしないと、エディターがメモリ不足になるか、何らかの理由でSIGHUPまたはSIGTERMを受け取った場合に問題が発生する可能性があります。

例:nanoを使用してファイルsites-enabled/defaultを編集していて、メモリが不足するか、何らかの理由でSIGHUPまたはSIGTERMを受け取った場合、nanodefault.saveディレクトリ内のsites-enabledという緊急ファイル。したがって、sites-enabledディレクトリ内に追加のファイルがあります。これにより、ApacheまたはNGINXが起動しなくなります。サイトが機能していた場合は、もう機能しません。ログでdefault.saveファイルに関連する何かを見つけて削除するまで、苦労します。

上記の例では、sites-availableディレクトリ内のファイルを編集している場合、問題はありませんでした。ファイルsites-available/default.saveは作成されますが、sites-availableディレクトリ内で害を及ぼすことはありません。

6
Vini

上記に追加するために、sites-enabledのファイルはsites-availableファイルへのシンボリックリンクです。

ls -l /etc/Apache2/sites-enabled/

内容は同じだけでなく、実際のファイルも同じです。

5
user45231