CentOS

【備忘録】サイトのドメインを変更した時の手順

投稿日:2020年6月3日 更新日:

この記事はだいたい 6 分ほどで読めます。

このBlogを書き始めて1か月たったのでドメインを有料のものに変更しました。

その設定変更した内容を備忘録として残します。

ネットワーク

ドメイン変更手順

  • ドメイン取得
  • サーバー(CentOS7)の設定変更
  • サイト移転

bind設定変更

私の場合は非固定IPで動かしているので内部向けの設定を変更していきます。

バージョン情報

設定変更するサーバーのバージョン情報です。

# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

bind設定ファイル

named.confを修正します。

旧ドメイン名で設定されているので新ドメインに変更します。

# vi /var/named/chroot/etc/named.conf

named.confを開いて下記を変更。

        // ドメイン名変更
        // include "/etc/named/named.beanhouse.dip.jp.zone";
        include "/etc/named/named.beanhouse.org.zone";

内部向けゾーン定義ファイル

新ドメイン用の内部向けゾーン定義ファイルを新規作成します。

# vi /etc/named/named.beanhouse.org.zone
zone "beanhouse.org" {
        type master;
        file "beanhouse.org.db";
};
zone "1.168.192.in-addr.arpa" {
        type master;
        file "1.168.192.in-addr.arpa.db";
};

内部向け正引きゾーンファイル

新ドメイン用の内部向け正引きゾーンファイルを新規作成します。

# vi /var/named/beanhouse.org.db
$TTL    86400
@       IN      SOA     beanhouse.org.  root.beanhouse.org.(
                                      2011062001 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN NS    beanhouse.org.
        IN MX 10 beanhouse.org.
@       IN A     192.168.1.100
*       IN A     192.168.1.100

内部向け逆引きゾーンファイル

逆引きゾーンファイルは旧ドメインを新ドメインに修正。

# vi /var/named/1.168.192.in-addr.arpa.db
              IN      NS    beanhouse.dip.jp.
100           IN      PTR   beanhouse.dip.jp.
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
              IN      NS    beanhouse.org.
100           IN      PTR   beanhouse.org.

bind再起動

# systemctl restart named-chroot

動作確認

コマンドプロンプトを開いてnslookupを使用して正引きと逆引きの確認をします。

nslookup

正引き逆引きともに確認が取れました。

以上でbindの設定変更は完了。

続いてhttpdの設定を変更します。

httpd 設定変更

httpdの設定変更はサーバーの設定変更に該当します。

旧ドメインを生かしつつ新ドメインでもアクセスができるように設定を行っていきます。

httpd本体の設定は新ドメインとし、旧ドメインはVirtualHostとして新たに設定します。

httpd 設定ファイル

   ServerNameを新ドメインに変更。

# vi /etc/httpd/conf/httpd.conf

#ServerName examole.dip.jp:80
ServerName examole.org:80

サーバー証明書

新ドメイン用のサーバー証明書を取得。

# certbot –expand -d examole.org

ApacheのSSL設定ファイル修正

# vi /etc/httpd/conf.d/ssl.conf
#SSLCertificateFile /etc/letsencrypt/live/example.dip.jp/cert.pem
SSLCertificateFile /etc/letsencrypt/live/example.org/cert.pem

#SSLCertificateKeyFile /etc/letsencrypt/live/example.dip.jp/privkey.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.org/privkey.pem

#SSLCertificateChainFile /etc/letsencrypt/live/example.dip.jp/chain.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.org/chain.pem

バーチャルホスト設定

旧ドメインをバーチャルホストとして設定し、アクセスしたときに新ドメインにリダイレクトをする。

# vi /etc/httpd/conf.d/virtualhost-example.dip.jp.conf
<VirtualHost *:80>
    ServerName example.dip.jp
    RewriteEngine on
    RewriteRule ^(.\*)https://example.org/$1 [R=301,L]
    ErrorLog logs/example.dip.jp-error_log
    CustomLog logs/example.dip.jp-access_log combined env=!no_log
</VirtualHost>

 SSL対応。

# vi virtualhost-example.dip.jp-le-ssl.conf
<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName example.dip.jp

        #この書き方だとchromeがうまいことリダイレクトしてくれない
        #RewriteEngine on
        #RewriteRule ^(.*)https://example.org/$1  [R=301,L]

        #firefox chromeともにOK
        Redirect permanent / https://example.org/

        ErrorLog logs/example.dip.jp-error_log
        CustomLog logs/example.dip.jp-access_log combined env=!no_log
        ServerAlias example.org
        Include /etc/letsencrypt/options-ssl-apache.conf
        #ドメイン変更前の証明書を使用する
        SSLCertificateFile /etc/letsencrypt/live/example.dip.jp/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/example.dip.jp/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/example.dip.jp/chain.pem
    </VirtualHost>
</IfModule>

RewriteRule ^(.*)https://example.org/$1 [R=301,L] と記述して動かしてたらfirefoxではちゃんと動いてる感じだったんだけど、chromeで動いてませんでした。

それに気づかないでサイト移転で相当手こずりました。

httpd再起動

# systemctl reload httpd

動作確認

まずは新ドメインでアクセスできるか確認。

firefox1

アクセスできました。

続いてリダイレクトの確認。

古いurlで検索して新しいurlで表示されればOK。

HTTP応答ステータスコードも301になってるか確認。

firefox

firefox2

古いurlを入力して、新しいurlにリダイレクトされました。

ステータスコードも301で応答してます

chrome

chrome

古いurlを入力して、新しいurlにリダイレクトされました。

ステータスコードも301で応答してます

とりあえず動作確認は完了です。

サイト移転

Google Search Consoleのアドレス変更ツールを使ってGoogle検索の結果を移行します。

サイトのナビゲーション通りに操作します。

googles earch console

移行中になりました。

まとめ

あらかじめ設定内容を確認して変更点の洗い出しを行うことが必要ですね。

私の場合はリダイレクトの設定がうまくいかずに2日くらい旧urlからの接続ができない状態になってしまいました。

ほんと最悪でした。

とりあえず今はちゃんと表示もされるしサイト移転もできたしめでたしめでたしって感じかな。

おわり。

-CentOS
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

HDD

VirtualBox で CentOS7 の ディスクを拡張した時の手順

この記事はだいたい 4 分ほどで読めます。 VirtualBox で CentOS7 にOracleをインストールしようとしたら空き領域不足でエラーとなってしまいました。 領域を確保するためにディスク …

mistake

【備忘録】MariaDBでdump出力のエラーを解決した手順

この記事はだいたい 4 分ほどで読めます。 そろそろバックアップしとかないとと思ってdumpを取ろうとしたらエラーが発生しました。 結果的にdumpの出力ができるようになったのでその時に行った内容を備 …

hdd

【CentOS7】古いhddをCrucialのssdに換装した時の手順

この記事はだいたい 5 分ほどで読めます。 古いパソコンでCentOSを動かし始めて2か月ほど経過しましたのでHDDを交換することにしました。。 目的は静音化。なんかたまにうなってるんですよね。 あと …

Repository

【備忘録】CentOS8にGitをインストールした手順

この記事はだいたい 2 分ほどで読めます。 テスト用のサーバー[CentOS8]にgitのリポジトリを作成しました。 その備忘録です。 サーバーのバージョン情報 $ cat /etc/redhat-r …

ryzen5 3500

【自作PC】 Ryzen5 3500 で CentOS7 の稼働に成功

この記事はだいたい 7 分ほどで読めます。 Ryzen5 3500 を使用して自作PCで CentOS7 を稼働させました。 PCの構成や組立の工程を記事にしました。 経緯 仕事用にサーバーとして使っ …

Search for…

フリーランスのITエンジニアで一人親方のページです

趣味は犬の散歩と洗車と草むしり

[IT系のこと・興味のあること・日常のこと]を記事にしています