CentOS7サーバーのネットワーク移設
公開するサーバーは、WANに繋がるルーターの下に有った、別のルーターの配下にサーバーを立てて、CMSの作成を行っていました。
サーバーを公開する場所は。WAN側のルーターのネットワークに移設する事になります。又このネットワークには、サーバー1台だけを配置し、他のPCは別のネットワークに移設します。
これらの作業を行うため、固定IPを割り当てていたサーバーのIPアドレスの第3オクテッドを変更します。
サーバーのIPアドレスを変更します
# nmtui
nmtuiコマンドで下図の画面でIPアドレスとDNSを変更します
自宅サーバーにアクセスするクライアントPCの設定変更が必要です
クライアントPCから、自宅にある、公開サーバーにアクセスする場合、外部のDNSは使えないので、各PCの hosts ファイルを変更します。Ubuntu機の例です。
$ sudo vi /etc/hosts
127.0.0.1 localhost
127.0.1.1 user-Desktop
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.21.210 east19-mikas.com 追加した部分です。IPアドレスとドメイン名(サーバー名)を記載
サーバー名の変更
本サイトの概要の説明の方法で行う場合は、最初にドメイン名を取得し、最初からサーバー名とドメイン名を同じにしていますので、本作業は不要です。一応行った作業の記録のため、この項目お残しました。
DBの文字置換
今までは、ローカル環境でのサーバーとして稼働していたので、適当な名前でサーバー名を使っていましたが、公開する段になって、ドメイン名とサーバー名を同じにする必要が出てきました。
公開前の段階では、サーバー名がドメイン名と違っていました。公開ドメイン名は後から取得し、east19-mikas.comです!
変更後のサーバー名:east19-mikas.com
WordPressの場合、リンクは殆どURLのトップからDBに保存されるようです。このため、SQLファイルを phpMyAdminで、クライアントPCにダウンロードし、Ubuntu PCの Mouspadエディタで、URLの全置換を行います。
置換前の文字列:https://east-niship
置換後の文字列:https://east19-mikas.com に全置換の操作をします。
作業後、SQLファイルはZip圧縮します。
サーバーにクライアントPCのブラウザでphpMyAdminにアクセスし、該当するデーターベースの全てのテーブルを選択して、「削除」した後、上記のZipファイルをインポートします。
サーバーの設定変更
サーバーでのApacheとSSL関係の設定ファイルの変更をします
httpdの設定ファイルのサーバー名
/etc/httpd/conf/httpd.conf
SSLの設定ファイルのサーバー名
/etc/httpd/conf.d/ssl.conf
これらを変更したらApacheを再起動します。
# systemctl restart httpd.service
動作確認
設定が終わり、Apacheの再起動をしたら、変更したURL:「https://east19-mikas.com/mput/」サイトにアクセスし、正常にサイトが表示されるか確認します。
注意:本サイト内で、別項で説明していますが、サブディレクトリ、mputにインストールしたWordPressサイトを、mputなしでアクセス出来るようにした後では、この最後の mput は入力不要です。
ドメイン名を管理
通常の光回線で、サーバーを自宅のPCで運用している場合に必要な作業です。
ドメイン名自体はレジストラから取得しましたが、サーバーを自宅に設置している場合、WAN側のIP変動にどう対応するかがポイントになります。
MyDNSはこのような場合、定期的にIPアドレスを通知することにより、DNSに対して、サーバーのIP変更を吸収してくれます。
レジストラに対しては、DNSサーバーの設定をMyDNSのDNSサーバーを登録することで、取得したドメイン名を有効化してくれます。
では、定期的にMyDNSに、IPアドレスの通知を自動で行う方法は下記のサーバーのCronに、スクリプトを登録することで実現します。コードは次のようにします。
# cd /etc/cron.hourly
# vi mydns.cron
#!/bin/bash
wget --http-user=[MasterID] --http-passwd=[Password] http://ipv4.mydns.jp/login.html -O /dev/null
上記の様に、ディレクトリ /etc/cron.hourly の下に、mydns.cron 名で、毎時、実行するスクリプトを既述しておきます。 cron.hourly の下に有効なスクリプトファイルを置いておくことにより、毎時間に、MyDNSに対してIPの通知を実行してくれます。