ハマログ

株式会社イーツー・インフォの社員ブログ

VagrantとAnsibleで仮想環境のCentOS6.5にWordPress環境構築!WebサーバーはNginxですか?(中編)

ansible
はい、どーも!
てるおです。
前編の戦いを経た今、恐れるものはありません。
早速決着をつけに行きたいと思います。

まずは前編で構築した仮想環境で表示させたいWordpressサイト(https://teriyakiegg.com)のデータベースをエクスポートします。
phpMyAdminをインストールするのをサボっていたので、
仕方ないのでコマンドでエクスポートします。

mysqldump -u root -p wordpress --single-transaction > wordpress.sql

scpでローカルに持ってきます。

仮想環境のMySQLにインポートします。

mysql -u root -p wordpress < wordpress.sql

Unknown collation: ‘utf8mb4_unicode_ci’

文字コードのエラー…
やすやすとインポートさせてくれない様子…

そしてこれはMySQLのバージョンによる問題だと以下の記事のおかげでわかりました。
『WordPress 4.2、MySQL 5.5.3及びutf8mb4について』
http://pc.thejuraku.com/wordpress-4-2%E3%80%81mysql-5-5-3%E5%8F%8A%E3%81%B3utf8mb4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/2178/

こうなったらもうMySQLだけじゃなくPHPのバージョンも自分のブログの環境に合わせた方が早そうです!
これは若干わかりきっていたことで、バージョン違くてもなんとかならんかな、という浅はかな希望は早くも潰えました。

仮想環境にインストールした奴のバージョン
PHP 5.3.3
MySQL Server version 5.1.73

早速バージョン上げる作業に取り掛かっていきます。

まずPHP。

CentOS6.7でPHPのバージョンを5.3から5.6にバージョンアップした際にハマったところ【WordPress】
http://onlineconsultant.jp/pukiwiki/?cmd=read&page=CentOS6.7%E3%81%A7PHP%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%925.3%E3%81%8B%E3%82%895.6%E3%81%AB%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%97%E3%81%9F%E9%9A%9B%E3%81%AB%E3%83%8F%E3%83%9E%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D%E3%80%90WordPress%E3%80%91&word=%E8%8A%A6%E9%87%8E%E8%BC%9D%E6%98%8E

昔自分が書いた記事がネットの海にありました。
5.6の部分を5.5に置き換えて昔の自分を信じて作業します。

yum remove php*
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum --enablerepo=remi-php55 install php php-common php-cli php-pdo php-devel php-mysql php-xml php-fpm

これでPHPは問題なく5.5にアップデートされたはず…
PHP 5.5.38

php-fpmだけサービススタートしときます。

service php-fpm start

次はMySQL。

『【Server】mysqlを5.1 から 5.5にアップデートをする方法』
http://www.tam-tam.co.jp/tipsnote/program/post5858.html

この記事通りにやってみます。

/etc/rc.d/init.d/mysqld stop
yum remove mysql-5.1.73-7.el6.x86_64
yum install --enablerepo=remi mysql-server

(インストールにはさっきのPHPで使ったリポジトリを利用してます(多分))

/etc/rc.d/init.d/mysqld start

mysql-libs-5.5.51-1.el6.remi.x86_64
compat-mysql51-5.1.54-1.el6.remi.x86_64
mysql-server-5.5.51-1.el6.remi.x86_64
php-mysqlnd-5.5.38-1.el6.remi.x86_64
mysql-5.5.51-1.el6.remi.x86_64
依存関係含め全部5.5にアップデートできたっぽいです。

それでは気を改めてデータベースをインポート。

テーブルの中身も確認してちゃんとインポートされてることを確認できました。YES!

次に、ブログで使ってるwordpressディレクトリを丸ごとscpでローカルに持ってきます。
(バージョン管理してなかったので、後でBitbucketでリポジトリ作ってすぐクローンできるようにせねばです)
ホストPCで.Vagrantfileを作ったディレクトリにファイルを置いておくと、
ゲストOSの/vagrant/にファイルが共有されるのでこれを利用。
ゲストOSで共有された/etc/wordpressを/srv/wordpresssに移動。

rm -rf /srv/wordpress
mv /vagrant/wordpress /srv/
chown -R nginx:nginx /srv/wordpress

chownで所有者をnginxに変更して192.168.33.10にアクセス!!

データベース接続確立エラー!

wp-configでDB接続時のユーザー名とパスワード変更!

再度アクセス!

表示された!!!

と思ったらhttps://teriyakiegg.comにリダイレクトされてる?!

これは…
アカン…!

あ!
これはあれか!
ワードプレスのURL設定か!

『【WordPress】URLを変更する2つの方法!サイトアドレスからWPを削除』
http://wispyon.com/siteurl-home-wordpress/

このサイトを参考に、以下のmysql文を実行。
update wp_options set option_value = “http://192.168.33.10” where option_value = “https://teriyakiegg.com”;

これがトドメでした。

これで無事TOPページ、各記事、管理画面問題なく表示されました◎
イエッス!!!

無事ローカルの仮想環境でブログのテスト環境が整いましたが、
今回のvagrant upしてvagrant sshした以降サーバーに行った作業をAnsibleで全部自動化する、という最大の課題が残っています。
チーム開発じゃないのに自動化必要か、という疑問は胸にしまいます。

ということでまさかの三部作にもつれ込むことになってしまいました。
いや、しかしここまで来れば、
今回実行したコマンドを順番通りにAnsibleのタスクに書くだけだからハマることはないでしょう(願望)
後編はきっと15行ぐらいで終わるはずなので、すぐに更新できると思います。(願望)

では、皆さんおやすみなさい

後編→https://blog.e2info.co.jp/2017/01/11/vagrant%E3%81%A8ansible%E3%81%A7%E4%BB%AE%E6%83%B3%E7%92%B0%E5%A2%83%E3%81%AEcentos6-5%E3%81%ABwordpress%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%EF%BC%81web%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AFn-3/
Posted by てるお
twitter @teriyakiegg
site https://teriyakiegg.com

【参考記事】
各種バージョンをコマンドで確認(OS・Apache・MySQL・Nginx・PHP) http://qiita.com/junker919/items/9494ddf7b96b0c9414cc
使用中の WordPress のバージョンを確認する方法 http://mylinuxmemo.blogspot.jp/2010/11/wordpress-ru.html

ansiblenginxvagrantWordpress

teruo   teruo   2016年8月31日


関連記事

Laravel ExcelでCSV出力したらSJISで出せなかったので自分で書きました

佐川急便か何かのシステムと連携するために、Shift_JISで出力したCSVを作…

LaravelとGoogle APIの統合

LaravelでGoogleのAPIを利用します。 Laravelにはcompo…

Laravel5.1のリリース

Laravel5.1がリリースされました。PSR-2の採用、イベントブロードキャ…


← 前の投稿

次の投稿 →