SUSE LinuxのApacheは、YaSTと手動という、2通りの方法で設定できます。手動で設定を行えば細かい点まで調整できますが、YaSTのGUIほど便利ではありません。
![]() | 設定の変更 |
|---|---|
Apacheの特定の設定を変更した場合、Apacheを再起動しないと変更が有効になりません。これは、YaSTで設定を完了し、[]の[]をオンにすると、自動的に行われます。手動での再起動については、項46.3.3. 「Apacheの有効化、起動、および停止」を参照してください。ほとんどの設定の変更は、rcapache2 reloadを実行して再ロードすれば有効になります。 | |
YaSTを使えば、ネットワーク内のホストをWebサーバにすることができます。 そのようなサーバを設定するには、YaSTを起動して、+の順に選択します。 このモジュールを初めて起動すると、HTTP Server Wizardが起動して、サーバ管理に関して少数の基本的な事項を決定するように要求されます。
HTTP Server Wizardには、5つのステップ、つまりダイアログがあります。 ダイアログの最後のステップでは、上級者用の設定モードに入って、さらに詳細な設定を行うかどうか選択できます。
ここでは、Apacheが着信リクエストをリスンするために使用する、ネットワークインタフェースとポートを指定します。 既存のネットワークインタフェースとそれらに対応するIPアドレスから、任意のものを組み合わせて選択できます。 他のサービスによって予約されていないものであれば、3つの範囲(ウェルノウンポート、レジスタードポート、ダイナミックまたはプライベートポート)のうちのどのポートでも使用できます。
デフォルトの設定では、すべてのネットワークインタフェース(IPアドレス)のポート80をリスンします。 ファイアウォールが有効になっている場合には、チェックボックスによって、ファイアウォールでApacheのポートを開くかどうかを設定できます。
ファイアウォールで、Webサーバがリスンするポートを開くには、[]をオンにします。 これは、LAN、WAN、または公共のインターネットなど、ネットワーク上でWebサーバを利用可能にする場合には必須です。 外部からWebサーバにアクセスすることが不必要なテスト段階では、リスンするポートを閉じたままにしておくとよいでしょう。 デフォルトの設定を使用する、または必要な変更を加えたなら、[]をクリックして設定を続けます。
SUSE LinuxのApacheパッケージには、さまざまなApacheモジュールが付属しています。 モジュールはApacheの機能を拡張します。いろいろなタスクを行うものが利用可能です。 []設定オプションでは、サーバの起動時に各Apacheモジュールをロードするかどうかを設定できます。 モジュールについての詳細は、項46.5. 「Apacheのモジュール」を参照してください。 [] をクリックします。
このオプションは、デフォルトのWebサーバに関連しています。 項46.4. 「仮想ホスト」で説明しているように、 Apacheでは、単一の物理マシンで複数のドメインのサービスを行えます。 設定ファイルで最初に宣言されたドメイン(つまりVirtualHost)は通常、デフォルトのホストと呼ばれます。 ホストの設定を編集するには、テーブル内の適切なエントリを選択して、[]をクリックします。 新しいホストを追加するには、[]をクリックします。 ホストを削除するには、そのアカウントを選択し、[]をクリックします。
このステップでは、ホストの設定にSSL (secure sockets layer)オプションと値を追加するかどうかを決めることができます。 この点についての詳細は、項46.3.1.3. 「SSLサポートの追加」を参照してください。
これはサーバのデフォルト設定のリストです。
項46.2.3.4. 「ドキュメントルート」で説明しているように、/srv/www/htdocsは、ApacheがWebページを取得するデフォルトの場所です。
/srv/www/htdocsは、Webページのある場所です。
Aliasディレクティブを使えば、URLを物理的なファイルシステムの場所にマップすることができます。 このことは、パスのURLエイリアスを行えば、ファイルシステムのドキュメントルートの外にあるパスであってもアクセスできることを意味しています。
デフォルトのSUSE Linuxでは、Alias /iconsが/usr/share/apache2/iconsを指しています。ここには、ディレクトリのインデックス表示で使用されるApacheのアイコンがあります。
/usr/shareapache2/iconsはAliasディレクトリのある場所です。
Aliasディレクティブと同様に、ScriptAliasディレクティブはURLをシステム内の場所にマップします。 相違点は、ScriptAliasはターゲットディレクトリをCGIの場所として指定するということです。つまり、その場所にあるCGIスクリプトが実行されます。
/srv/www/cgi-binはScriptAliasディレクトリのある場所です。
/etc/apache2/conf.d/*.confは、特定のパッケージに付属する設定ファイルを含むディレクトリです。 /etc/apache2/conf.d/apache2-manual?confは、すべてのapache2-manual設定ファイルを含むディレクトリです。
このオプションは、項46.4. 「仮想ホスト」を参照してください。
[]を選択すると、VirtualHostは、そのサーバ名に対する要求に応答します(項46.4.1. 「名前ベースの仮想ホスト」を参照)。
[]を選択すると、Apacheは、クライアントが送信したHTTPヘッダ情報によって、要求に応答するホストを選択します。 IPベースの仮想ホストについての詳細は、項46.4.2. 「IPベースの仮想ホスト」を参照してください。
クライアントがWebサーバとコンタクトするために使うデフォルトのURLを指定します。 http://にあるWebサーバに接続するには、FQDN (ドメインを参照)か、またはそのIPアドレスを使います。
FQDN
[]用の、Webサーバ管理者の電子メールアドレスを指定します。
[]のステップを完了したら、[]をクリックして、設定ダイアログを続けます。
このステップでは、ウィザードはすでに設定されている仮想ホストのリストを表示します(項46.4. 「仮想ホスト」を参照)。 ホストのうちの1つがデフォルトとして設定されています(サーバ名にアスタリスクの付いているもの)。 デフォルトのホストを設定するには、サーバを選択して[]をクリックします。
ホストを追加するには、[]をクリックし、表示されるダイアログにホストについての基本的な情報を入力します。 []には、サーバ名、サーバのコンテンツのルート、 管理者の電子メールアドレスが含まれます。 ウィンドウの左側のフレームに表示されているヘルプテキストでは、これらの項目が詳しく説明されています。 []は、ホストの識別方法を決めるために用いられます。 それぞれのオプションを選択することにより、HTTPヘッダで要求されたサーバか、またはサーバのIPアドレスによるものかを決められます。 他の可能性としては、クライアントがサーバに接続したときに使用したIPアドレスによって仮想ホストを決める方法もあります。 また、オプションをオンにして、SSLのサポートを有効にすることもできます。 証明書ファイルのパスも指定できます。 []をクリックすると、デフォルトのディレクトリ/etc/apache2/ssl.crtが表示されます。 すべての情報を入力したら、[]をクリックして、設定の最後のステップに進みます。
これはウィザードの最後のステップです。 ここでは、Apacheサーバの起動をブート時に行うか、それとも手動で行うかを選択できます。 先ほど選択したポート、およびデフォルトのホストと仮想ホストも表示されます。 この設定でよければ、[]をクリックして、設定を完了します。
HTTPサーバのモジュールも、設定にさらに細かな調整を加えられるようになっています。 []をクリックすると、さらに多くの設定オプションが表示されます。 以下の変更が可能です。
[]設定を選択して[]をクリックすると、新しいウィンドウが表示されて、エントリの追加、削除、編集が行えます。
[]設定を選択して[]をクリックすれば、[]によってApache2モジュールのステータスを変更できます。 新しいモジュールを追加するには、[]をクリックします。
[]を選択して[]をクリックすれば、ホストの設定を編集できます。 オプションの追加、編集、削除も行えます。
[]を選択して[]をクリックすれば、ホストの追加、削除、編集、またはホストをデフォルトとして選択することが行えます。
これらのダイアログのどれからでも、[]をクリックすれば、エラーログやアクセスログを表示できます。 []をクリックして設定を終了し、YaSTコントロールセンターに戻ります。
ホストにSSLオプションを追加するには、HTTP Server Wizardの3番目のステップ(Default Host)で[]をクリックします。 サーバがすでにセットアップされているのでウィザードにアクセスできない場合には、HTTP Server Configurationダイアログで[]を選択して、[]、それから[]をクリックすれば、SSLオプションをセットアップできます。 どちらの場合でも、ポップアップウィンドウが表示されるので、[]オプションまでスクロールし、 []をクリックして確認します。 次に、選択したオプションの値を入力するよう促されます。 これは、値をonまたはoffに設定するだけの場合もありますが、ダイアログによっては適切な値を入力することが求められることもあります。 よく分からない場合には、SSLを設定する際に表示される値のパラメータの説明を参照してください。 []をクリックすると、オプションと値がホストの設定のリストに表示されます。 []をクリックすると、設定ダイアログの次のステップに進みます。
ホストの設定リストに[]が設定されたら、[]をクリックしてSSLの設定ダイアログを開きます。 これが表示されない場合には、[]をクリックし、[]を選択して、[]をクリックすると、ダイアログが自動的に表示されます。 ここではSSLオプションの追加、削除、編集が行えます。 []をクリックして、HTTP Server Wizardに戻ります。
Apacheを手動で設定するには、rootユーザとしてプレーンテキストの設定ファイルを編集する必要があります。
![]() | Apache2用のSuSEconfigモジュールは存在しない |
|---|---|
Apache2用のSuSEconfigモジュールは、SUSE Linuxから削除されました。 | |
/etc/sysconfig/apache2は、ロードするモジュール、インクルードする付加的な設定ファイル、サーバを起動するときのフラグ、コマンドラインに追加するべきフラグなど、Apacheのいくつかのグローバル設定を制御します。このファイルの各設定オプションについては、詳細なドキュメントが存在するので、ここでは説明しません。一般的な目的のWebサーバの場合には、/etc/sysconfig/apache2を設定するだけで十分でしょう。特定の設定が必要な場合には、項46.3.2.2. 「/etc/apache2/httpd.conf内のApacheのディレクティブ: Global Environment
」を参照してください。
![]() | サーバの起動時に自動的に作成されるファイル |
|---|---|
これらのファイルは手動で編集しないでください。代わりに、 | |
よりきめ細かな設定を行う場合、特に仮想ホスト、グローバル環境、またはメインサーバの手動設定を変更する場合には、/etc/apache2/*のファイルを調べてください。
SUSE Linuxでは、/etc/apache2/httpd.confを、他の設定ファイルを参照する中心点として用いています。このファイルは、/etc/sysconfig/apache2では利用できない機能を有効にする場合にのみ、編集してください。httpd.confのGlobal Environmentセクションのディレクティブは、Apacheの全体的な動作に影響を及ぼします。
続くセクションでは、YaSTでは利用できないディレクティブの一部について説明します。Document Root (ドキュメントルート) のような中心的なディレクティブは、Global EnvironmentおよびVirtualHostの両方で重要で、必須です。
以下のパラメータとディレクティブは、論理的な関係および設定の影響範囲に従って並べられています。これらはすべて、/etc/apache2/httpd.confで設定すべきです。
LoadModuleディレクティブは、 実行時にロードするApacheモジュールを指定します。module_identifierは、ドキュメントに記されているモジュールの名前です。/path/to/moduleは、ファイルへの絶対または相対パスです。
On SUSE Linuxでは、LoadModule分を直接使用する必要はありません。代わりに、/etc/sysconfig/apache2ではAPACHE_MODULEが用いられます。
Apacheが同時に処理できるクライアントの最大数を指定します。MaxClientsは、Webサイトが同時に受けるリクエストを処理できる程度に大きく、すべてのプロセスを処理しても物理RAMが不足することがない程度に小さくする必要があります。
Main Serverセクションのディレクティブは、クライアントのリクエストがどのVirtualHostによっても処理されず、そのためメインサーバによって処理される必要がある場合に適用されます。加えて、このコンテキストで定義されたパラメータは、すべての設定済み仮想ホストのデフォルトになります。それで、Main ServerのすべてのディレクティブはVirtualHostコンテキストでも設定することができます。その場合、それらはデフォルトを上書きします。
ファイル指定が欠けているURLを補うためにApacheが検索するファイルを設定します。デフォルト値は、index.htmlです。たとえば、クライアントがURLhttp://www.example.com/foo/を要求した場合、ディレクトリfooにファイルindex.htmlがあれば、Apacheはこのページをクライアントに送ります。複数のファイルを指定するには、スペースで区切ります。
このディレクティブは、<Directory></Directory>宣言の内側でのみ使用できます。Directoryを参照してください。
AllowOverrideは、.htaccessファイル(またはAccessFileNameで指定された他のファイル、項46.3.2.3.3. 「AccessFileName filenames
」を参照)が、どのアクセスおよび表示オプションを上書きすることができるかを指定します。
可能な値は以下のとおりです。
全て
すべてのオプションは、.htaccessファイルによって上書きすることができます。
なし
.htaccessファイルによって上書きすることができるオプションはありません。
AuthConfig
.htaccessファイルを使用すれば、ディレクトリをパスワードで保護することができます。
FileInfo
.htaccessファイル内でドキュメントタイプを制御するディレクトリの使用を許可します。典型的な例は、ErrorDocumentによるカスタムのエラーページの設定です(http://httpd.apache.org/docs-2.0/mod/core.html#errordocumentを参照)。
Indexes
このパラメータは、DirectoryIndexドキュメントが見つからなかった場合に、 Apacheがディレクトリの内容の表示を制御するのを許可します。
Limit
クライアントの、ディレクトリまたは特定のファイルに対するアクセスを制御します。この目的で、ディレクティブAllow、Deny、およびOrderが.htaccessファイル内で使用されます。これらのディレクティブの使用方法については、アクセスモジュールのドキュメントを参照してください(http://httpd.apache.org/docs-2.0/mod/mod_access.html)。
Options
.htaccessファイル内でのOptionsおよびXBitHackディレクティブの使用を許可します。Optionsディレクティブ(http://httpd.apache.org/docs-2.0/mod/core.html#options)は、特定のディレクトリでどのサーバ機能を利用可能にするかを制御します。XBitHackディレクティブ(http://httpd.apache.org/docs-2.0/mod/mod_include.html#xbithack)は、SSI (項46.5.1.1. 「mod_includeによるサーバ側でのインクルード
」を参照)によって解析される実行ビットがセットされたファイルを許可します。
![]() | 重要項目 |
|---|---|
これらの設定は、カレントディレクトリとそのサブディレクトリに再帰的に適用されます。これらのオプションは、 | |
AccessFileNameは、ディレクトリのグローバルアクセス権やその他の設定を上書きできるファイルの名前を設定します (Directoryを参照)。
デフォルト値は、.htaccessです。複数のファイルを指定するには、スペースで区切ります。
Apacheがエラーメッセージのログを出力するファイル名を指定します。また、Apacheはコマンドまたはスクリプトに対してログを出力することもできます。デフォルト設定は/var/log/apache2/error_logです。
単一の物理マシン上で複数のドメインまたはホスト名を維持するには、VirtualHostコンテナが必要です。これらは設定のVirtual Hostsセクションで宣言します。仮想ホストの構文と機能についての詳細は、項46.4. 「仮想ホスト」を参照してください。
ブート時にApache Webサーバを有効にするには、YaSTのランレベルエディタを使います。起動するには、YaSTで +の順に選択します。それから、[]エントリを探します。マシンのブート時にApacheを自動的に起動するには、[]を選択します。経験を積んだユーザは、chkconfigツールを使うこともできます。/sbin/chkconfig -a apache2コマンドで同じ結果が得られます。
Apacheを起動または停止するには、/usr/sbin/rcapache2スクリプトをrootユーザとして実行します。/usr/sbin/rcapache2は、Apache Webサーバを起動および停止させる、以下のようなパラメータを受け付けます。
start
Apache Webサーバを起動します。
startssl
Apache Webサーバを、SSLをサポートする状態で起動します。ApacheがSSLをサポートするように設定する方法についての詳細は、項46.3.1.3. 「SSLサポートの追加」および項46.5.2.2. 「Secure Sockets LayerとApache:mod_ssl」を参照してください。
stop
Apache Webサーバを停止します。
configtest
実際にWebサーバの停止、起動、再起動を行わずに、Apacheの設定をテストします。テストは、サーバを起動、リロード、再起動するたびに強制的に行われるので、通常は明示的にテストを実行する必要はありません。
restart
まずWebサーバを停止し、それから再び起動します。
try-restart
Webサーバが動作していれば、再起動します。
restart-hup
Apache Webサーバを、SIGHUPシグナルを送って再起動します。通常は使用しません。
gracefulおよびreload
フォークしたすべてのApacheプロセスに、シャットダウンする前にリクエストを完了させて、それからWebサーバを停止します。1つのプロセスが終了するたびに、新たに開始したもので置き換えられるので、最終的にはApacheが完全に「再起動」したことになります。
![]() | ティップ |
|---|---|
rcapache2 | |
status
Apache Webサーバの実行時のステータスをチェックします。
例 46.7. Apacheの起動時と停止時の出力例
tux@sun # rcapache2 status Checking for httpd2:unused tux@sun # rcapache2 configtest Syntax OK tux@sun # rcapache2 start Starting httpd2 (prefork) done tux@sun # rcapache2 status Checking for httpd2:running tux@sun # rcapache2 graceful Reload httpd2 (graceful restart) done tux@sun # rcapache2 status Checking for httpd2:running
設定ファイルの記述が間違っていると、Apacheが正しく起動しなかったり、まったく起動しなかったりすることがあります。全く起動しない場合には、メッセージも出力されないことがあります。毎回の起動および再起動時に、メインのエラーログファイルをチェックしてください。