Xserver(エックスサーバー)でSSHの使い方!データべースのインポートやファイル転送も楽々!WordPressのサーバー移転も簡単に

WordPress

※ 記事には一部広告が含まれています。

「サーバーの移転は面倒で、失敗続きだ!」から卒業できそうです。私が利用しているXserver(エックスサーバー)でSSH接続が可能になり、SSHクライアントソフト(ターミナル)と使ってコマンドを実行し、サーバーをリモートコントロールできるようになりました。巨大なデータべースのインポートや大量のファイルでも圧縮・解凍を簡単に行えて、サーバーの移転も楽勝になります。ではXserverでのSSHの使い方と、Xserverへの移転(乗り換え)を楽にする方法を以下にまとめます。

スポンサーリンク

SSH接続

まずSSH接続とは何かに関してですが、私も熟知しているわけではありませんが、簡単言えばローカル(自宅のPC)から、サーバーをコマンドでリモートコントロールできる接続方法です。

SSH接続できるレンタルサーバーとして「さくらサーバ」が有名でしたが、ようやくXserver(エックスサーバー)でも可能になり、早速試してみました。

まず準備ですが、SSH接続に必要なXserver の以下のアカウント情報をメモしておく必要があります。

■ [ホスト名]・・・・・・・・・[サーバーID.xsrv.jp](初期ドメインのこと)
■ [ユーザー名]・・・・・・・・[サーバーID]

■ [接続ポート]・・・・・・・・10022 (共通)

SSH設定を有効に

ではまず、Xserverのサーバーパネル(コントロールパネル)にログインします。

image

右下のSSH設定をクリック。

image_thumb[1]

状態を[OFF]から[ON]に変更します。

image

公開鍵認証用鍵ペアの生成

XserverのSSH接続はセキュリティーを強化するために、公開鍵認証用鍵しか利用できません。これは自分のサーバに接続するための自分専用の鍵と鍵穴を作り、接続時に照合するという安全な接続方法です。ですから鍵となるファイルを2つ作り、一方は常時XserverのSSH接続時に利用するPCに保存しておく必要があります。

公開鍵を作る方法はマニュアルで2つ紹介してありますが、「サーバー上で公開鍵認証用鍵ペアの生成」を行うことです。

サーバーパネルの[SSH設定]から[公開鍵認証用鍵・ペアの生成]をクリックして、自分で作ったパスワード[パスフレーズ]を入力します。(このパスフレーズはSSH接続時に利用しますのでメモしておきます。)

image_thumb[3]

公開鍵認証用鍵・ペアの生成(確定)をクリック。

image_thumb[4]

PCの安全なフォルダに保存しておきます。

image_thumb[5]

SSHクライアントソフト(ターミナル)の準備

次にサーバーにSSH接続してリモートコントロールできるソフトつまりSSHクライアントソフト(ターミナル)をPCにインストールします。

ターミナルソフトにはPuTTYWinSCPなどがありますが、お勧めはTera Termです。ダウンロードはTera Term (テラターム) – SourceForge.JPから最新版の[teraterm-x.xx.exe]を。

image

インストール途中で分かるように、Tera Termは日本語対応になっております。

image

普通に「次へ」を繰り返し、セットアップを終了させます。

image

SSH接続設定

Tera Termをセットアップした後、起動して「設定」から[SSH(認証)]をクリック。

image

[RSA/DSA鍵を使う]にチェックを入れ、先ほどダウンロードしたファイルである鍵[サーバー名.key]を[秘密鍵]に入力して[OK]をクリック。

image

次に「ファイル」から「新しい接続」へ。

image

ホスト名は先ほど準備しておいたXserverのアカウント情報で、[サーバーID.xsrv.jp](初期ドメインのこと)です。ポートは10022です。

image

ここで以下のセキュリティー警告が表示される場合がありますが、気にせずに「続行」します。

image

ここでも準備しておいたアカウント情報である[サーバーID]を[ユーザ名]に入力し、上記の公開鍵作成時に設定しておいた[パスフレーズ]も記入。最後に[RSA/DSA鍵を使う]にチェック入て、OKをクリック。

image

めでたくXserverのSSH接続ができるようになりました。

image

WordPressの移転

では最後にSSH接続でコマンドを利用したWordPressを他サーバーからXserverへ移転方法を以下に紹介します。これを利用するなら巨大なデータベースでもインポートエラーで悩まなくてもいいし、画像などのたくさんのデータファイルでも一発で圧縮解凍ができますので、楽々転送可能です。失敗がつきものだったFTTPで転送で苦しまなくてもよくなります。

前準備

当然ですが、Wordpressのサーバーの移転は以下の2つを準備しておかねばなりません。参考データベースのバックアップ – WordPress Codex 日本語版

  • データベースのバックアップ(エクスポート)
  • WordPressを含めた全ファイルのダウンロード(Xsererの管理画面からWordPressをインストールする場合は、テーマ/プラグイン/アップロードファイル/画像フォルダなどをダウンロードするしておく)

次にXserver でWordpress用のMysqlデータベースを作成し、ユーザーをしておきます。サーバーパネルから[MySQL設定]へ。

image

[MySQLの追加]をクリックして、分かりやすいデータベース名を入力して、文字コードはUTF-8に。その後右下の[MySQLの追加(確認)]をクリック。

image

同じように、[ユーザー]と[パスワード]も作成して、以下のように、使用するデータベースのユーザーを指定します。

image

その下に、MySQL のホスト名 もありますので、それもメモ。

image

ここで、これまで作成した以下の4つをメモしておきます。

■ WordPress のためのMySQL[データベース名]
■ MySQL [データベースのユーザー名]
■ MySQL [データベースのパスワード]
■ MySQL [のホスト名](mysqlxx.xserver.jp  xxは数字です。)

ドメインを追加

移転するドメインをXsererに登録しておきます。サーバー

image

[ドメインの追加設定]から追加します。

image

SSH接続でデータベースをインポート方法

SSHを利用して、MySQLコマンドを実行するればphpMyAdmiでエラーの出やすい巨大なデータベースのインポートでも数分で終了させることが可能です。

まず、移転するWordPressのデータベース・ファイル(ここでは、amamoba_wp.sql とします。)をFFFTPを利用して、サーバーのトップディレクトリに転送しておきます。

image

上記のターミナル「Tera Term」でサーバーにSSH接続します。

まずデータベースが転送されてるかを確認するために、現在のディレクトリのファイル一覧表示コマンド[ls]を$の次に入力して[Enter]キーを押します。

そうすると以下のようにアップロードしたファイル amamoba_wp.sql を確認できます。

image

いよいよデータベースのインポートです

まず必要な情報です。すでにXsererのサーバーパネルで作成済みデータベース情報をまとめておく必要があります。

■ WordPress のためのMySQL[データベース名]
■ MySQL [データベースのユーザー名]
■ MySQL [データベースのパスワード]

■ MySQL のホスト名(mysqlxx.xserver.jp  xxは数字です。)
■ アップロードしたsqlファイル。ここでは amamoba_wp.sql

次に$のすぐ後に以下のようにコマンドを打ち込みます。(それぞれ半角スペースを入れる)

$mysql -h mysqlxx.xserver.jp -u ユーザ名 -p デ-タベ-ス名 < amamoba_wp.sql

その後Enter password:と表示されるので、

Enter password:データベースのパスワード

と入れます。

今回インポートしたsqlファイルは183 MB (192,641,313 バイト)でしたが、3分程度でインポートを完了しました。

ちなみに、バックアップ(ダンプ)

mysqldump -h (データベースサーバ:ローカルの場合は必要なさそう) -u (ユーザ名) -p (データベース名) > (作成する dump ファイルの名前).sql

すべてのデータをインポートできたかどうかを、移転前のサーバーと移転後の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や画像などのファイル一式を圧縮します。

image

圧縮ファイル(ここでは、wordpress.zip)をFFFTPなどで、Xserverの[登録ドメイン/public_html]というフォルダへ転送しておきます。

image

SSH接続してコマンドで一発解凍

最後に、解凍します。コマンドは $の後に[unzip ファイル名]です。

まず、[cd]コマンドで、作業フォルダ[登録ドメイン/public_html]へ移動してから、解凍です。

$ cd amamoba.com/public_html
$ unzip wordpress.zip

FFFTPで確認すると無事に解凍できています。(実際は丁寧に確認すべきです。)

image

最後に、https://ドメイン/wordpress/wp-login.php?にアクセスして、データベースをアップグレードし、その後ブログが表示できるかどうかを確認します。

以上が、Xserver (エックスサーバー)で利用可能になったSSH接続の使い方と、Xserverに移転する場合に、SSH接続を利用したデータべースのインポートやファイル転送を楽に終了させる方法でした。レンタルサーバーの中でもXserverは秀逸ですね。

これからは、SSH接続が当たり前にできるレンタルサーバーが選ばれるようになりそうです。

コメント

  1. hashimoto より:

    はじめまして!いつも参考にさせて頂いております!

    こちらの記事の件で質問なのですが・・・
    $mysql -h mysqlxx.xserver.jp -u ユーザ名 -p デ-タベ-ス名 < amamoba_wp.sql
    の部分を入力すると-bash: $mysql: command not found
    と返ってきてしまい進みません。。。

    何が間違えているのでしょうか?
    もちろんユーザー名やデータベース名は入れてあります。。。

    すいません。コメントを二つ残します。
    1つめは消しておいていただけますでしょうか?

    • Amamo Amamo より:

      ブログ訪問ありがとうございます。

      データベース・ファイルは、サーバーのトップディレクトリに転送しているでしょうか?
      現在のディレクトリのファイル一覧表示コマンド[ls]を$の次に入力して[Enter]キーを押すと、転送したデータベースは表示されますか?
      mysql -h mysqlxx.xserver.jp -u ユーザ名 -p デ-タベ-ス名 < amamoba_wp.sql の中に全角など余分な文字が入っていませんか? どうぞご確認ください。