Category: Linux

さくらVPSとCentOS6で独自ドメイン名取得(お名前.com)してみた その3

ここにきて連続投稿してます。
その1、その2に引き続きサーバの設定変更をしたいと思います。
ドメイン取得とDNSサーバ等の登録は、終わりましたがまだ本体サーバ側では何も変更してません。
そのため、まだhttp://www16071ue.sakura.ne.jpでアクセスできるようになってます。

ここからワードプレス側などの設定変更を行いたいと思います。

  • apache等の設定変更

apacheの設定変更ですが、少し私のところのサーバは、特殊でワードプレス2つ、通常のHPが3つのサーバとなっておりますが、バーチャルホスト設定で別のサーバにしているわけではありません。

本当は、サブドメインの設定で管理してもいいかもしれませんが今のところそこまでのサイトではないのでディレクトリを別にして運用してます。

そのため、変更したところは、

・設定ファイルのサーバ名の変更
/etc/httpd/conf/httpd.conf 280行目付近

#ServerName www16071ue.sakura.ne.jp:80 サーバ名の変更
ServerName www.tkweblife.com:80

上記サーバ名の変更は、VirtualHostの設定時に2つのサイトをもつときに必要な記述ですがとりあえずサーバ名が変更となったのでとりあえず・・・。
今後のVirtualHostも検討ということで。一つのサイト(ワードプレス)運用の人なら同じ設定でいいかもしれません。
特にサイトを別にしない場合は、変更しなくても問題ないようですが一応変更しました

・ワードプレス用の設定ファイルの変更
リダイレクトの設定

/etc/httpd/conf.d/wordpress.conf (※conf.dのなかの設定ファイルを読み込む設定にしている)

#<!– wwwありに統一 –>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^tkweblife\.com$
RewriteRule ^/(.*) http://www.tkweblife.com/$1 [R=301,L]

<Directory /var/www/wordpress>
AllowOverride All
</Directory>

上記は、wordpress用の設定ファイルの一部を抜粋です。最初に複数のワードプレス、HPがありますがどのサイトも tkweblife.com でアクセスしてきても wwwをつけて www.tkweblife.com というURLになるようにリダイレクト設定しております。

・各ワードプレスごとのリダイレクト設定

各ワードプレスのファイルがあるディレクトリ内のindex.phpがあるところ(サイトのトップページになるところ)に.htaccessというファイルがあります。

当方は、/var/www/wordpressですが、ワードプレスをアップロードした場所なので各自読み替えてください。

とりあえず ls -la コマンドを使用してみてください。

[wordpress]# ls -la
合計 280
drwxr-xr-x 5 apache apache 4096 1月 6 09:24 2019 .
drwxr-xr-x 12 root root 4096 6月 20 00:45 2018 ..
-rw-r--r-- 1 apache apache 373 1月 6 08:38 2019 .htaccess
-rw-r--r-- 1 apache apache 418 9月 28 23:53 2014 index.php
-rw-r--r-- 1 apache apache 67469 12月 5 14:03 2014 sitemap.backup.xml
-rw-r--r-- 1 apache apache 6878 12月 13 12:00 2018 wp-activate.php
drwxr-xr-x 9 apache apache 4096 1月 5 17:18 2019 wp-admin

vi .htaccessで編集

# BEGIN WordPress

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www16071ue\.sakura\.ne\.jp        <---追記
RewriteRule (.*) http://www.tkweblife.com/wordpress/$1 [R=301,L]     <---追記
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]

# END WordPress

旧URL www16071ue.sakura.ne.jp で来たら新URL www.tkweblife.com/wordpress/ にリダイレクト

そのほかの記述はデフォルト設定

違うHPやワードプレスのサイトがあれば同様の記述を各ワードプレスやHPのサイトのトップディレクトリに配置しておけばいいと思います。

複数ワードプレスがある場合は、それぞれ個々に編集してます。

ちなみにホームページについては、変更する予定がないのでこのような面倒くさい設定になってます。

もし、すべてでリダイレクト編集する場合は、httpd.confか私のところでいうwordpress.confなどですべての旧URLを新URLにリダイレクトする設定でいいと思います。

最後に

apacheサーバの再起動をお忘れなく

/etc/init.d/httpd restart

  • wordpressのDB設定変更

ワードプレスのデータベース内の各記事へのリンクURLなど旧URLのところなどをすべて新URLに変更しなければなりません。

直接Mysqlからデータベースを書き換えてもいいかな?と思ったのですが

なにやら、良くないことがあるようです。

それについては、

こちら —> テストから本番へ!WordPressでURLが変わる場合のデータベース修正マニュアル

こちらのサイトに則って実施してみました。

URLを修正するプログラム(PHPスクリプト)のあるサイト —> Database Search and Replace Script in PHP

上記のサイトのところから辿ると

サイトの真ん中あたりに下記のようなところがあります。

チェックを3つつけるとEmailの項目が出てきますのでNameとEmailを記述してSubmmitするとメールが送られてきますのでそこからダウンロードします。

2019年1月6日現在は、バージョン3.1.0となってました。

あとは、Winscpなどでこのファイル類をディレクトリごとアップロードしてURLにアクセスすると下記画面になります。

サイトによっては、http://から入力するところや最後にスラッシュ/を入れる、入れないなどありましたが検索キーワードなので下記のような形式がすべてのURLを網羅すると思います。

あとは、下記に示すように入力 live run を押す

上記は、「 dry run 」か「 live run 」だったか忘れてしまいましたが数分でURLの修正は、おわりました。

これでサイトのURLは、変更となります。

  • 各リンク先のURL設定変更

当方だと、

1 googleアドセンスのサイトの追加(これについては、新規にサイトを追加すると審査中となりました。特にメール等の申請は、なし)

2 amazonアソシエイトのURLの申請及び追加(申請の許可が下り次第追加)細部下記参照

3 ブログ村のURLの変更

4 awstatsのサーバー名の変更及び初期設定(新規にawstatsインストール手順と同じ)

 

amazonアソシエイトは、あらかじめ

ヘルプ → お問い合わせ → アソシエイトカスタマーサービスに連絡する

で 新URLをメールで申請をしなければいけないようです。

当方は、勝手に新URLを追加して怒られてしまいました(^^;

以下メール詳細

Amazon.co.jpアソシエイト・プログラムにお問い合わせいただき、ありがとうございます。

恐れ入りますが、今回アカウントを確認するにあたり、すでにURLの書き換えが実施されてしまっていることを確認いたしました。

アソシエイト・プログラムではURLの追加や変更を行う際はメールでの事前報告を行っていただいており、参加者様のご判断によるURLの書き換えについてはお断りいたしております。

しかしながら、お客様は審査を受けず、登録サイト欄にURLを入力されておられます。

現時点で正式に承認されているサイト

旧URL(一応伏せてます)

審査を受けず、登録サイト欄に入力されているサイト

新URL(一応伏せてます)

上記の状態を解消し、適切なサイト登録を行わせていただくために、必ず下記URLより元のURL(現時点で正式に承認されているサイト)だけの状態となるよう、書き戻しをお願いいたします。

※1 https://affiliate.amazon.co.jp/home/account/profile/sitelist

URLの追加手順は以下の通りです。新しいサイトがある場合は、まずはメールで新しいサイトのURLのみを報告いただき、審査に通過した場合のみ、専用フォームへのURL入力をお願いします。

※2 https://affiliate.amazon.co.jp/gp/associates/contact
上記フォームより事前にAmazon.co.jpにURLを連絡(*複数ある場合はURLをコメント欄にまとめて記載してください)
件名は、「アカウント情報の変更、登録URLの追加など」をご選択ください

Amazon.co.jpで審査結果を返信

承認された場合のみリンクの使用ならびに参加者様ご自身でWebサイト情報の確認より追加・変更
https://affiliate.amazon.co.jp/home/account/profile/sitelist

その他にもご不明な点がございましたら、ご遠慮なくお問い合わせください。
アソシエイト・プログラムをご利用いただき、ありがとうございます。

 

上記※2で申請、許可が下り次第 ※1に新URLを追加登録

の手順のようです。早まって※1に追加登録後に※2で申請を上げるのはだめとのことです。

AMAZONアソシエイトに登録されている方は、ご注意ください。

 

ここまでやるのも結構な労力でしたので証明書発行・SSL通信にするとなると大変かもしれないのでまたどこかのタイミングでやりたいと思います。

centos7にバージョンも上げたいのですがこちらもそのうちということで・・・。

とりあえず3投稿で完結となります。補足があればまた追記したいと思います。

追記 H31.1.11

現在のサーバの設定にともなうリダイレクト処置(301)

リダイレクトをすべてのサイトで行うこととしました。

/var/www/html内にサブディレクトリごとのホームページサイトを構築
index.htmlの位置がそのホームページごとのルートディレクトリになる。
(それぞれのサイト管理者アカウントでログインするとこの位置より上へ行けない仕様にしている。)
/var/www/html/A_site/public_html/index.html
/var/www/html/B_site/public_html/index.html
/var/www/html/C_site/public_html/index.html

それぞれ アクセスは、例 http://www16071ue.sakura.ne.jp/A_site/index.html  でアクセス可能

httpd.conf などのconfの設定で エイリアス設定
当方は、conf.dディレクトリにweb.confという別のconfファイル上に設定

alias /A_site  /var/www/html/A_site/public_html/
alias /B_site  /var/www/html/B_site/public_html/
alias /C_site  /var/www/html/C_site/public_html/

/var/www/にサブディレクトリごとのワードプレスブログサイトを構築
それぞれのファイル格納位置
/var/www/wordpress/  当サイト
/var/www/wordpress2/  別サイト

こちらもhttpd.conf などのconfの設定で エイリアス設定
当方は、conf.dディレクトリにwordpress.confという別のconfファイル上に設定

[root@www16071ue conf.d]# cat wordpress.conf
alias /A_site /var/www/A_site/
alias /B_site /var/www/B_site/
RewriteEngine on
RewriteCond %{HTTP_HOST} ^tkweblife\.com$
RewriteRule ^/(.*) http://www.tkweblife.com/$1 [R=301,L]
<Directory /var/www/A_site>
AllowOverride All
</Directory>
<Directory /var/www/B_site>
AllowOverride All
</Directory>

もう少しいい方法があったかもしれないがそれぞれのサイトのルートディレクトリに.htaccessをそれぞれ作成(wordpressは、デフォルトで存在している)する。

[root@www16071ue ~]# vi /var/www/html/A_site/public_html/.htaccess
RewriteEngine On
RewriteBase /A_site/
RewriteCond %{HTTP_HOST} ^www16071ue\.sakura\.ne\.jp
RewriteRule (.*) http://www.tkweblife.com/A_site/$1 [R=301,L]

各サイトのルートディレクトリにおくとリダイレクトされ新しいURLになる。
各サイトごとに記述するのでメンテナンス上煩雑となるので、もう少しconfファイルのみで出来る方法を模索中です。

応援をお願いします(^^;

*****************************************************************************

スポンサーリンク

ブログランキング・にほんブログ村へ
にほんブログ村

PVアクセスランキング にほんブログ村