Macのローカルサーバー構築手順【MAMP導入編】
ども、どもども。
普段、ウェブサイト制作会社でディレクターとして仕事をしている私ですが、自社で開発・販売しているSKELETON CART(ショッピングカートシステム)やMovable Type用プラグインで、リリース前の動作確認をすることも、私の仕事になっています。
新機能などの動作確認であればよいのですが、PHPのバージョンアップなど、サーバー環境に変化があった際の動作確認は、それと同じ環境を用意することが私には難しい場合も多く…。
そのようなときは開発担当に動作確認をお願いしていたのですが、業務の都合などでなかなかスムースに進められないことも多く、負担になっていないか、気になっていました。
そこで今回、数年ぶりにローカル環境を整えてみようと思い立ち、以下の条件を満たせる環境を構築してみました。
- 先日バージョンアップされたMovable Typeクラウド版の環境にあわせ、PHPのバージョンは、7.4.33 / 8.0.28にしたい
- 上記の環境で、SKELETON CART(PHPプログラム)の動作確認ができるようにしたい
- バーチャルホストで複数の環境を利用できるようにしたい
最終的に目標は達成できたのですが、いろいろな作業をして初めて知ることも多かったので、いつものように「未来の自分への備忘録」として、ブログ記事にしておこうと思います。
MAMPのインストール
今回、ローカル環境の構築には、MAMP(無料版)を選びました。
私のようなディレクターが、導入から日々運用していくことを考えた際、おそらくこれが一番手軽なのかなと思います。
インストールと初期設定は、こちらの記事を参考にさせてもらいました。
この記事にもありますが、インストーラーの指示に従っていけば、インストールから初期設定まで、簡単に進めることができます。
また、私がダウンロードした時点で、MAMPに同梱されていたPHPは、7.4.33 / 8.2.0 だったので、目標にしていたうちの1つ(PHP 7.4.33)はここでクリアすることができました。
ローカル環境からのメール送信
続けて、PHP7.4.33でのSKELETON CART動作確認を進めようとしましたが、マニュアルにあるとおりにSKELETON CARTをインストールしていて、ふと「メール送信ができない」ことに気が付き、こちらの記事を参考に、ローカル環境からでもGmailを利用してメール送信できるようにしました。
Googleアカウントのアプリパスワードの設定場所が見つからなかったのですが、上記の記事(2021年9月)と現在では、ちょっと違っていて、2023年3月時点では、左ナビゲーションにある「セキュリティ」から、「2段階認証プロセス」を選択した先で見つけることができました。
それ以外は参考記事の手順のままに進められました。
1点だけ、ターミナルでファイルを編集(INSERTモードで編集)した後、「wqを押して終了」とありますが、正確には :wq で編集モードを終了する(コロンが必要)部分だけ、気が付かずにちょっと困りました(汗)
これで無事にメールを送信することができるようになり、PHP7.4.33環境でのSKELETON CARTの動作確認ができるようになりました。
PHP8での動作確認
ダウンロードしたMAMPに同梱されていたPHP8.2.0も、正常に動作していました。
MAMPには複数のPHPバージョンが同梱されていて、こちらの記事にあるように、好きなものを選択できるようになっています。
ところが、私が利用したかったバージョン 8.0.28 は残念ながら同梱されていませんでした。
以下の記事では、同梱されていないPHPのバージョンもMAMPのウェブサイトからダウンロードできると書いてありますが、2023年3月時点では、そのダウンロードも見当たりませんでした。
調べてみると、PHPのウェブサイトから、必要なバージョンをダウンロードして設置すると良いという記事も見かけましたが、残念ながら、そのままではMAMPが正常に起動してくれませんでした。
MAMP導入編まとめ
というわけで、数年ぶりのローカル環境構築は、非常にスムースに進みました。
MAMPそのものも、以前より使いやすくなっているように感じましたし、ローカル環境からメール送信できるようになったのは嬉しかったです。
ターミナルの操作も、だんだんと慣れたのか、Gmailを利用したメール送信も問題なく進めることができました。
PHPのバージョンにこだわらなければ、これでローカル環境の準備は完了となりますが、PHP8.0.28でSKELETON CARTの動作確認を行うべく、引き続き環境構築を進めることに。
今回の記事はここまでですが、次は…
- PHP 8.0.28 の環境構築
- SSL証明書の導入
- バーチャルホストの設定
これらを進めていくことになります。
長くなりそうなので、いくつかに分けて行きますが、自分はもちろん、誰かの参考になると幸いです!