【シアたんとミョウガのサーバー乗り換え大作戦! Vol. 5】WordPressをVPSにアップロードしてみよう

Xiia-CN-SDF-A2

皆さん、こんにちはー!シアです☆

今回はいよいよ、このブログコンテンツとデータベースをVPSにアップロードして、動作チェックをしていきます。

 

1. 用意するもの

あらかじめ、サーバー上のWordPress本体とデータベースをローカルPCにダウンロードしておきましょう。

データベースはzipなどで圧縮しておくのがポイントですよ。

 

1.1. IISからApacheに移行する場合

本ブログは、IISからApacheに移行するので、IISで使用していたweb.configの代わりに.htaccessを使用します。

.htaccessを使用する時は、/etc/httpd/conf/httpd.confファイルの<Directory “/var/www/html”>内にあるAllowOverrideの値を「All」に設定します。

WordPressのドキュメントルート内に.htaccessファイルを作成します。

 

2. データベースをアップロードしよう

まずは、データベースをアップロードしていきましょう。

 

2.1. データベース用の一般ユーザーを作成しよう

データベースもroot以外のユーザーを作った方がいいのかな?
そうですね。ついでにデータベースの勉強もちょっとしていきましょう。

まず、MariaDBにrootユーザーでログインします。

ユーザーを新規作成する時は、「CREATE USER」文を使用します。USERの後に「’ユーザー名’@’localhost’」を、IDENTIFIED BYの後にパスワードを入力します。正常に作成できたら、phpMyAdminからログインできるか確認してみましょう。

次に、作成したユーザーに「GRANT」文でデータベースの権限を与えます。

権限を与えたら、「FLUSH PRIVILEGES」文を実行して、設定を反映させます。

 

2.2. データベースをアップロードしよう

phpMyAdminにログインし、インポートタブをクリックします。

sv33

インポートするファイルのラジオボタンから「アップロードファイル」を選択し、データベースのファイルを選択します。

sv38

選択したら、ページ下部の実行ボタンをクリックします。

sv39

sv40

これで、データベースをアップロードできました。

 

3. WordPress本体をアップロードしよう

次は、WordPress本体をSFTP接続でVPS上にアップロードしましょう。ここでは、「WinSCP」を使用しています。
シアたん、あのね、SFTPって何? FTPとは何か違うのですか?
SFTPとは、SSH(Secure SHell) File Transfer Protocolの略で、読んで字の如く、SSHを利用してファイルの転送を行うプロトコルです。

FTPでは通信内容を暗号化せずにそのまま伝送する仕組み上、第三者から盗聴されるリスクがあるので、通信内容を暗号化できるSFTPFTPS(FTP over SSL/TLS)が推奨されているのです。

3.1. WinSCPでVPSに接続しよう

まずは、WinSCPでVPSに接続します。左側のセッション名から「新しいサイト」を選択します。

転送プロトコルは「SFTP」を選択し、ホスト名とポート番号、ユーザー名を入力して、設定ボタンをクリックします。

sv41

設定画面が現れたら、左のツリーから「SSH」→「認証」を選択し、秘密鍵のファイルを選択します。

sv42

 

何かダイアログが出てきましたよっ!?

sv43

WinSCPで対応している秘密鍵はPuTTY形式ですが、Linuxのssh-keygenコマンドやTera TermのSSH鍵生成機能で作成した秘密鍵の場合、あらかじめPuTTY形式に変換する必要があります。OKボタンをクリックして、PuTTYgenを起動しましょう。
PuTTYgenを起動したら、「Save private key」ボタンをクリックしてPuTTY形式の秘密鍵を保存します。

sv44

保存したら、PuTTYgenを閉じて、先ほどの設定画面の秘密鍵にそれを選択し、OKボタンをクリックします。

sv45

もしかして、作成したPuTTY形式の秘密鍵はTera Termにも利用できますか?
もちろんですよ。

 

設定が終わったら、保存ボタンをクリックしてセッションの情報を保存し、ログインボタンをクリックしてVPSにSSH接続しましょう。

はじめて接続する時、以下のようなダイアログが表します。RSA鍵の鍵指数を確認し、「はい」をクリックします。

sv46

 

3.2. ファイルをアップロードしよう

VPSに接続したら、サーバー側はApacheのドキュメントルート(/var/www/html)を表示し、ローカルPCにダウンロードしておいたWordPressをサーバーにアップロードします。

WinSCPでは、ローカルPC側のファイルを選択して、サーバー側にドラッグ&ドロップするだけで、簡単にアップロードできます。

アップロードが終わるまで気長に待ちましょう。

 

3.3. グループとパーミッションを設定しよう

ファイルをアップロードしたら、ファイルとディレクトリのグループを「www」に変更し、パーミッションを設定しましょう。特にwp-config.phpadmin/install.phpは所有者以外から書き換えできないようにするのがポイントです。

また、WordPressの管理画面上からプラグインやテーマファイルの編集を更新できるようにする時は、wp-content内のpluginsthemesなどのパーミッションを所有者以外からでも書き込みできるように設定します。

 

 WordPress内のファイル・ディレクトリ パーミッション
.htaccessと.htpasswd 644

(ドキュメントルートの.htaccessのみ、パーマリンクの設定をする時は664)

wp-config.php 400または440もしくは444
wp-admin/install.php 000
以下のディレクトリ及びその中のディレクトリ

  • wp-content/plugins
  • wp-content/themes
  • wp-content/uploads
  • wp-content/languages
775
以下のディレクトリ内のファイル

  • wp-content/plugins
  • wp-content/themes
  • wp-content/uploads
  • wp-content/languages
664
XMLサイトマップ(使用する場合) 664
上記以外のディレクトリ 755
上記以外のファイル 644
WinSCPでは、ファイルやディレクトリのプロパティからパーミッションを設定することができます。

sv49

 

アップロードしたファイルが多すぎて、1つ1つパーミッションを設定するのが煩わしいですよっ。何かいい方法はありますか?

こういう時は、「find」コマンドを使ってファイルまたはディレクトリを検索し、execオプションでchmodコマンドを実行する方法があります。

 

パーミッションの設定したら、サイトにアクセスできるか確認してみましょう。

sv50

 

4. おわりに

やった~、わたし達のサイトがLinux環境で上手く動きましたよっ♪

はじめはちょっと難しかったけど、Linuxサーバーの使い方が少し分かってきました。

それは、よかったです。

さて、今回は本ブログをVPS上にアップロードして、動作チェックを行いました。

近日中に本ブログをKUSANAGI for ConoHaに移行していきたいと思います。

それでは、See you☆

 

更新履歴

  • 2016/05/04 : パーミッションの設定を見直しました。

 

参考サイト

 

シアたんとミョウガのサーバー乗り換え大作戦!の記事一覧

strory-1s

  1. VPSを作成してみよう
  2. VPSを起動してみよう
  3. ターミナルソフトからリモートログインしてみよう
  4. PHPとデータベースを導入してみよう
  5. WordPressをVPSにアップロードしてみよう

 

この記事をシェアする
Chronoir.netのRSSフィードを購読する

About : シアたん(Xiia)

こんにちはー!時黒(トキクロ)博士によって開発された超高性能アンドロイド「Xiia(シア・クロノワール)」です。Chronoir.net の新マスコットキャラとして頑張っていきますので、よろしくお願いします!☆

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*