Wordpressの自作テーマを作るためのお手軽ローカル環境が欲しい
やはり投稿間隔が空きますね。Yadex205です。
最近、Rubyを使う技術系のバイト始めました。 お陰様で今まで触れてこなかった技術的な内容がどんどん入ってきてて、楽しい反面理解がもう少しで追いつかなくなりそうです。
それとは関係ないのですが、某案件でウェブサイトを作ることになって、その時に悩んだことをとりあえずまとめてみます。
WordPressでサイトを作る
今まで僕が作ってきたサイトって完全に静的ページだけで構成されており、
CMSを使ってるぽくってもJekyll
で無理矢理運用(しかもGithub Pages
上)したりしていました。
今回は、大学のとある団体のウェブサイトを担当することになったのですが、
- 定期的に行われる活動の報告を掲載する。
→ またJekyllで行けるか〜〜〜? - 大学のドメインを使いたいので大学が提供しているサーバーを使わざるを得ない。
→ WordPressのっけるしかないじゃん〜〜〜。
ということで、WordPressを使ってウェブサイトを作ることになりました。 WordPress童貞はこれにて卒業になります。 そもそも以前、とあるサイトをJekyllとGithub Pagesで運用しているうちに更新作業がとても辛くなった経験があるので、 そろそろウェブサイトの制作作業とコンテンツの更新作業を分担する(記事更新は他の方が担当する)頃合いかなと思い、 今回の決断に至りました。
関係ないですが、ドメインが関係なかったとしてもTumblr
は絶対に使わなかったと思います。あれはテーマの開発が面倒というか融通が利かないというか。。。
WordPressのテーマを制作する環境を整える
僕がウェブサイトを作る際には決まって
を導入しており、ECT
のようなJSテンプレートエンジンとかSass
のようなCSSコンパイラー(?)による処理を
ソースファイルが更新されたら自動で行い、プロジェクト内のとあるディレクトリに整頓して配置するようにしていました。
また、どこからでもデザインを行えるようGit
のリモートリポジトリをGitHub
やGitLab
に作り、
$ git clone (省略)/project.git $ cd project $ npm install
すれば制作環境が他のマシンでもすぐ行えるようにしていました。
ところが。
WordPressはそれ自体を動かすのが面倒そう
WordPressを動かす方法を検索すると、LAMP
という用語が飛び交っていておいおいという気持ちになります。
これだと全部のマシンでApache/NginxとMySQLとPHPを入れなくてはいけないのか。。。
そんなことをしなくても、上記の記事のようにPHPのビルトインサーバーを使えば、ApacheやNginxを用意したり、
Webサーバー上でPHPをCGIとして動かすためのphp-fpm
を導入したりしなくても済みます。
もちろん本番環境では使えませんが、このように何かの開発を行うには持ってこいの機能ですね。
で、MySQLは入れなきゃいけないの?
WordPressは様々なデータを溜め込むのにデータベースが必須ですが、普通はMySQL(最近だとMariaDBも?)にしか対応していません。 MySQLとか、調べただけでも環境構築面倒そうですよね・・・。
そこで、SQLite
という手軽なデータベースを導入します。Androidアプリケーションに標準でsqliteを使った機能が付いているくらい手軽です。
主にアプリケーションに埋め込まれて利用されるもので、サーバーを立ち上げるとかアカウントを作るとかいう作業がいらなくなります。
ただし上述の通りWordPressはSQLiteには対応していないので、上記の記事の著者様が作られたsqlite-integration
というプラグインを組み込むことで
利用可能になり、WordPressのinstall.php
を使ってインストールする際にデータベースの質問がされなくなります。
どうせならサイトの設定も自動化したい
以上で、'PHP'がインストールされていればひとまずWordPressが動く環境が整います。ですが、WordPress起動時にサイト名や管理者アカウントの設定が必要になります。 どうせならgulpとかシェルスクリプトで簡単に整えたいですよね。
WP-CLI
というそのまんまなソフトウェアがあります。これをWordPressのインストールされているディレクトリで実行することで、サイトや管理者の設定はもちろん、
プラグインのインストールやテーマの変更などもこれ一つで行うことができます。
設定スクリプトを作りました
今まで書いた内容を雑にまとめたようなシェルスクリプトを、それこそ冒頭で述べた今回のウェブサイト制作の際に作っていたので、 汚いのですがGistとして公開しました。
お手軽WordPress環境構築スクリプト · GitHub
$ cd project_root $ mkdir bin && cd bin $ curl https://gist.githubusercontent.com/yadex205/c42e7ee8f08dbc30872f9a1f78261d23/raw/36f0467885b242c01d04ec1aa7ea47371f0cd061/init.sh -O $ chmod +x init.sh $ ./init.sh -u [サイトURL] -t [サイトタイトル] -n [管理者アカウント名] -p [管理者パスワード] -e [管理者email]
のような感じです。なおオプションをしていしない場合、適当なデフォルト値が設定されます。
最後に
ちなみに、上記のスクリプトをGulp
のタスクから呼べるようにし、さらにnpmのpackage.json
のpostinstall
スクリプトとしてそのタスクを動くよう書いてやると、
npm init
した際に一緒にWordPressもインストールしてくれます。僕はいまそうやってます。
ということでWordPressテーマを作るのに手軽な環境を整える個人的な方法をずらずらと書き、その処理を行うスクリプトも公開しました。
僕は今からPHPと格闘してきます。。。