WordPressのutf8mb4 のサポートでつまずいた

最近ハマった箇所をメモ

ローカルで作ったデータベースを、本番環境にインポートしようとしていたところで問題が発生しましたのでメモしておきます。

utf8mb4 のサポート

WordPress4.2から以下の変更点があっています。絵文字に対応しています。

データベースの文字エンコーディングがutf8から新しい4バイト文字の全範囲のサポートを追加したutf8mb4に変更されました。

引用先:https://ja.wordpress.org/2015/04/24/powell/

何が問題?

utf8mb4はMySQL5.5以降のバージョンで使用可能ということです。

ローカルの環境がMySQL5.5以上で構築を行っていて、いざ本番環境にデータベースをインポートしようとすると、エラーが出てインポートが出来ませんでした。

原因は、本番環境のMySQLのバージョンが5.3だったからです。文字エンコーディングがutf8mb4で作成されたので、旧バージョンのMySQLにインポートできなかったのです。

今後は、バージョンなどを確認しながら進めたいですね 🙂

Advertisements

WP-CLIでサイト構築とメンテナンス

WP-CLI Advent Calendar 2014

20日目の記事です。WP-CLI Advent Calendar 2014で記事を書くのは今回が最後となります。

とあるサイトをコマンドラインだけでつくるテスト

前回前々回ではMAMPでWP-CLIを使えるようにして、いくつかコマンドを実行してみました。今回は、あんまりないとは思いますが、コマンドラインを駆使してサイトを構築するテストを行ってみます。

WordPress本体をダウンロード

wp core download --locale=ja

wp-config.phpの設定

wp core config --dbname=xxxxxx --dbuser=xxxxxx --dbpass=xxxxxx

xxxxxxのところにデータベース情報を入力してます。その他、環境によって以下の項目等を変更していきます。今回はデフォルト値のままでOKなので除外しています。

[–dbhost=<dbhost>]
Set the database host. Default: ‘localhost’ ホストの設定、今回はlocalhostのままでOKなので入力せず
[–dbprefix=<dbprefix>]
Set the database table prefix. Default: ‘wp_’ プレフィックスの設定、今回はwp_のままでOKなので入力せず

WordPressインストール

wp core install --url=xxxxxx --title=xxxxxx --admin_user=xxxxxxx --admin_password=xxxxxx --admin_email=xxxxxx

インストールの情報を入力します。これでとりあえず完了。

プラグインのインストール・有効化

wp plugin install smart-custom-fields contact-form-7

よく使うプラグインなどはまとめておくと便利かもしれません。そして有効化させます。

wp plugin activate smart-custom-fields contact-form-7

ページも追加(会社概要)

wp post create --post_type=page --post_title='会社概要' --post_content='<h2>会社の歴史</h2>ここに会社の歴史が入ります。などなど' --post_status=publish --post_date='2014-12-20 08:00:00'

とりあえず以上です。業務のなかで、環境を準備するときに素早く出来るのは魅力的です。

データベースのエクスポート

作ったサイトを別の環境で使いたい時にデータベースをエクスポートしますが、WP-CLIでも可能です。ただやってみると

sh: mysqldump: command not found

と言われたので、調べるとMAMPではbash_profileの設定が必要とのことでした。

export PATH=$PATH:/Applications/MAMP/Library/bin/
wp db export
Success: Exported to xxxxxx.sql

無事に、エクスポートできました。

WP-CLI Advent Calendar 2014を終えてみて

@tekapo さんにのFbの投稿を見て、面白そうだったので挑戦してみました。Advent Calendar自体初挑戦だったので緊張しましたが、なんでもとりあえずやってみることが肝心だと思いました。ただ、記事のクオリティが初級編にとどまってしまったのが反省点です。でもこうやって記事を書くことは自分にとっていいですね!今回ご一緒させて頂いた皆様ありがとうございました。そして、今回の機会を与えていただいた@tekapo さん改めてありがとうございました。

皆様、良いお年をお迎えください。

WP-CLIをどう使うか?

WP-CLI Advent Calendar 2014

13日目の記事です。前回はMAMPにインストールしてプラグインをコマンドラインからインストールところまでを行いました。

よく使いそうなコマンドをピックアップ

公式サイトのCommands(http://wp-cli.org/commands/ )を見るとWordPressの多くの操作をコマンドラインで実行可能なのがわかります。ディレクターなどの視点からWordPressで構築したサイトを運用・管理する際に便利そうなものをいくつか、操作してみたいと思います。

core

coreでは、WordPress本体のDownload, install, updateやその他を適切に管理するコマンドです( http://wp-cli.org/commands/core/ )。試しにWordPressにアップデートがあるかどうか確認してみます。

wp core check-update

とコマンドを入力すると…

Success: WordPress is at the latest version.

という風に結果が返ってきました。複数のサイトを運用・管理している時に、いちいち管理画面に入らずにサイトのバージョンが最新に保たれているか確認ができるというのは手間が省けていいのではないでしょうか?

Download, installはWordPressのサイトを準備するときに重宝しそうです。

plugin

プラグインの管理ができるコマンドです( http://wp-cli.org/commands/plugin/ )。「get」「install」コマンドを使うことで最初にサイトを構築するときによく使うプラグインを一気に準備できそうです。

post

投稿もできるんですね!?:-o 早速使ってみましょう!( http://wp-cli.org/commands/post/

wp post create --post_type=page --post_title='A future post' --post_status=future --post_date='2020-12-01 07:00:00'

WP-CLIにてpostの例

固定ページでタイトルが「A future post」、投稿ステータスが「予約済み」、日付が「公開予定日時: 2020年12月1日 @ 7:00 」で投稿されました。

使いドコロ

管理画面を同じような操作を大量に繰り返す時などに便利そうです。今回は簡単な操作だけでしたので、最終回(2014年12月20日)は複雑な事例なども考えてみたいです。

WP-CLIをMAMPで使ってみる

WP-CLI Advent Calendar 2014

土曜日担当です。今月は後2回、記事を投稿しようと思います。どちらかと言うと、ウェブデザイナー・ディレクター的な立場で書いていこうと思います。

WP-CLIとは?

コマンドラインでWordPressを操作できるツール。コマンドラインで色々と操作できるそうです。

公式サイト( http://wp-cli.org/ )を参考に使っていきたいと思います。

今回の目標

MAMPで使えるようにしてみる!

インストール

まず最初にwp-cli.pharをダウンロードします。

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

動作をチェックします。情報を出力するみたいです。

php wp-cli.phar --info

結果は以下のとおりです。でも毎回「php wp-cli.phar」ってするのもあれなんで、wpだけで動作するようにしたいと思います。例えば上記の例で言うと、「php wp-cli.phar –info」を「wp –info」だけでOKなようにする。

PHP binary: /usr/bin/php
PHP version: 5.5.14
php.ini used:
WP-CLI root dir: phar://wp-cli.phar
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 0.17.1

以下を実行。

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

これでいいはず…

wp --info

「php wp-cli.phar –info」と同じ結果が出力されました。ホッ 🙂

MAMPで動くように設定する

公式サイトでもこのサイトみて直してねって記述がありました。

–info で出力された「/usr/bin/php」がMAMPのPHPを使うように設定します。

vi .bash_profile

以下を追記する。今回は僕のMAMPのPHPのバージョンに合わせています。

export MAMP_PHP=/Applications/MAMP/bin/php/php5.4.10/bin
export PATH="$MAMP_PHP:$PATH"

ターミナルを再起動して、もう一度以下のコマンドを実行

wp --info

おお 🙂 ちゃんと変わっている!

PHP binary: /Applications/MAMP/bin/php/php5.4.10/bin/php
 PHP version: 5.4.10
 php.ini used: /Applications/MAMP/bin/php/php5.4.10/conf/php.ini
 WP-CLI root dir: phar://wp-cli.phar
 WP-CLI global config:
 WP-CLI project config:
 WP-CLI version: 0.17.1

 WP-CLIを試してみよう

やっと使えるようになったはずなので、早速公式サイトに習って、プラグインをコマンドラインからインストールしてみます。

wp plugin install hello-dolly

WP-CLIでプラグインをインストール

無事に出来ました。

今後、どう活用するか?

http://wp-cli.org/commands/

公式サイトを参考に、色々と試してみます。業務をやる上でどんな使い方するかを考えてみたいです。

また来週の土曜日に!

BackWPupでバックアップしたファイルを復元する WordBenchSaga Short#2

WordBenchSaga Short#2では前回行ったBackWPupのバックアップをどうやって復元するか解説したいと思います。

そういえば、2014年8月23日にWordBench九州連合総会に参加してきました。また後日記事をアップしますね!

 

バックアップは出来たけど復元できなかったら意味が無い

帰るまでが遠足ではないですが、復元を確認できるまでがバックアップです。

前回バックアップしたファイルを復元してみましょう

ファイルを確認

僕の場合、Dropboxに保存されたので見てみましょう。

「backwpup_●●●_2014-08-08_09-30-08.tar.gz」というファイルができていました。

早速解凍してみましょう。

ワードプレス全体のファイルはもちろん、もちろん、オプションで選択していた「プラグインリスト」もありました。

あと、「.sql」ファイルがあります。こちらがデータベースのバックアップです。

※ディレクトリにアップロードする際に、BackWPupで生成された「backwpup_readme.txt」「●●●.pluginlist.2014-08-08.txt」「●●.sql」などは除外しましょう。

手順

  1. 空のデータベースを作成し、バックアップのデータベースをインポート
  2. バックアップ先にワードプレス全体をコピーします。
  3. 動作確認

 

WordPressインストールについて(WordPress3.9) WordBenchSaga#01

2014年7月31日にWordBenchSaga#01を開催して、WordPressのインストールが議題にあがりましたので
ブログにまとめたいと思います。
この記事のレジェメ

  1. WordPress.orgとWordPress.com
  2. ローカルに開発環境をつくろう(Windows/Mac)
  3. WordPressをダウンロード
  4. WordPressインストール
    1. データベース作成(phpmyadmin)
    2. ファイルアップロード
    3. インストール

1:WordPress.orgとWordPress.com

WordPressといっても、大きく2つ存在するのをご存知でしょうか?
WordPress.org = インストール型
WordPress.com = ブログサービス

※参照:WordPress.com と WordPress.org の違い( http://ja.forums.wordpress.com/topic/3?replies=1 )

今回は、WordPress.orgで配布されているWordPressを利用して、自分の環境(ローカルやサーバー)にインストールすることを目標とします。
今回利用するWordPressのバージョンは3.9です。

2:ローカルに開発環境をつくろう(Windows/Mac)

WordPressを使ってウェブサイトを公開する場合、開発環境と本番環境をわけることをおすすめします。
今回の記事では以下のように考えます。

開発環境 = 自分のPC・Mac上で作業する環境
本番環境 = ウェブサイトを実際に公開する環境

「開発環境」で開発・検証を行い、問題ない場合「本番環境」で公開する方法は最低限実施したいと思います。

Windowsで開発環境を準備してみましょう。

・XAMPP

2−1、XAMPPをダウンロード
以下のURLよりダウンロードしてください。

https://www.apachefriends.org/

2−2、XAMPPインストール前の注意
XAMPPのインストールで注意が必要なことは、Skypeが既にお持ちのWindowsにインストールされているかどうかです。
既にSkypeを使っている場合は、XAMPPでインストールされるウェブサーバー(Apache)のポート番号がふさがっている可能性があり、エラーとなる可能性があります。

XAMPPでインストールされるウェブサーバー(Apache)がデフォルトで使用するポート番号は80番です。
よくある原因としてSkypeがあげられます、他のソフトウェアかもしれませんが今回はSkypeの対策を記載しておきます。

対策として、設定にて「上記のポートの代わりに、80番ポートを使用する」のチェックを外してみてください。

2−3、XAMPPをインストール・起動

XAMPPをウィザードにしたがってインストールし、起動します。

ApacheとMySQLを起動します。
3:WordPressをダウンロード
WordPressのファイルをダウンロードします。

ダウンロード後は、圧縮ファイルを解凍しておきます。

4:WordPressインストール

WordPressをインストールする工程です。

データベース作成(phpmyadmin)
まず、WordPressで使用する空のデータベースを作成します。
XAMPPやMAMPにインストールされている、phpMyAdminというソフトウェアを使ってブラウザ上で空のデータベースを作成しましょう。

htcocs内の任意のディレクトリにファイルを全てアップロードします。

http://localhost もしくはhttp://localhost/インストールしたディレクトリ にアクセスしてインストールを実行

参考にしたいページ:WordPress のインストール(Codex)

WordBenchSaga Short#2

WordBenchSaga Short#2
2014年8月29日(金)18:00から1時間程度
佐賀市内のシエマにて開催予定
http://ciema.info/index.php?itemid=94

当日は19:25~C-revoミーティングが開催されます。
http://crtv.sagafan.jp/e696072.html

前回から引き続き、バックアップについて話そうと思います。
あと、先日参加したWordBench九州連合総会の報告も行います。

その他、相談会も出来ればと思いますので、なにか相談したいことがありましたらコメントいただけると助かります。

——————————————————
WordBenchSaga Short#とは?
——————————————————
WordPressのコミュニティのひとつであるWordBenchSagaが月に一度開催する小さな規模の勉強会です。WordPressやそれにまつわる技術系の情報交換や、初心者向けのハンズオンや、相談会などを行います。
気軽に参加していただけるように、主に佐賀市内のカフェで開催する予定です。出欠はチェックしませんが、事前に相談事ややりたいことなどをコメントくれると嬉しいです。

WordPressのバックアッププラグイン「BackWPup」を使用してみた

ある日突然、WordPressがトラブルに…バックアップがない!

WordPressのバックアップとっていますか?特に業務でWordPressを利用している場合は「いつでも元の状態に復元できる」ようにしておくことが必要ですよね。 トラブルはいきなりやってきますし、自分だけは大丈夫だと思っていると取り返しがつかないことになります。なにかあった時に対処することも重要ですが、そう言ったトラブルを未然に防ぐ方法をとっておくことで安心してウェブサイトを運営できるようにしましょう。

最近良く聞くトラブル

  • サーバー側のトラブルでデータ消失
  • ハッキング・クラッキングによるデータ改ざん
  • 複数人数で作業していて、間違った操作でファイルを削除してしまった

参考:Codex日本語版より「FAQ/ハッキング・クラッキング被害」

BackWPupプラグインを使ってバックアップをしよう

通常のバックアップというと、サーバーからファイルをバックアップ、データベースをバックアップといった作業を行います。定期的に実施するように自動化を行うのもよいですが、今回は手軽にプラグインでバックアップを行える「BackWPup」を使ってみます。

特徴

  • プラグインで手軽に操作できる
  • スケジュールなども設定できる
  • Dropboxなどの外部サービスへもバックアップ出来る

BackWPupの使い方

1インストールを行う。 プラグインのインストール画面にて「BackWPup」で検索を行います。 BackWPupスクリーンショット インストールが完了したら、プラグインの有効化を行います。スクリーンショット 2014-07-31 12.24.42 プラグインが有効化されたら以下の画面が表示されます。 スクリーンショット 2014-07-31 12.26.45   プラグインの設定を行う。

左側のメニューに「BackWPup」が追加されていますので、「Add new job」で新しく設定をします。       スクリーンショット 2014-07-31 12.27.38   BackWPupでは以下の様な設定が出来ます。

  • General:全般設定
  • Schedule:スケジュール設定
  • DB Backup:データベースバックアップの設定
  • FilesPlugins:ファイルバックアップの設定
  • Plugins:プラグインバックアップ設定

スクリーンショット 2014-07-31 12.27.48 Generalの設定 general   Scheduleの設定 schedule DB Backupの設定 db_backup

FilesPluginsの設定

file1 file2

Pluginsの設定(generalでinstalled Plugin listを選択した場合)

plugin

Dropboxの設定(バックアップ先をドロップボックスにした場合)

dropbox dropbox_loginDropbox_authentication_complete!

Dropbox authentication complete!

次回は、バックアップを復元する記事を書いてみます。

WordBenchSaga Short#1のお知らせ

WordBenchSaga Short#1の日程決定
2014年7月31日(木)18:00から1時間程度
佐賀市内のトレスにて開催予定
http://www.3rd-place-co.net/tres/

初めてなので、こちらのほうで資料を準備したいと思います。
テーマ作成などについて話したいと考えております。

その他、相談会も出来ればと思いますので、なにか相談したいことがありましたらコメントいただけると助かります。