Apache IUS VirtualHostを使用した複数のホームページを運用する設定

はじめに

目的

  • ひとつのサーバー上・ひとつのIPアドレスで複数のホームページを運用する為の設定をします。
  • VirtualHostを使用します。
  • すべてのホームページで【https】を使用する設定をします。
  • 管理者が楽になる運用ができる設定を目指します。

設定

  • 各ホームページは[/Apache/SITE/]以下にディレクトを作成して運用する設定にします。
  • サーバー名が不明なものは[/Apache/SITE/DefaultPage]にアクセスする設定にします。

Apacheの停止

  • systemctl stop httpd.service

既存設定ファイルのバックアップ

  • mv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf~org
  • mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf~org

[httpd.conf]の作成

  • vi /etc/httpd/conf/httpd.conf
    ※ソースをダブルクリックし全件選択→コピー&ペーストしてください。
    [ServerAdmin]に[受信可能なメールアドレス]を記述してください。
    [ServerName]に[メインサーバーのFQDN]を記述してください。

[ssl.conf]の作成

  • vi /etc/httpd/conf.d/ssl.conf
    ※[ssl.conf]は共通仕様部分のみを記載しています。
    ※Virtual Host部分は[virtualhost_443.conf]で記載します。
    ※ソースをダブルクリックし全件選択→コピー&ペーストしてください。
  • このファイルは編集不要です。

[virtualhost_080.conf]の作成

  • vi /etc/httpd/conf.d/virtualhost_080.conf
    ※ソースをダブルクリックし全件選択→コピー&ペーストしてください。
  • 証明書の発行完了後に
    #RewriteEngine on
    #RewriteCond %{HTTPS} off
    #RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    のコメントを解除して強制的にHTTPSを使用するように変更します。
  • HTTPSリダイレクト完了後、このファイルは編集不要です。

[virtualhost_443.conf]の作成

  • 初期設定されてある自己証明書を使用する場合は証明書の[CN]に記載している値を[ServerName]に適用します。
    openssl x509 -text -noout -in /etc/pki/tls/certs/localhost.crt | grep CN
    ※下記の場合はWWW12345になります。
  • vi /etc/httpd/conf.d/virtualhost_443.conf
    [ServerName]に証明書の[CN]に記載されている値を記述してください。
    ※ソースをダブルクリックし全件選択→コピー&ペーストしてください。
  • 今後はこのファイルを編集します。

デフォルトのディレクトリの作成

  • mkdir -p /Apache/SITE/DefaultPage

Apacheの起動

  • systemctl start httpd.service
    エラーが無く起動することを確認してください。

[virtualhost_443.conf]の編集

  • vi /etc/httpd/conf.d/virtualhost_443.conf
    [23~40]行目をコピーして行頭の#(コメント)を外します。
    [24/25/36]行目の[FQDN]にはサーバー名[例:www.example.com]を入力します。
    [33/34]行目はSSL接続時に使用する証明書関係のPATHを記載します。
    ※[SSLCertificateFile]:【サーバー証明書・中間証明書】結合ファイル
    ※[SSLCertificateChainFile]の使用はApache2.4.7が最後となっています。
    ※[SSLCertificateKeyFile]:[サーバー証明書]を発行する際に使用した【鍵】ファイル
    を記載することによりVirtualHostを使用した複数のホームページ運用が可能です。

Apacheの再起動

  • systemctl restart httpd.service
    エラーが無く起動することを確認してください。

運用開始後のApacheの再起動

  • systemctl reload httpd.service
    こちらの方が使う機会は多いかと思います・・・が私はrestartを多用しています。

PHPの稼働確認

  • mv /var/www/html/info.php /Apache/SITE/DefaultPage/
    ※以前作成した【phpinfo()】を記載したphpファイルを移動しているだけですので、無い場合は新規作成してください。

0 件のコメント :

コメントを投稿