LoginSignup
7
8

More than 5 years have passed since last update.

Vagrantにロリポップで運用しているWordpressを構築した話

Posted at

Vagrant
僕が運営しているブログはロリポップを使っているのですが、いままでバックアップを意識したことがありませんでした。

そこで、VagrantにWordPress入れて、本番と同じブログをローカルに構築してみようと思い立ったので、やってみたという話です。
特にバックアップがどうのこうのという話ではありません。

やったこと

ローカルにVagrant建てて、WordPressをインストール。
ロリポップで運用しているブログの画像、ブログ記事を落としてきて、Vagrantへアップ。
ローカル環境のVagrantに本番同様のブログを構築。

でてこない話

  1. Vagrantのインストール
  2. WordPressのインストール

前提として、Vagrant上にWordPressが動作していることとします。<!--more-->

流れ



  1. phpMyAdminからdumpファイルをダウンロード

  2. ロリポップにアップした画像をダウンロード

  3. Vagrant上のMySQLにdumpファイルをインポート

  4. Vagrantに画像をアップロード(アップロードというか設置)

  5. 本番で使っているテーマをVagrant上のWordpressにインストール

ざっくりとこんな感じ。

では1から進めていきます。

phpMyAdminからdumpファイルをダウンロード


ロリポップのphpMyAdminへログイン。
エクスポート->データベースの項目でinformation_schemaを外す->エクスポート方法 詳細を選択し実行。
これでMySQLdumpが取れます。

ロリポップにアップした画像をダウンロード

FTPツールなどを使って、画像をダウンロードします。
自分はツールにCyberduckを使いました。
画像はwp-content/uploadsに入っていますので、ゴソっと落としましょう。

ここまでで、本番からダウンロードしてくるものはありません。
Vagrant側の作業にいきます。

Vagrant上のMySQLにdumpファイルをインポート

ローカルのVagrantのディレクトリに先ほど落としたdumpファイルを置きましょう。
ここに置くとVagrant上の/vagrant/以下に設置されることとなります。


vagrant up
vagrant ssh

vagrantへ入ります。ちなみに自分はCentOSを使っています。

追記 10/22
dumpしたsqlを書き換えることをすっかり忘れてました!
sqlを開いて、自分のドメインをVagrantで使っているIPに書き換えましょう。
でないと画像とかのURLが本番のURLになっているので、本番を見に行ってしまいます。


service mysqld status
mysql -u root < /vagrant/lolipop.sql

特に問題なければDBが作成されるはずです。
自分はdumpファイルにinformation_schemaの作成も入ってしまっていて、インポートに失敗しました。

確認

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| [データベース名] |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.01 sec)

mysql> use [データベース名];
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+--------------------------------+
| Tables_in_[データベース名] |
+--------------------------------+
| wp1_commentmeta |
| wp1_comments |
| wp1_links |
| wp1_nxs_log |
| wp1_options |
| wp1_postmeta |
| wp1_posts |
| wp1_statpress |
| wp1_term_relationships |
| wp1_term_taxonomy |
| wp1_terms |
| wp1_usermeta |
| wp1_users |
| wp1_wordbooker_errorlogs |
| wp1_wordbooker_fb_friend_lists |
| wp1_wordbooker_fb_friends |
| wp1_wordbooker_postcomments |
| wp1_wordbooker_postlogs |
| wp1_wordbooker_process_queue |
| wp1_wordbooker_userdata |
| wp1_wordbooker_userstatus |
+--------------------------------+
21 rows in set (0.00 sec)


おそらく自分が入れているWordpressのプラグインによって作られたテーブルもありそう。
ちゃんとテーブルが表示されているのでインポート完了。

Vagrantに画像をアップロード(アップロードというか設置)

FTPツールでダウンロードしたuploadsの画像を先ほどのMySQLdumpと同様にvagrantディレクトリに設置します。
Vagrant上のWordpressからこちらを参照して欲しいので、シンボリックリンクを張ります。

cd wp-content
rm -rf uploads
ln -s /vagrant/uploads/ uploads

ここまででダウンロードしたファイルたちの設置・インポートは完了です。

次にテーマのインストールと行きたいのですが、ちょっとWordpressのファイルをいじります。


vim wp-config.php

/** WordPress のためのデータベース名 */
define('DB_NAME', '[データベース名]');
データベースの名前をインポートしたデータベース名へ変更。

/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
//$table_prefix = 'wp_';
$table_prefix = 'wp1_';
ロリポップのテーブルはwp1_となっているので、そちらに合わせます。

define('FS_METHOD', 'direct');
↑追記
これはWordpressのテーマのインストール時にftpの設定画面が表示されるのを防ぐ為に追記します。

これでVagrantのWordpressにロリポップと同じブログが構築されたと思います。
もし本番側のfunction.phpなどいじっている場合は、その辺りもダウンロードしておく必要があります。

では次にテーマのインストールします。

本番で使っているテーマをVagrant上のWordpressにインストール


Wordpressの外観->テーマ->新規追加->テーマのアップロード
自分は最近STINGER5というとても便利なテーマに変えたので、それをアップロードしました。
で、アップロードするときにftpの設定画面になってしまったので、先ほどのdefine('FS_METHOD', 'direct');を追加した次第です。
これに関してはこちらが参考になりました!
WordpressでFTP接続情報を求められたときのメモ

アップロード完了して、テーマを有効化すればすべての作業が完了です!

ちなみにロリポップで生成されたDB名には-(ハイフン)が付いているので、ちょっとだけめんどうです。
自分が書いた記事を張っておきます。
MySQLで-(ハイフン)付きのデータベース名を使うとめんどい

ローカルで手軽に構築ができるので、Vagrantはとても便利だと思います。
これでテーマとかプラグインの検証が捗るぞ!

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8