Helix Swarm管理者ガイド (2020.1)

Apache構成

Apache HTTP Server(Apache)の構成は、OSのディストリビューションによって異なる場合があります。ご使用のApacheのインストールに対応するドキュメントを参照してください。 例えば、macOSでは、システム環境設定の[共有]コントロールパネルでWeb共有を有効にする必要があります。

重要

CentOS/RHELのみ:

  • Apache 2.4をSCLパッケージまたはRHSCLパッケージからインストールすると、Apacheの設定ファイルは、通常のインストール場所の/etcではなく/opt/rh/httpd24/root/etcにインストールされます。 つまり、通常のservicesystemctlapachectlコマンドを実行すると、正しくないサーバをコントロールすることになります。 Swarmが使用するApacheのバージョンを制御するには、以下のいずれかの操作を実行します。

    • CentOS/RHEL 6でSystem Vスクリプトを使用する場合: service httpd24-httpd restart
    • CentOS/RHEL 7でsystemdスクリプトを使用する場合: systemctl restart httpd24-httpd

    apachectlコマンドは引き続き存在しますが、/opt/rh/httpd24環境で実行する必要があります。 そのため、上記のいずれかのコマンドを代わりに使用することをお勧めします。

  • Apacheサーバの起動時にApache HTTPサーバのLinuxテストページが表示されないようにするには、/opt/rh/httpd24/root/etc/httpd/conf.d/ディレクトリのwelcome.confファイルの内容をコメント化します。

  1. ご使用のシステムのApache構成を探します。

    一般的な構成ディレクトリは次のとおりです。

    • /etc/httpd/conf/
    • /etc/apache2/
    • /Applications/XAMPP/etc/

    構成パス内にある主要なApache構成ファイルの名前は、通常次のいずれかです。

    • httpd.conf
    • apache2.conf
    ヒント

    Apache構成ファイルの場所や名前に関する詳しい説明については、https://wiki.apache.org/httpd/DistrosDefaultLayoutを参照してください。

  2. Apache仮想ホスト(vhost)をインストールに設定します。

    Apache構成ディレクトリ内にsites-availableディレクトリとsites-enabledディレクトリが存在する場合は、以下のコマンドを実行します。

    1. sites-available/swarmファイルに以下のうちから適切な仮想ホスト定義を選んでコピーします。
    2. Swarmの仮想ホスト定義を有効にします。

      $ sudo a2ensite swarm

    または、メインのApache構成ファイル(httpd.conf またはapache2.conf)の最下部に、以下に示す仮想ホスト定義をコピーします。

    Apache 2.4の仮想ホスト定義の例:

    <VirtualHost *:80>
        ServerName myswarm.host
        ServerAlias myswarm
        ErrorLog "/path/to/apache/logs/myswarm.error_log"
        CustomLog "/path/to/apache/logs/myswarm.access_log" common
        DocumentRoot "/path/to/swarm/public"
        <Directory "/path/to/swarm/public">
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>

    注意

    詳細については、以下のリンクでApacheの仮想ホストに関するドキュメントを参照してください。https://httpd.apache.org/docs/2.4/vhosts/

  3. 仮想ホスト定義のカスタマイズを行います。
    1. myswarm.hostを、ネットワーク上のSwarmのホスト名に置き換えます。 これにはネットワーク上のDNS構成の調整が必要な場合があります。
    2. myswarm を、Swarmがホストされているサブドメインに置き換えます。 通常は、「swarm」に置き換えます。

      注意

      ログファイルのパスにmyswarm という文字列が含まれていますが、アクティブなホストとそのログファイルを整合させるため、この文字列はログファイルのサブドメイン名とプレフィックスに一致している必要があります。 こうすると、Apacheサーバが複数のSwarmインスタンスをホストしている場合に特に便利です。

    3. /path/to/apache/logsを、Apacheのログファイルを保管するパスに置き換えます。 通常、Apacheのログファイル名は、access_logerror_logです。
    4. /path/to/swarmを、Swarmディレクトリのパスに置き換えます。
  4. 適切なApacheモジュールが有効化されていることを確認します。

    • PHPモジュールとRewriteモジュールがアクティブになっているかどうかを確認するには、apachectlユーティリティを使用して、すべてのアクティブなモジュールを一覧表示します(このユーティリティは、システム上でapache2ctlという名前になっていることがあります)。

       $ apachectl -t -D DUMP_MODULES                
    • 出力内でphp7_moduleおよびrewrite_moduleを探してください。 出力内でこれらが見つかった場合は、ステップ5に進んでください。
    • Apacheユーティリティのa2enmod がインストールされている場合は、このユーティリティを使用してPHPモジュールとRewriteモジュールを有効にすることができます。

      $ sudo a2enmod php7 rewrite
    • a2enmod ユーティリティがインストールされていない場合は、Apache構成ファイルを手動で編集してください。 モジュールのApache構成ファイルを探してコメントを外すか、次の行を追加します。

      LoadModule  php7_module     libexec/apache2/libphp7.so
      LoadModule rewrite_module libexec/apache2/mod_rewrite.so
    • Apacheのインストールによって、モジュールの場所(.soファイル)のパスが異なる場合があります。
  5. Webサーバを再起動します。

    • 有効化したApache構成の変更を確実にするため、Webサーバの再起動を行います。

      $ sudo apachectl restart       
    • Apacheのアクティブな仮想ホストとモジュールを照会して、変更が反映されていることを確認します。

       $ apachectl -t -D DUMP_VHOSTS                          
      $ apachectl -t -D DUMP_MODULES
    重要

    P4PHPはスレッド操作をサポートしていないため、プリフォークMPMマルチプロセッシングモジュールの略称。Apache WebサーバのコンポーネントであるMPMは、ネットワークポートへのバインディング、要求の受信、要求を処理するための送信操作を実行します。を使用するようにApacheを構成する必要があります。

    LinuxとOSX Apacheのインストール環境では、プリフォークMPMがデフォルトでインストールされているため、何も設定する必要がない場合があります。

    Apache MPMとその設定方法について詳しくは、次を参照してください。https://httpd.apache.org/docs/2.4/mpm.html

  6. PHPを構成します。詳しくは、PHP構成を参照してください。