MAMPのMySQLが起動しなくなった
年末に、MAMPのデータベースがおかしくなりました。ローカルとはいえ、進行中の案件が複数入っていたので、かなり焦りました。結果としては、友人に相談しながらエラーをひとつずつ解決しようとしたものの、結局MAMPの再インストールとデータベースのエクスポート&インポートをするハメに。。。
全部の案件が吹っ飛ぶくらいなら、ローカル構築は一個ずつ作っておいた方が、やっぱりいいよなー。。。という気になり。
年末年始の間に、firegoby.jpさんのVCCWを試そうと考えていました。Vagrantは使える状態ですが、自分でVagrantfile編集したこともなかったのです。
そしたらなんと、家族でスキーをしに行っている旅行先で・・・
初夢は、VCCWの夢を見ました。
これは「はやくちゃんとやりなさい」というお告げだな。
というわけで、やりました。
VCCWを使う手順
まず、何はともあれココにアクセス。
そしてzipをダウンロードだ!
ダウンロードしてきた「vccw-1.9.6.zip」を解凍して、フォルダ名を自分のプロジェクト名にしておきます。
フォルダの中身はこんな感じ。
日本語版のWordPressをインストールしたいので、Vagrantfileを開いて、ここを直しておきます。
WP_LANG = ENV["wp_lang"] || "en_US" ↓ ↓ ↓ ↓ ↓ WP_LANG = ENV["wp_lang"] || "ja"
ターミナルで、vagrantfileのあるところまで移動して、
vagrant up
これだけで、ダダダーッといろんな処理をしてくれます
vagrant upしている間にお皿を洗ったり、洗濯物をたたんだりしていると、、、十数分でローカル環境が出来上がりました。
wordpress.localにブラウザでアクセスすると、ちゃんと最新のWordPressでtwenty-fifteenが表示されてます。
すごい!!!
私のハマッたポイント
WordPressのインストール場所は、サブディレクトリ(example.com/wp)に入れて、トップページはexample.comに表示したいと考えていました。
miyaさん本人がこのように書かれていたのでそのまま実行。
[VCCWでWordPressのベータ版を試す。|firegoby.jp]
そしたら、こんなことに。
wordpressフォルダ以下は何も入っておらず、空のままでした。
うーん。
WP_HOMEとWP_SITEURLがありまして、どちらも空白にしておくとwordpress以下にちゃんとインストールされることは確認済みでした。でもサブディレクトリに入れたい・・・
WordPress管理画面の「設定」>「一般設定」ではこのようになっていますよね。
vagrantfileではこう書かれています。
WP_HOME = "" # path to WP_HOME, e.g blank or /wp or ... WP_SITEURL = "" # path to WP_SITEURL, e.g blank or /wp or ...
じゃあ、WP_SITEURLじゃなくて、WP_HOMEの方に「/wp」と書けばいいんじゃない?
と思ってやってみましたが、ダメでした。
悩んだあげく、最終的にスラッシュ抜きでやってみたら、成功!!
WP_HOME = "" # path to WP_HOME, e.g blank or /wp or ... WP_SITEURL = "wp" # path to WP_SITEURL, e.g blank or /wp or ...
管理画面では「WordPressアドレス」「サイトアドレス」となっていて、Vagrantfileでは「WP_HOME」と「WP_SITEURL」になっていて、さらに並び順が逆なのも、どっちに書くべきかわからなくなってしまう原因なのかなーと思いました。
私からの提案としては、vagrantfileはこう書いた方が混乱しないんじゃないかな、と思ってます。
WP_SITEURL = "" # path to WordPress directory, e.g blank or sub-directory name like "wp". WP_HOME = "" # path to sitehome, e.g blank or wp or ...
ついでに、「WP_SITEURL」を「WP_ADDRESS」に、「WP_HOME」を「SITE_ADDRESS」にすると、管理画面の名称と統一されてわかりやすくなるような気がします。英語版のWordPress管理画面でもこのようになってますし。
どうでしょうかー?
追記:サブディレクトリにトップページを表示するためのテスト
wpディレクトリにWordPressをインストールして、さらにexample.com/wpをサイトのトップページにする場合、どうするのかと思って、調べてみました。
結果。これでうまくいきました。
WP_HOME = "/wp" # path to WP_HOME, e.g blank or /wp or ... WP_SITEURL = "wp" # path to WP_SITEURL, e.g blank or /wp or ...
スラッシュ有り無しでうまくいったり行かなかったりするようなので、恐れ多くも@miya0001さんにプルリク送らせていただきました(^^);;ドキドキ・・・
追記:すみません、原因はスラッシュの有無ではないのかも
このあと一週間、vccwを使っていろんなパターンで何回もサブディレクトリにインストールしてみましたが、同じvagrantファイルでも、失敗するときと成功するときがあって、失敗の原因はスラッシュの有無が原因ではないようです・・・。
こんなブログを書いてしまいましたが。
同じ設定のvagrantfileなのに、1回失敗して、そのあともう一回やるとうまくいったりということがありました。
失敗の時は、明らかにインストール時間が短く、フォルダにはWordPressのファイルが全く入っていませんでした。
最新のWordPressをダウンロードしてくるところでうまくいってないのかしら。未熟な私にはわかりませぬ・・・