「サーバーの移転は面倒で、失敗続きだ!」から卒業できそうです。私が利用しているXserver(エックスサーバー)でSSH接続が可能になり、SSHクライアントソフト(ターミナル)と使ってコマンドを実行し、サーバーをリモートコントロールできるようになりました。巨大なデータべースのインポートや大量のファイルでも圧縮・解凍を簡単に行えて、サーバーの移転も楽勝になります。ではXserverでのSSHの使い方と、Xserverへの移転(乗り換え)を楽にする方法を以下にまとめます。
SSH接続
まずSSH接続とは何かに関してですが、私も熟知しているわけではありませんが、簡単言えばローカル(自宅のPC)から、サーバーをコマンドでリモートコントロールできる接続方法です。
SSH接続できるレンタルサーバーとして「さくらサーバ」が有名でしたが、ようやくXserver(エックスサーバー)でも可能になり、早速試してみました。
まず準備ですが、SSH接続に必要なXserver の以下のアカウント情報をメモしておく必要があります。
■ [ホスト名]・・・・・・・・・[サーバーID.xsrv.jp](初期ドメインのこと)
■ [ユーザー名]・・・・・・・・[サーバーID]
■ [接続ポート]・・・・・・・・10022 (共通)
SSH設定を有効に
ではまず、Xserverのサーバーパネル(コントロールパネル)にログインします。
右下のSSH設定をクリック。
状態を[OFF]から[ON]に変更します。
公開鍵認証用鍵ペアの生成
XserverのSSH接続はセキュリティーを強化するために、公開鍵認証用鍵しか利用できません。これは自分のサーバに接続するための自分専用の鍵と鍵穴を作り、接続時に照合するという安全な接続方法です。ですから鍵となるファイルを2つ作り、一方は常時XserverのSSH接続時に利用するPCに保存しておく必要があります。
公開鍵を作る方法はマニュアルで2つ紹介してありますが、「サーバー上で公開鍵認証用鍵ペアの生成」を行うことです。
サーバーパネルの[SSH設定]から[公開鍵認証用鍵・ペアの生成]をクリックして、自分で作ったパスワード[パスフレーズ]を入力します。(このパスフレーズはSSH接続時に利用しますのでメモしておきます。)
公開鍵認証用鍵・ペアの生成(確定)をクリック。
PCの安全なフォルダに保存しておきます。
SSHクライアントソフト(ターミナル)の準備
次にサーバーにSSH接続してリモートコントロールできるソフトつまりSSHクライアントソフト(ターミナル)をPCにインストールします。
ターミナルソフトにはPuTTYやWinSCPなどがありますが、お勧めはTera Termです。ダウンロードはTera Term (テラターム) – SourceForge.JPから最新版の[teraterm-x.xx.exe]を。
インストール途中で分かるように、Tera Termは日本語対応になっております。
普通に「次へ」を繰り返し、セットアップを終了させます。
SSH接続設定
Tera Termをセットアップした後、起動して「設定」から[SSH(認証)]をクリック。
[RSA/DSA鍵を使う]にチェックを入れ、先ほどダウンロードしたファイルである鍵[サーバー名.key]を[秘密鍵]に入力して[OK]をクリック。
次に「ファイル」から「新しい接続」へ。
ホスト名は先ほど準備しておいたXserverのアカウント情報で、[サーバーID.xsrv.jp](初期ドメインのこと)です。ポートは10022です。
ここで以下のセキュリティー警告が表示される場合がありますが、気にせずに「続行」します。
ここでも準備しておいたアカウント情報である[サーバーID]を[ユーザ名]に入力し、上記の公開鍵作成時に設定しておいた[パスフレーズ]も記入。最後に[RSA/DSA鍵を使う]にチェック入て、OKをクリック。
めでたくXserverのSSH接続ができるようになりました。
WordPressの移転
では最後にSSH接続でコマンドを利用したWordPressを他サーバーからXserverへ移転方法を以下に紹介します。これを利用するなら巨大なデータベースでもインポートエラーで悩まなくてもいいし、画像などのたくさんのデータファイルでも一発で圧縮解凍ができますので、楽々転送可能です。失敗がつきものだったFTTPで転送で苦しまなくてもよくなります。
前準備
当然ですが、Wordpressのサーバーの移転は以下の2つを準備しておかねばなりません。参考データベースのバックアップ – WordPress Codex 日本語版
- データベースのバックアップ(エクスポート)
- WordPressを含めた全ファイルのダウンロード(Xsererの管理画面からWordPressをインストールする場合は、テーマ/プラグイン/アップロードファイル/画像フォルダなどをダウンロードするしておく)
次にXserver でWordpress用のMysqlデータベースを作成し、ユーザーをしておきます。サーバーパネルから[MySQL設定]へ。
[MySQLの追加]をクリックして、分かりやすいデータベース名を入力して、文字コードはUTF-8に。その後右下の[MySQLの追加(確認)]をクリック。
同じように、[ユーザー]と[パスワード]も作成して、以下のように、使用するデータベースのユーザーを指定します。
その下に、MySQL のホスト名 もありますので、それもメモ。
ここで、これまで作成した以下の4つをメモしておきます。
■ MySQL [データベースのユーザー名]
■ MySQL [データベースのパスワード]
■ MySQL [のホスト名](mysqlxx.xserver.jp xxは数字です。)
ドメインを追加
移転するドメインをXsererに登録しておきます。サーバー
[ドメインの追加設定]から追加します。
SSH接続でデータベースをインポート方法
SSHを利用して、MySQLコマンドを実行するればphpMyAdmiでエラーの出やすい巨大なデータベースのインポートでも数分で終了させることが可能です。
まず、移転するWordPressのデータベース・ファイル(ここでは、amamoba_wp.sql とします。)をFFFTPを利用して、サーバーのトップディレクトリに転送しておきます。
上記のターミナル「Tera Term」でサーバーにSSH接続します。
まずデータベースが転送されてるかを確認するために、現在のディレクトリのファイル一覧表示コマンド[ls]を$の次に入力して[Enter]キーを押します。
そうすると以下のようにアップロードしたファイル amamoba_wp.sql を確認できます。
いよいよデータベースのインポートです
まず必要な情報です。すでにXsererのサーバーパネルで作成済みデータベース情報をまとめておく必要があります。
■ WordPress のためのMySQL[データベース名]
■ MySQL [データベースのユーザー名]
■ MySQL [データベースのパスワード]
■ MySQL のホスト名(mysqlxx.xserver.jp xxは数字です。)
■ アップロードしたsqlファイル。ここでは amamoba_wp.sql
次に$のすぐ後に以下のようにコマンドを打ち込みます。(それぞれ半角スペースを入れる)
その後Enter password:と表示されるので、
と入れます。
今回インポートしたsqlファイルは183 MB (192,641,313 バイト)でしたが、3分程度でインポートを完了しました。
ちなみに、バックアップ(ダンプ)
すべてのデータをインポートできたかどうかを、移転前のサーバーと移転後のXserverのphpMyAdminを利用して比較しておきます。
WordPressや画像などのファイルを転送して解凍
次に移転前のサーバーからダウンロードしておいた、WordPressや画像などのファイル一式を圧縮して転送します。
しかしその前に WordPress直下のファイル[wp-config.php]を移転先Xserverのデータベース情報に書き換えます。
/** WordPress のデータベース名 */
define(‘DB_NAME’, ‘データベース名’);
/** MySQL のユーザー名 */
define(‘DB_USER’, ‘ユーザー名’);
/** MySQL のパスワード */
define(‘DB_PASSWORD’, ‘パスワード ‘);
/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
define(‘DB_HOST’, ‘mysqlxx.xserver.jp’);
WordPressや画像などのファイル一式を圧縮します。
圧縮ファイル(ここでは、wordpress.zip)をFFFTPなどで、Xserverの[登録ドメイン/public_html]というフォルダへ転送しておきます。
SSH接続してコマンドで一発解凍
最後に、解凍します。コマンドは $の後に[unzip ファイル名]です。
まず、[cd]コマンドで、作業フォルダ[登録ドメイン/public_html]へ移動してから、解凍です。
$ unzip wordpress.zip
FFFTPで確認すると無事に解凍できています。(実際は丁寧に確認すべきです。)
最後に、https://ドメイン/wordpress/wp-login.php?にアクセスして、データベースをアップグレードし、その後ブログが表示できるかどうかを確認します。
以上が、Xserver (エックスサーバー)で利用可能になったSSH接続の使い方と、Xserverに移転する場合に、SSH接続を利用したデータべースのインポートやファイル転送を楽に終了させる方法でした。レンタルサーバーの中でもXserverは秀逸ですね。
これからは、SSH接続が当たり前にできるレンタルサーバーが選ばれるようになりそうです。
コメント
はじめまして!いつも参考にさせて頂いております!
こちらの記事の件で質問なのですが・・・
$mysql -h mysqlxx.xserver.jp -u ユーザ名 -p デ-タベ-ス名 < amamoba_wp.sql
の部分を入力すると-bash: $mysql: command not found
と返ってきてしまい進みません。。。
何が間違えているのでしょうか?
もちろんユーザー名やデータベース名は入れてあります。。。
すいません。コメントを二つ残します。
1つめは消しておいていただけますでしょうか?
ブログ訪問ありがとうございます。
データベース・ファイルは、サーバーのトップディレクトリに転送しているでしょうか?
現在のディレクトリのファイル一覧表示コマンド[ls]を$の次に入力して[Enter]キーを押すと、転送したデータベースは表示されますか?
mysql -h mysqlxx.xserver.jp -u ユーザ名 -p デ-タベ-ス名 < amamoba_wp.sql の中に全角など余分な文字が入っていませんか? どうぞご確認ください。