さくら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 その他にもご不明な点がございましたら、ご遠慮なくお問い合わせください。 |
上記※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ファイルのみで出来る方法を模索中です。
応援をお願いします(^^;
*****************************************************************************