SEO対策

エックスサーバー間でのサーバー移転

Xserver同士で異なるアカウント間のサーバーの引っ越しの方法を調べました。

Webサイト管理を一つのアカウントに統一するためです。ちょっと特殊なケースなので備忘録として。
ドメインの移管などは発生しないので、作業自体は2日程度で完了するでしょう。

WordPressで管理するサイトだったので、データベースの移転も併せて行ってみます。
作業をおおまかに分けると以下のようになります。

1.移転元サイトディレクトリデータのバックアップ

2.移転元MySQLデータベースのバックアップ

3.移転元各予備データバックアップ

4.ドメインの削除と追加

5.移転先MySQLデータベース作成

6.移転先サイトディレクトリデータアップロード

7.動作確認

Xserverの管理画面や機能は初心者にもやさしい配慮がされているので、順番さえ間違わなければ、わりと簡単に移転ができます。

Xserver内でサーバー移転を行う場合の一番の注意点は、ドメインの移管を行わないので、ドメイン設定が移転元から移転先で完了する間、おおよそ24時間ほどはサイトが表示されなくなるので注意が必要です。

また、別会社のレンタルサーバーへの移転やについてもデータやDBバックアップ、予備データの定期的なバックアップについては基本的には同じ作業になるので、同じ手順でバックアップを保存しておくのもよいでしょう。

1.移転元サイトディレクトリデータのバックアップ

まずは移転元のサイトディレクトリのデータをバックアップしますが、この作業は15秒程度で完了します。

Xserverサーバーパネルのアカウント項目、バックアップから該当する対象ディレクトリをダウンロードします。

これで移転元サイトディレクトリデータ保存は完了です。

アカウントrootを一括でもダウンロードできますし、設定したドメインのディレクトリのみを選択してもダウンロードできるので、非常に便利です。

2.移転元MySQLデータベースのバックアップ

XserverサーバーパネルのphpMyAdminにログインします。
ログイン情報はwp_config.phpに記載されていますので、忘れた場合はこちらのDBユーザー名とパスワードでログイン可能です。

phpMyAdminの管理画面にログインすると左上にinformation_schema(MySQLの基本設定情報)とWordPress用に設定したMySQLのデータベース名の二つのDB名が表示されているので、WordPress用に設定したMySQLの方をクリックします。

WordPress用に設定したDBの構造が表示されたら、上部のタブの”エクスポート”をクリックしてDB のダンプ(スキーマ)表示画面に。

通常はこのまま”ファイルに保存する”にチェックを入れ、”zip形式”を選択して、画面左下の”実行”ボタンをクリックすると、圧縮されたDBファイルが自身のパソコンにダウンロードされます。

これで移転元のDBバックアップは完了です。

3.移転元各予備データバックアップ

Xserverにはサーバメールやメールマガジンなどの機能も付属しており、念のためWordPressの投稿データなどを含めて個別にバックアップをとっておきます。

WordPressはダッシュボードからのエクスポート機能ですべてのコンテンツのxmlデータをダウンロードしておきます。

メール設定についてはサイトディレクトリのデータの中にWebメールのデータがドメインフォルダのmailフォルダに保存されているようですが、基本バックアップできないと思った方がよさそうです。移転先で複数のメールアドレスを一括して追加できるので、サーバーパネルのメールアカウント設定からアドレス一覧をコピペしてメモ帳で保存しておきました。

メルマガやメーリングリストも利用していた場合は、ひな形やタイトルを同じくメモ帳で保存しておきました。xmailinglistというフォルダに保存されているようですが、ちょっとあやしいので送信先のアドレスなどはexcelなどで管理しておいたほうが無難です。

CGIツールのメールフォームはディレクトリアップで大丈夫でしたが、アクセス解析は上手くいきませんでした。

これで移転元の各予備データバックアップは完了です。

4.ドメインの削除と追加

移転元のドメイン設定からサーバー移転する対象のドメインを削除します。ドメインを削除すると、ドメイン下のフォルダや各設定はすべて消失するので注意が必要です。MySQLのデータベースは、個別に削除する必要がありますが、こちらは可能な限り保存しておいたほうが無難でしょう。

移転先のサーバーパネルから、先ほど移転元で削除したドメインを追加します。ドメインが削除されていない場合はエラーが出て追加できないのと、ドメインのトップレベル部分comやjpはプルダウンからの選択になっているので、間違いないように注意しましょう。

上記作業が完了して、ドメインにアクセスして以下のように表示されていれば、あとはサーバー移転の設定が完了するのを待つことになります。

「無効なURLです。ドメイン設定の反映待ちか、存在しないアドレスです。
再度ご確認のうえアクセスをお試し下さい」

以上の作業で、現在のサイトは完全に閲覧できなくなり、メールの送受信もできなくなります。今回の場合は平均して20時間ぐらいはドメイン管理の変更でサイトが表示されなくなりました。

これでドメインの削除と追加は完了です。

5.移転先MySQLデータベース作成

移転先のXserverアカウントで、新しいMySQLのデータベースを作成します。移転元ではMySQL5と5.5が混在しているタイプでしたが、新しい移転先のアカウントでは5.5で統一されていました。

データベースはXserverのサーバーパネルから、MySQL設定で新しいユーザーとデータベースを作成します。

データベースには空のデータベースを作成して、移転元でバックアップしたMysSQLのデータベースをインポートします。

phpMyAdminの管理画面にログインすると左上にinformation_schema(MySQLの基本設定情報)と新しくWordPress用に設定したMySQLのデータベース名の二つのDB名が表示されているので、WordPress用に設定したMySQLの方をクリックします。

WordPress用に設定したDBの構造が表示されたら、上部のタブインポート”をクリックしてインポート表示画面に。

“インポートするファイル”するの参照から、保存しておいた移転元のファイルを選択して、画面左下の”実行する”をクリックして完了です。

6.移転先サイトディレクトリデータアップロード

移転元からダウンロードしたファイル内のpublic_htmlフォルダ内のwp_config.phpの以下の項目を、移転先で設定したMySQLのデータベース内容に変更してから、public_htmlフォルダのすべてを同じディレクトリにアップします。

/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘データベース名’);

/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘ユーザー名’);

/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘パスワード’);

/** MySQL のホスト名 */
define(‘DB_HOST’, ‘mysql移転先.xserver.jp’);

このままでは確認できないので、Xserverサーバーパネルの動作確認URL設定でURLを追加してみましょう。

元のWordPressサイト構成が表示されていればまずは一安心です。デザインなどは内部的テーマのパス指定の違いなどの影響で、正常には表示されていませんでした。

これで移転先サイトディレクトリデータアップロード作業は完了です。

7.動作確認

おおよそ24時間以内には新しいWebサーバーの内容が関連付けられますので、何らかの画面が表示されれば、正常にドメイン管理の変更は完了しています。

ただし24時間以上経っても、以下のメッセージが表示され続ける場合はブラウザのキャッシュクリアをすると更新される場合があります。

「無効なURLです。ドメイン設定の反映待ちか、存在しないアドレスです。
再度ご確認のうえアクセスをお試し下さい」

まずは、メールアドレスの追加を一括で行い送受信を試してみます。送受信に問題がなければ、サイトの動作確認に移ります。

移転元と移転先のPHPのバージョンが異なる場合注意が必要で、TOPページ以外表示されず404サーバーエラーが発生したり、PHPのエラーやWarnningなどが表示されたりします。

今回はhtaccessファイルの作り直しが必要であったため、サーバーパネルの自動インストールからWordPressを一度インストールして、自動生成されたhtaccessファイルを取得してURLを変更してアップしたら、下層ページが表示されるようになったりと、個別に動作確認と対応をする必要があるので、ひととおりサイトの動作確認を行った方がよいでしょう。

※データが喪失する恐れがあるので、どのようなデータも2種類以上でバックアップしておくのがよいでしょう。

SEO対策

レンタルサーバーの絶対パスディレクトリパス取得PHP

レンタルサーバーでCMSや.htaccessファイルなどの設置の際に絶対パスが必要なときがありますが、

サーバー会社のヘルプページなどに記載がない場合があります。

その場合、PHPが使用可能であれば、以下のようは方法で、HTMLページの配置されたルートディレクトの絶対パスを調べることができます。

◆レンタルサーバーの絶対パスやディレクトリのパスを取得、調べる方法

1・path.phpファイルを作成する。

2・path.phpファイルに以下のphp文を記述する。

//絶対パスの場合

<?php
echo __FILE__;
?>

この記述で他にディレクトリパスやスクリプトパスなどを取得する場合。

//ディレクトリパスの場合

echo dirname(__FILE__) ;

//スクリプト名の取得

echo basename(__FILE__);

他には、realpath関数を使用しても取得し、調べることが可能。

<?php
$path = realpath( “.” );
echo “絶対パス:” . $path;
?>

でも取得可能だ。

SEO対策

レンタルサーバーでPHPが動かない対処方法

レンタルサーバーでphpが機能しないときは、いくつかの原因があります

ただ、php自体が使用できないプロバイダ提供の無料レンタルサーバーあ
りますので、その場合はphp対応のレンタル・サーバーを利用する必要が
あります。

まず、phpを利用する前に注意すること。

[1] サーバーで使用するCMSやPHPプログラム、phpの関数のバージョンを
確認します。

[2] レンタルサーバーのphpのバージョンを確認して、利用したいphpが
使えるかどうかを確認します。

次にphpファイルをアップしますが、それでもすぐにphpが動かない場合が
あります。
その場合は、以下の二点について確認してみます。

● PHPがCGIモードで動作している場合

レンタルサーバーでは、PHPがApacheの拡張機能として動作するモジュー
ルモードではなく、スクリプト呼び出し毎にCGIを起動させるCGIモードで
のみ動作可能になっている場合がある。 CGIモードである場合は、パーミ
ッションによる実行権限許可を与える必要があり、ファイル行頭にPHP呼
び出しのパス#!/usr/bin/php等の記述が必要になります。

PHPを逐一呼び出すCGIモードでは、サーバーへの負荷がモジュールモード
に比べて高くなります。

レンタルサーバーによっては両方が使用できる場合もあり、利用するレン
タルサーバーがどちらかは、php_infoを実行すると、Server API項目がCG
IもしくはApache か Apache 2.0 Handlerと表示される。

● PHPがセーフモードで動作する

レンタルサーバーの中には、PHPがセーフモード(safemode)で実行される
設定になっている場合があります。セーフモードは、VPNなどの共用サー
バーのディレクトリアクセス制限などセキュリティを配慮した関数の実行
制限を与えているモードのこと。

CMSなどのシステムで使用する関数が制限されていた場合、システムが機
能しなくなる。

セーフモードで制限される場合は、「セーフモードで制限を受けるか無効
となる関数(http://php.net/manual/ja/features.safe-mode.functions.p
hp)」を参照。

● レンタルサーバーの管理画面で設定が必要な場合

レンタルサーバーにより、PHPの使用許可をディレクトリごとに設定する
必要があり、サーバー管理のコントロールパネルで設定する。

また、PHPのバージョンを変更、アップグレードが可能なサーバーもあり
、PHPの記述によってはバージョンにより動作しないものなどもあるため
、事前に確認が必要である。

CMSなどに関していえば、最近のレンタルサーバーでは管理画面から簡単
にインストール可能なものも多いので、用途に応じてサービス内容を確認
してみるのがよい。