ローカルで開発(XAMPP)

もくじ > Web開発ノート > WordPress

WordPressはサーバにインストールして使うCMSです。設定や投稿、プラグイン導入などは全てサーバ上で行う事を想定して設計されています。

しかし、レイアウトを好みに変更したり、オリジナルの機能をつけたり、テンプレートを使わずに独自のデザインを適用したい場合などは、PHPを変更したり、書き加えたりする必要があり、WordPressを基盤として、ほとんど独自のプログラム開発に近い作業を行う事になります。

その場合、開発中のバグによりサイト全体が急に動かなくなったり、レイアウトが崩れたりするわけで、その解体ショーをWebサイトに訪れるお客様に自演しながら作るわけにはいきませんので、WordPressを開発用のPCなどにインストールし、ローカルで開発を進めてからサーバにデータをアップロードする事になります。

ここでは、WordPressをローカルで開発する場合に使える手段として、

1.InstantWP
2.Local by Flywheel
3.XAMPP

以上の3つの方法について紹介いたします。

InstantWP

最近は使用ユーザーが極端に減ったようですが、個人的に最も気に入って使っていたものとして、まずはInstantWPを挙げます。

InstantWP 公式サイト

何が良いか?というと、環境を選ばずにインストールし、起動する事ができる点です。USBにインストールすれば、開発環境をそのまま持ち歩き、ローカル上でクライアントにお見せする事もできますし、外部メモリなどに保存して、そこで作業すれば、開発用PCが壊れても、別の環境に繋ぎ変えて、そのまま作業を続行できます。

便利とか簡単という事よりも、こういうアナログな安心感が好きです。

ただ、2019年5月現在、最新版の5.3.6がまともに動かない環境があり、ひとつ前の5.3.5も不安定で、最も安定しているのが2017年にリリースされた5.3.4であったりします。

ここ数年はPHPやデータベースのバージョンアップや、WordPress本体の変化も激しい事もあり、古いバージョンで騙し騙し使うという事に不安を感じます。

そしてUSBにインストールして、そのままどこかに忘れてきてしまうと悲劇です。

Local by Flywheel

簡単とか便利という意味で、今(2019年5月現在)ベストなものが、このLocal by Flywheelではないでしょうか。

Local by Flywheel 公式サイト

インストールも簡単、PHPなどのバージョン管理も簡単、複数のWordPressの開発や管理も簡単で、インターフェースも使いやすく目にも優しくオシャレです。

ひと昔前のあの苦労はなんだったんだろう?と思うくらいに、今は開発環境の構築や、プライベートのPC環境などもワンタッチ化されて便利で簡単でわかりやすくなってきました。

その理由のひとつに規格の一致化が進んだ事にあります。技術が使われ始めてからだいぶ一般に浸透し、だいたいみんながこの辺を使うよね?という用法や選ぶ技術の種類が決まってくると、それに合わせて仕様や規格が合わせられるようになります。

規格が同じなら「この場合はこうで、この場合はこう」といった選択が必要なくなり、こういった環境構築でよくあるインストールのための選択画面なども省略可できて、だいたいボタンひとつで必要なものが全部揃える事ができるようになります。

しかし、少し毛並みが違う環境だと、急にそれは動かなくなります。

Local by Flywheelの場合は、Virtualization Technology(仮想化支援技術)というものが必要になります。これは最近のPCなら安価なものでも、大抵は内蔵しているものですが、たまに、内蔵しているけれども、仮想化支援技術を許可していないPCがあります。

その場合は以下のようなエラーが表示されてインストールに失敗します。

Error creating machine: Error in driver during machine creation:
This computer does’nt have VT-X/AMD-V enabled.
Enabling it the BIOS is mandatory.

その場合は、F2などを押しながらPCを起動し、BIOSに入って「Intel Virtualization Technology」の項目を有効(Enabled)にしてください。

すると、仮想化支援技術が稼働するようになり、インストールできるようになるかもしれません。

それでもできない場合、Windows 10でしたら、Hyper-Vを無効にてみてください。

筆者の環境の場合は、上記の全てを試してもインストールできませんでした。CPUはVT-Xに対応しているIntel製なはずですが、どうも規格の不一致でVT-Xに非対応と判断されてしまうようです。

CPU名で検索すると、この問題に遭遇した人を見つけました。彼はMicrosoftやIntelに問い合わせて問題の根源にたどり着き納得したようですが、結論として、この環境ではLocal by Flywheelはインストールできないという事がわかりました。

XAMPP

結局、筆者はXAMPPを使っています。

XAMPP公式サイト

XAMPPは、Apache Friendsと名乗る、Apacheウェブサーバーの振興を行う非営利プロジェクト(公式サイトより)によって配布されている、Webサーバアプリケーションのセットです。

これをダウンロードし、導入したPCは、それ自体をサーバ化する事ができます。WebサーバApacheと、MariaDB(MySQL)、そしてPHPPerlがパッケージされていて、WordPressを実行するためのサーバ環境を整える事ができます。

WordPress以外のCMSを開発したり、PHPやPerlなどのサーバサイドスクリプトによる開発をしたい場合も使えます。

WordPressをローカルで動かすための環境としては、サーバ知識を求められるので難しいと紹介されていたりしますが、これを「難しい」と言ってしまうと、少し危ない時代ではないかと考えています。

WordPressは、本来データベース設計やデータベースを扱うプログラム開発(想定開発費は最低でも400万円程度)の工程の全てをすっ飛ばして、無料でワンタッチ化していますが、内部処理としては、本来プログラム開発するべき仕組みをそのまま剥き出しで扱っています。

今は、MySQLも時代遅れでMariaDBのほうが推奨されており、PHPもいまだに5を使っているサーバもありますが、2019年5月現在、PHP7.0ですら2018年でサポート終了し、PHP7.3.47.3.5以降が中心のようです。

こういったバージョンアップを無視していると、セキュリティ上の危険が増し、簡単だからと言ってワンタッチで放置しておくと、そのサイト自体が世界のネットワークの脅威となるプログラムの温床にされてしまうかもしれません。

Webサーバを把握し、それに伴い導入が必要になるサーバアプリケーション、データベースの種類などや各機能のバージョンを理解しておく事は、ご自分のWebサイトを守るためにも、必要な事ではないかと考えます。

次はブロックエディタの活用について説明します。