はじめに
目的
- ひとつのサーバー上・ひとつの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 件のコメント :
コメントを投稿