前回の記事 で取得していた naruhoto.cf というドメインを実際に使える状態まで設定を行い、最終的には https://www.naruhodo.cf へブラウザでアクセスできるように設定します。
- 概要
- BIND 9と Apache のバーチャルホストの設定の流れ
- 準備&確認
- BIND9 をインストール
- BIND 9 を設定
- DNS ルートゾーンファイル ( named.ca ) を最適化
- DNS ルートゾーンファイルの自動更新を設定
- BIND9 デーモンを起動
- Firewalld で 53/TCP と 53/UDP ポートをオープン
- 問い合せ先 DNS サーバを自分自身に変更
- BIND9 の動作確認
- オープンリゾルバを確認
- Apache のバーチャルホスト( VirtualHost ) を設定
- ドキュメントルートディレクトリを作成
- HTTP|ネームベースのバーチャルホストを設定
- HTTPS | ネームベースのバーチャルホストを設定
- バーチャルホストの設定を確認
- Apache の config ファイル(httpd.conf)の設定を確認
- Apache/httpd を再起動
- サイト ( naruhodo.cf ) 確認用のテストページを作成
- サイト ( naruhodo.cf ) を確認
- テストページを削除
概要
筆者の自宅サーバは NAT (Network Address Translation) 環境であり内部用 IP アドレスと外部用 IP アドレスが異なるネットワークになっているので DNS サーバも両方対応できるよう構成します。
DNS サーバの設定後、動作確認を行います。その後、Apache の VirtualHost に naruhodo.cf ドメインを追加しブラウザでアクセスしてコンテンツが正常に見られるかまで行います。
BIND 9と Apache のバーチャルホストの設定の流れ
- 流れ1必要なパッケージをインストール
- 流れ2設定ファイルを編集 (❶)
- 流れ3naruhodo.cf のゾーン ( Zone ) 定義ファイルを作成 (❶)
- 流れ4naruhodo.cf のゾーン ( Zone ) データベースファイルを作成 (❷)
- 流れ5DNS ルートゾーンファイル最適化 (❷)
- 流れ6DNS ルートゾーンファイル自動更新設定 (❷)
- 流れ7BIND9 デーモンを起動
- 流れ8Firewalld 設定
- 流れ9問い合せ先 DNS サーバを自分自身に変更
- 流れ 10動作確認
- 流れ1ドキュメントルートディレクトリを作成
- 流れ2HTTP | ネームベースのバーチャルホストを設定
- 流れ3バーチャルホストの設定を確認
- 流れ4Apache の config ファイル ( httpd.conf ) の設定を確認
- 流れ5Apache/httpd を再起動
- 流れ6サイト ( naruhodo.cf ) 確認用のテストページを作成
- 流れ7サイト ( naruhodo.cf ) を確認
- 流れ8テストページを削除(終了)
準備&確認
CentOS7 サーバへ SSH アクセス
DNS サーバへアクセスします。
try🐶everything ~$ ssh naru@centos7 -p1999 naru@centos7's password: Last login: Wed Jun 5 10:27:07 2019 from 192.168.1.11 [naru@centos7 ~]$ sudo su - [sudo] naru のパスワード: 最終ログイン: 2019/06/05 (水) 10:27:22 JST日時 pts/0
BIND9 をインストール
[root@centos7 ~]# yum -y install bind bind-chroot bind-utils ◀︎ bind-utilsはdig、dnslookup などを実行するため必要です。
インストールされた BIND9 パッケージを確認
[root@centos7 ~]# yum list installed | grep bind bind.x86_64 32:9.9.4-73.el7_6 @updates bind-chroot.x86_64 32:9.9.4-73.el7_6 @updates bind-libs.x86_64 32:9.9.4-73.el7_6 @updates bind-libs-lite.x86_64 32:9.9.4-73.el7_6 @updates bind-license.noarch 32:9.9.4-73.el7_6 @updates bind-utils.x86_64 32:9.9.4-73.el7_6 @updates rpcbind.x86_64 0.2.0-47.el7 @base
BIND 9 を設定
設定ファイル ( /etc/named.conf ) を編集します。
[root@centos7 ~]# cat /etc/named.conf ... options { #listen-on port 53 { 127.0.0.1; }; ◀︎ 行頭の#を消すと内部向けのみになるので付けたままにしておく。 #listen-on-v6 port 53 { ::1; }; ◀︎ IPv6 は使わないのでこれも付けたままに。 version "unknown"; ◀︎ bind9 のバージョンを非表示 directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; localnets; ◀︎ 内部ネットワーク 123.123.123.10; ◀︎ DNS サーバ }; recursion yes; ◀︎ 再帰問い合せ機能を有効化(内部向け DNS サーバとして動作) //DNSSEC 無効化 ◀︎ #dnssec-enable yes; #dnssec-validation yes; dnssec-enable no; dnssec-validation no; dnssec-lookaside no; /* Google もしくは Freenom World を設定 */ ◀︎ forwarders { 8.8.8.8; 8.8.4.4; ◀︎ Google // or 80.80.80.80; 80.80.81.81; ◀︎ freenom world }; ... }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; category lame-servers { null; }; ◀︎ 追加 }; /* 内部向け設定 */ //追加(ここから) view "internal" { match-clients { localnets; }; match-destinations { localnets; }; //追加(ここまで) ... include "/etc/named/named.naruhodo.cf.zone"; ◀︎ 追加(内部向けゾーン定義ファイルを指定) }; /* 外部向け設定(固定IPアドレス環境のみ) */ //追加(ここから) view "external" { match-clients { any; }; match-destinations { any; }; include "/etc/named/named.naruhodo.cf.zone.wan"; ◀︎ 追加(外部向けゾーン定義ファイルを指定) }; //追加(ここまで)
naruhodo.cf のゾーン ( Zone ) 定義ファイル名を作成
設定ファイルで指定した2つのゾーン ( Zone ) ファイルを作成します。(ファイル名は任意)
内部向けゾーン ( Zone ) 定義ファイルを作成します。
[root@centos7 named]# cat /etc/named/named.naruhodo.cf.zone zone "naruhodo.cf" { type master; file "naruhodo.cf.db"; ◀︎ 内部向けゾーンデータベースファイルを指定 }; zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.db"; };
外部向けゾーン ( Zone ) 定義ファイルを作成
[root@centos7 named]# vi /etc/named/named.naruhodo.cf.zone.wan zone "naruhodo.cf" { type master; file "naruhodo.cf.db.wan"; ◀︎ 外部向けゾーンデータベースファイルを指定 allow-query { any; }; allow-transfer { 123.123.123.10 ◀︎ DNSサーバ IP アドレス }; notify yes; };
naruhodo.cf のゾーン ( Zone ) データベースファイルを作成
ゾーン ( Zone ) 定義ファイルで指定した2つのゾーン ( Zone ) データベースファイルを作成します。(ファイル名は任意)
内部向け正引きゾーンデータベース(ドメイン名 ⇢ IP アドレス)を作成します
[root@centos7 named]# vi /var/named/naruhodo.cf.db $TTL 86400 @ IN SOA naruhodo.cf. root.naruhodo.cf.( 2019051222 ; Serial 28800 ; Refresh ◀︎ 値を zero にすると変更内容がすぐ反映されます。 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns1.naruhodo.cf. IN NS ns2.naruhodo.cf. IN MX 10 smtp.naruhodo.cf. ns1 IN A 192.168.1.10 ns2 IN A 192.168.1.10 smtp IN A 192.168.1.10 @ IN A 192.168.1.10 * IN A 192.168.1.10
内部向け逆引きゾーンデータベース( IP アドレス ⇢ ドメイン名)を作成します
[root@centos7 named]# vi /var/named/1.168.192.in-addr.arpa.db $TTL 86400 @ IN SOA naruhodo.cf. root.naruhodo.cf.( 2019051223 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS naruhodo.cf. 10 IN PTR naruhodo.cf.
外部向け正引きゾーンデータベース(ドメイン名 ⇢ IP アドレス)を作成します
[root@centos7 named]# cat naruhodo.cf.db.wan $TTL 86400 @ IN SOA ns1.naruhodo.cf. root.naruhodo.cf.( 2019051321 ; Serial 28800 ; Refresh 7200 ; Retry 2419200 ; Expire 86400 ) ; Minimum IN NS ns1.naruhodo.cf. IN NS ns2.naruhodo.cf. IN MX 10 smtp.naruhodo.cf. ns1 IN A 123.123.123.10 ns2 IN A 123.123.123.10 @ IN A 123.123.123.10 www IN CNAME naruhodo.cf. smtp IN A 123.123.123.10 mail IN A 123.123.123.10 naruhodo.cf. IN TXT "v=spf1 ip4:123.123.123.10 ~all" ;Only, Mail Server
DNS ルートゾーンファイル ( named.ca ) を最適化
Apache のバーチャルホスト( VirtualHost ) を設定
[root@centos7 named]# dig . ns @198.41.0.4 +bufsize=1024 > /var/named/chroot/var/named/named.ca
確認します。
[root@centos7 named]# cat /var/named/chroot/var/named/named.ca
DNS ルートゾーンファイルの自動更新を設定
毎月自動更新するスクリプトを作成します。
centossrv.comさんのスクリプトのまんまです。(大変お世話になります!)
[root@centos7 named]# vi /etc/cron.monthly/named.root_update #!/bin/bash new=`mktemp` errors=`mktemp` dig . ns @198.41.0.4 +bufsize=1024 > $new 2> $errors if [ $? -eq 0 ]; then sort_new=`mktemp` sort_old=`mktemp` diff_out=`mktemp` sort $new > $sort_new sort /var/named/chroot/var/named/named.ca > $sort_old diff --ignore-matching-lines=^\; $sort_new $sort_old > $diff_out if [ $? -ne 0 ]; then ( echo '-------------------- old named.root --------------------' cat /var/named/chroot/var/named/named.ca echo echo '-------------------- new named.root --------------------' cat $new echo '---------------------- difference ----------------------' cat $diff_out ) | mail -s 'named.root updated' root cp -f $new /var/named/chroot/var/named/named.ca chown named. /var/named/chroot/var/named/named.ca chmod 644 /var/named/chroot/var/named/named.ca which systemctl > /dev/null 2>&1 if [ $? -eq 0 ]; then systemctl restart named-chroot > /dev/null else /etc/rc.d/init.d/named restart > /dev/null fi fi rm -f $sort_new $sort_old $diff_out else cat $errors | mail -s 'named.root update check error' root fi rm -f $new $errors
BIND9 デーモンを起動
CentOS7 ではデフォルトで BIND を chroot 化します。
※ chrootとは、UNIXオペレーティングシステムにおいて、現在のプロセスとその子プロセス群に対してルートディレクトリを変更する操作である。ルートディレクトリを別のディレクトリに変更されたプロセスは、その範囲外のファイルにはアクセスできなくなるため、この操作をchroot監獄などとも呼ぶ。(wikiより)
named-chroot デーモンを使って BIND 設定に必要な /etc/named*、/var/named/* などを /var/named/chroot 以下へ自動でマウント・アンマウント ( ON / OFF ) してくれます。
プロセスがルートディレクトリ ( / ) ではなく、/var/named/chroot だけにアクセスできるように権限を制御して、ハッキングなどのセキュリティ事故からルートディレクトリ ( / ) を守るために使ったりします。
[root@centos7 named]# systemctl start named-chroot ◀︎ BIND9 自動起動 [root@centos7 named]# systemctl enable named-chroot ◀︎ BIND9 自動起動設定
BIND9 のプロセス状態を確認します。(選択)
Active: active (running)…のように表示されると正常動作中!
(エラーが出ると、Active: failed (Result: exit-codeのように failed が表示される)
[root@centos7 named]# systemctl status named-chroot
Firewalld で 53/TCP と 53/UDP ポートをオープン
※ ここはファイアウォール ( firewalld ) を適用している前提です。
BIND9 デーモンが正常起動中であれば、53/TCP と 53/UDP ポートをオープンします。
[root@centos7 named]# firewall-cmd --add-service=dns --zone=public --permanent [root@centos7 named]# firewall-cmd --reload ◀︎ 再起動
確認します。(選択)
表示される内容はご自身の環境によって異なります。dns が表示されれば問題ないです。より詳しく見たいなら、firewall-cmd –list-all を打って見てください。
[root@centos7 named]# firewall-cmd --list-service samba http dns smtp smtps ssh https imaps
問い合せ先 DNS サーバを自分自身に変更
[root@centos7 ~]# cat /etc/resolv.conf nameserver 127.0.0.1 nameserver 8.8.8.8 ◀︎ localhost がダメの場合働くように。
BIND9 の動作確認
リッスンしているプロセスを確認します。
[root@centos7 ~]# netstat -anp |grep LISTEN |grep named tcp 0 0 123.123.123.10:53 0.0.0.0:* LISTEN 30434/named tcp 0 0 192.168.1.10:53 0.0.0.0:* LISTEN 30434/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 30434/named
nslookup で確認します。
自分自身 ( DNS サーバ)から:プライベット側
[root@centos7 named]# nslookup > naruhodo.cf ◀︎ 正引き Server: 127.0.0.1 Address: 127.0.0.1#53 Name: naruhodo.cf Address: 192.168.1.10 ◀︎ 正引き(結果) > 192.168.1.10 ◀︎ 逆引き Server: 127.0.0.1 Address: 127.0.0.1#53 10.1.168.192.in-addr.arpa name = naruhodo.cf. ◀︎ 逆引き(結果) > > www.google.com ◀︎ 外部サーバ(正引き) Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: www.google.com Address: 216.58.197.196 ◀︎ 外部サーバ(正引き結果) > > 216.58.197.196 ◀︎ 外部サーバ(逆引き) Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: ◀︎ 外部サーバ(以下、逆引き結果) 196.197.58.216.in-addr.arpa name = nrt13s48-in-f196.1e100.net. 196.197.58.216.in-addr.arpa name = nrt13s48-in-f4.1e100.net. ... > > exit
クライアント ( 作業PC ) から:グローバル側
try🐶everything ~$ nslookup > naruhodo.cf ◀︎ 正引き Server: 192.168.11.1 Address: 192.168.11.1#53 Non-authoritative answer: Name: naruhodo.cf Address: 123.123.123.10 ◀︎ 正引き(結果)・グローバル IP アドレス >
dig で確認します。
自分自身 ( DNSサーバ ) から:プライベット側
[root@centos7 named]# dig naruhodo.cf ◀︎ 正引き ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> naruhodo.cf ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41750 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;naruhodo.cf. IN A ;; ANSWER SECTION: naruhodo.cf. 86400 IN A 192.168.1.10 ◀︎ 正引き(結果) ;; AUTHORITY SECTION: naruhodo.cf. 86400 IN NS ns1.naruhodo.cf. naruhodo.cf. 86400 IN NS ns2.naruhodo.cf. ;; ADDITIONAL SECTION: ns1.naruhodo.cf. 86400 IN A 192.168.1.10 ns2.naruhodo.cf. 86400 IN A 192.168.1.10 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Jun 05 18:08:23 JST 2019 ;; MSG SIZE rcvd: 124 [root@centos7 named]# dig -x 192.168.1.10 ◀︎ 逆引き ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> -x 192.168.1.10 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25554 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;10.1.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 10.1.168.192.in-addr.arpa. 86400 IN PTR naruhodo.cf. ◀︎ 逆引き(結果) ;; AUTHORITY SECTION: 1.168.192.in-addr.arpa. 86400 IN NS naruhodo.cf. ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Jun 05 18:08:38 JST 2019 ;; MSG SIZE rcvd: 121 [root@centos7 named]#
クライアント ( 作業PC ) から:グローバル側
try🐶everything ~$ dig naruhodo.cf ◀︎ 正引き ; <<>> DiG 9.10.6 <<>> naruhodo.cf ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6862 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;naruhodo.cf. IN A ;; ANSWER SECTION: naruhodo.cf. 86400 IN A 123.123.123.10 ◀︎ 正引き(結果) ;; Query time: 159 msec ;; SERVER: 192.168.11.1#53(192.168.11.1) ;; WHEN: Wed Jun 05 18:11:36 JST 2019 ;; MSG SIZE rcvd: 56 try🐶everything ~$
オープンリゾルバを確認
オープンリゾルバ (外部の不特定の IP アドレスからの再帰的な問い合わせを許可している DNS サーバ) となっているかを確認します。
※ 詳細はこちら、オープンリゾルバ確認サイト
NOT open が表示されたらOKです!
[root@centos7 named]# [root@centos7 named]# wget -qO - http://www.openresolver.jp/cli/check.html Configured DNS server: [NOT open] 124.124.124.11(124.124.124.11) Source IP address: [NOT open] 123.123.123.10(123.123.123.10.static.zt.jp) [root@centos7 named]#
ここまで DNS サーバの設定・確認が完了しました。
次は Apache の VirtualHost を設定します。
Apache のバーチャルホスト( VirtualHost ) を設定
Apache はバーション 2.4.39 で TLS 1.3・HTTP/2 などに対応済みです。
前提
既にメインサイトを運営中、新規サイトを追加する
・メインサイト:https://jacepark.com
・・ドキュメントルート:/usr/local/apache2/htdocs
・・ログファイル:/usr/local/apache2/logs/access.log、error.log
・新規サイト:https://naruhodo.cf
・・ドキュメントルート:/usr/local/apache2/htdocs/naruhodo.cf
・・ログファイル:/usr/local/apache2/logs/access.log、error.log
ドキュメントルートディレクトリを作成
[root@centos7 ~]# mkdir /usr/local/apache2/htdocs/naruhodo.cf
HTTP|ネームベースのバーチャルホストを設定
ファイルに書かれた順にパーシングされますので、メインホストの設定は先頭に置きましょう。
最低限、どのホストが扱われるかを示す ServerName ディレクティブと、 そのホスト用のコンテンツがファイルシステム上のどこにあるかを示す DocumentRoot ディレクティブを 書く必要があります。
既にあるウェブサーバにバーチャルホストを追加する場合、 既存のウェブサーバに対しても ブロックを作らなければなりません。このバーチャルホストの ServerName と DocumentRoot は、グローバルな ServerName と DocumentRoot と同じものにします。また、このバーチャルホストを設定ファイルの中で 先頭に置いて、デフォルトホストとして動作するようにします。
詳細はこちら、Apache バーチャルホスト説明書
下記のように設定ファイル ( httpd-vhosts-10-service.conf ) を作成します (ファイル名は任意)
[root@centos7 apache2]# vi /usr/local/apache2/conf/extra/httpd-vhosts-10-service.conf <VirtualHost *:80> ServerAdmin admin@naruhodo.cf DocumentRoot "/usr/local/apache2/htdocs/naruhodo.cf" ServerName naruhodo.cf ServerAlias www.naruhodo.cf *.naruhodo.cf # htaccess設定(START)(参考までに) <Directory "/usr/local/apache2/htdocs/naruhodo.cf"> #Options Indexes FollowSymLinks AllowOverride AuthConfig Limit Order allow,deny Allow from all </Directory> # htaccess設定(END) # 301リダイレクト設定(START)(これも参考までに) RewriteEngine on RewriteMap lowercase int:tolower RewriteCond "${lowercase:%{HTTPS}}" !on RewriteCond "${lowercase:%{REQUEST_SCHEME}}" !https RewriteCond "${lowercase:%{SERVER_PORT}}" !443 RewriteCond "${lowercase:%{HTTP_HOST}}" "^naruhodo\.cf$" RewriteRule ^(.*)$ https://www.%{HTTP_HOST}$1 [R=301,L] RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] # 301リダイレクト設定(END) ErrorLog "logs/error_log" CustomLog "logs/access_log" common </VirtualHost>
これで、ネームベースのバーチャルホストの設定は終了です。
次は Apache 設定を確認し、naruhodo.cf サイトへアクセスします。
以下は、HTTPS を適用した状態での説明になりますが、HTTPS を適用しない場合はSSL設定部分をスキップしてください。
スキップ!(ここから)
HTTPS | ネームベースのバーチャルホストを設定
Let’s encrypt の SSL 証明書を適用して HTTPS 化するケースです。( 別の記事で 紹介しています )
[root@centos7 apache2]# vi /usr/local/apache2/conf/extra/httpd-ssl.conf ... <VirtualHost *:443> ServerName www.naruhodo.cf ServerAlias naruhodo.cf DocumentRoot "/usr/local/apache2/htdocs/naruhodo.cf" AddDefaultCharset UTF-8 Protocols h2 http/1.1 SetOutputFilter BROTLI_COMPRESS;DEFLATE SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip no-brotli dont-vary SSLEngine on Header always set Strict-Transport-Security "max-age=31536000" #SSLCertificateFile /etc/pki/tls/certs/server.crt #SSLCertificateKeyFile /etc/pki/tls/private/server.key #Let's encrypt SSLCertificateFile /etc/letsencrypt/live/www.naruhodo.cf/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.naruhodo.cf/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateChainFile /etc/letsencrypt/live/www.naruhodo.cf/chain.pem ErrorLog "logs/https-error_log" CustomLog "logs/https-access_log" combined </VirtualHost>
スキップ!(ここまで)
バーチャルホストの設定を確認
バーチャルホストの設定のデバッグをするには Apache のコマンドラインスイッチ -S が便利です。
このコマンドは Apache が設定ファイルをどう解析したかについて出力します。IP アドレスとサーバ名を注意深く調べれば、設定の間違いを見つける助けになるでしょう。 (公式ホームより)
[root@centos7 apache2]# /usr/local/apache2/bin/httpd -S VirtualHost configuration: *:443 is a NameVirtualHost default server www.jacepark.com (/usr/local/apache2/conf/extra/httpd-ssl.conf:41) port 443 namevhost www.jacepark.com (/usr/local/apache2/conf/extra/httpd-ssl.conf:41) alias jacepark.com port 443 namevhost www.naruhodo.cf (/usr/local/apache2/conf/extra/httpd-ssl.conf:122) alias naruhodo.cf *:80 is a NameVirtualHost default server any (/usr/local/apache2/conf/extra/httpd-vhosts-00-anydeny.conf:3) port 80 namevhost any (/usr/local/apache2/conf/extra/httpd-vhosts-00-anydeny.conf:3) port 80 namevhost jacepark.com (/usr/local/apache2/conf/extra/httpd-vhosts-10-service.conf:34) alias www.jacepark.com port 80 namevhost naruhodo.cf (/usr/local/apache2/conf/extra/httpd-vhosts-10-service.conf:123) alias www.naruhodo.cf wild alias *.naruhodo.cf ServerRoot: "/usr/local/apache2" Main DocumentRoot: "/usr/local/apache2/htdocs" Main ErrorLog: "/usr/local/apache2/logs/error_log" Mutex watchdog-callback: using_defaults Mutex ssl-stapling-refresh: using_defaults Mutex rewrite-map: using_defaults Mutex ssl-stapling: using_defaults Mutex proxy: using_defaults Mutex ssl-cache: using_defaults Mutex default: dir="/usr/local/apache2/logs/" mechanism=default PidFile: "/usr/local/apache2/logs/httpd.pid" Define: DUMP_VHOSTS Define: DUMP_RUN_CFG User: name="daemon" id=2 Group: name="daemon" id=2
Apache の config ファイル(httpd.conf)の設定を確認
[root@centos7 apache2]# /usr/local/apache2/bin/httpd -t Syntax OK
Apache/httpd を再起動
再起動してプロセスを確認します。下記のように Active: active (running)..で OK です。
[root@centos7 apache2]# systemctl restart httpd2.service [root@centos7 apache2]# systemctl status httpd2.service ● httpd2.service - The Apache HTTP/2 Server Loaded: loaded (/etc/systemd/system/httpd2.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2019-06-05 21:43:39 JST; 19s ago Docs: man:httpd(8) man:apachectl(8) Process: 12468 ExecStop=/usr/local/apache2/bin/apachectl stop (code=exited, status=0/SUCCESS) Process: 12473 ExecStart=/usr/local/apache2/bin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 12476 (httpd) CGroup: /system.slice/httpd2.service ├─12476 /usr/local/apache2/bin/httpd -k start ├─12477 /usr/local/apache2/bin/httpd -k start ├─12478 /usr/local/apache2/bin/httpd -k start ├─12479 /usr/local/apache2/bin/httpd -k start └─12480 /usr/local/apache2/bin/httpd -k start Jun 05 21:43:39 centos7 systemd[1]: Starting The Apache HTTP/2 Server... Jun 05 21:43:39 centos7 systemd[1]: Started The Apache HTTP/2 Server. [root@centos7 apache2]#
サイト ( naruhodo.cf ) 確認用のテストページを作成
naruhodo.cf のルートディレクトリに index.html ファイルを作成します。
[root@centos7 apache2]# echo "<html><body><h1>It works!</h1></body></html>" > /usr/local/apache2/htdocs/naruhodo.cf/index.html
サイト ( naruhodo.cf ) を確認
確認方法1:ブラウザ ( Chrome ) でアクセス
It works! が表示されれば OK です。
確認方法2:無料ウェブサイトテストサイトを利用
確認方法3:curl コマンドを利用
-I ( 大文字i ) オプション:ページ情報を取得し、出力してくれます。
try🐶everything ~$ curl -I http://naruhodo.cf HTTP/1.1 301 Moved Permanently Date: Wed, 05 Jun 2019 13:00:36 GMT Server: Apache Location: https://www.naruhodo.cf/ Content-Type: text/html; charset=iso-8859-1 try🐶everything ~$ curl -I http://www.naruhodo.cf HTTP/1.1 301 Moved Permanently Date: Wed, 05 Jun 2019 13:00:43 GMT Server: Apache Location: https://www.naruhodo.cf/ Content-Type: text/html; charset=iso-8859-1
※ 筆者のサイトはすべてのアクセスに対して HTTPS へ 301リダイレクトされていますが、301リダイレクトされないサイトは下記のように出力されると思われます。
try🐶everything ~$ curl -I http://example.com HTTP/1.1 200 OK Date: Wed, 05 Jun 2019 13:10:56 GMT Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 Accept-Ranges: bytes Vary: Accept-Encoding,User-Agent Content-Type: text/html try🐶everything ~$
テストページを削除
[root@centos7 apache2]# rm -f /usr/local/apache2/htdocs/naruhodo.cf/index.html
以上、お疲れさまでした。
コメント