World Financial Strategy

MAMPのWordPressローカル環境をDropboxでWindowsとMacでまたがって同期する

以前、WindowsのxamppとMacのMAMPのWordPressローカル環境をDropboxで同期する方法の記事をアップしました。

さて当ブログは、基本的にはテーマSimplicityを親テーマ、すなわち骨格として作成したものですが、ことデザインに関してはもはや原型をとど...

 

時は流れ、xamppとMAMPという異なるパッケージで同期していると原因不明のトラブルに悩まされ、xamppでローカルサーバーをONにしてDropboxのデータが更新されると以降MAMPではエラーが発生してローカルサーバーを立てられないなどの問題が生じました。

MAMPはWindows版も存在するため、今回いっそのことMAMPで統一のうえで、ローカル環境をクリーンインストールすることにしました。

対象の読者の方と前提

対象の読者

  • MAMPによるWordPress開発環境を少なくとも1台のPCに導入されたことがある方
  • 2台以上のPCによりWordPress開発環境を同期したい方

前提

  • MAMPおよびWordPressをインストール済み
  • Dropboxをインストール済み
  • Dropbox内に、下記のようなディレクトリ構造でapacheのデータを入れるフォルダ(htdocs)と、MySQLのデータを入れるフォルダ(mysql)をコピー済み(下記はWindows版を想定しています)

    C:\MAMP\htdocs

    C:\<Dropboxへのパス>\Dropbox\AppData\MAMP\htdocs

    C:\MAMP\db\mysql

    C:\<Dropboxへのパス>\Dropbox\AppData\MAMP\mysql

環境の構造

ざっくりと環境の構造を図に示すと、以下のようになります。 要するに、Windows PC、Mac PCともにそれぞれ MAMPをインストールしたうえで、apacheとMySQLのデータのみDropboxに取得しに行くという、単純な構造です。

Windowsの設定

まず初めに、この項目の前提となる、私の環境は以下のとおりです。

OS
Windows 10 Pro 64ビット
MAMPのバージョン
5.0.3.3910
MAMPのインストール先
C:\MAMP

MAMPのドキュメントルートを変更するとともに、シンボリック・リンクというものを使って、デフォルトではXAMPPのインストール先に存在するmysqlのデータが入っているフォルダを、代わりにDropbox内に作ったフォルダにリンクする方法で行います。

※ドキュメントルートとは、Webサーバ(HTTPサーバ)やFTPサーバが外部に公開するファイルなどが置かれたディレクトリ(フォルダ)のことです。そのディレクトリにあるファイルおよび、その下の階層にあるファイルやディレクトリが公開されます。

シンボリック・リンクとはそもそも何!?という方は下記をご覧ください。

ドキュメントルートの変更

  1. メニューバーの[MAMP]→[Preferences…]を選択します。

  2. [Server]タブを選択します。

    デフォルトのドキュメントルートは以下のとおりC:\MAMP\htdocsです。

  3. ドキュメントルートを以下のようにC:\<Dropboxへのパス>\Dropbox\AppData\MAMP\htdocsに変更します。

mysqlフォルダのコピーとシンボリックリンク作成

  1. C:\MAMP\db\mysqlを適当にリネームする →削除しても問題はないが、念のためリネームしてバックアップを残しておくことが望ましいです。 フォルダ名の最後に「_bk」などと適当なサフィックスを付けるのが分かりやすいでしょう。

  2. 検索ウィンドウで「cmd」と入力し、現れた「コマンド プロンプト」を右クリック、「管理者として実行」を選択します。

    Dropbox xampp mamp windows setting03

  3. シンボリック・リンク作成のコマンドを入力します。 コマンドは

    です。 先述の通り、Cドライブ直下にMAMPをインストールし、Dropbox内にも同じ階層構造でデータフォルダを作成していれば、

    というコマンドになります。正しくコマンドを実行すると、

    のように「〜のシンボリック リンクが作成されました」と表示され、実際に下記のようにエクスプローラでも矢印つきのアイコン(シンボリックリンク)が作成されていることが確認できます。

これでWindows側の設定は完了です。 簡単でしたね。

Macの設定

【補足】プリインストール版ApacheとPHPを停止

Dropboxによる環境同期に直接関係ない話題となりますが、macOSには最初からApacheとPHPがインストールされています。

しかし、MAMPはこのプリインストール版を使わず「別のApacheとPHP」をハードディスクの別の場所にインストールします。

 

よって、MAMPはプリインストール版のApacheと競合しないように、デフォルトではポート「8888」を使用するように設定されています。

Webサーバーの標準ポートは「80」です。

MAMPでもポート80を使えるほうが、URLがシンプルになり何かと楽なので、あらかじめ「システム環境設定」で「Web共有」をOFFにすることで、プリインストール版のApacheとPHPを停止しておきましょう。

 

システム環境設定 > 共有と進み、

上記のように、「インターネット共有」がOFFになっていることを確認します。

 

そして、MAMPのデフォルトではポート「8888」になっているところを、ポート「80」に変更します。

[MAMP]→「Preferences」→「Ports」タブで「80 & 3306」ボタンを押すだけでOKです。

ドキュメントルートの変更

Windows版と同様に、htdocsのドキュメントルートを変更します。

[MAMP]→「Preferences」→「Web Server」タブを開きます。デフォルトは以下のようになっています。

これを、Dropbox内のhtdocsディレクトリに割り当てます。

「Select」ボタンから、上記のように設定します。

※macOS Ventura 13.1から、Dropboxのフォルダの保管先が/Users/YOURNAME/Dropbox/から/Users/YOURNAME/Library/CloudStorage/Dropbox/となりましたのでご注意ください。

mysqlデータへのシンボリックリンク作成

htdocsだけでなくMySQLもDropboxのデータを割り当てる必要がありますが、htdocs のようにドキュメントルートをお自由に選べるわけではなく、必ず/Applications/MAMP/db/の中にあります。

なお私の場合、フォルダ名は「mysql57」という名前になっていました。

というわけで、Windowsの時と同様に、フォルダ名の最後に「_backup」などと付け足して念のためバックアップとして残しておきます。

さて、/Applications/MAMP/db/の中の「mysql57」を、Dropboxのデータにリンクさせるため、シンボリックリンクを作成します。

 

「アプリケーション」→「ユーティリティ」→「ターミナル」を起動します。

ターミナルで以下のコマンドを打つと、Windowsと同様にシンボリックリンクを作成できます。

ln -s /〜/リンク先のフォルダ /〜/リンクを設置したい場所

というわけで、今回は以下のように打ち込みます。

ln -s /Users/YOURNAME/Library/CloudStorage/Dropbox/AppData/MAMP/mysql/ /Applications/MAMP/db/

※macOS Ventura 13.1から、Dropboxのフォルダの保管先が/Users/YOURNAME/Dropbox/から/Users/YOURNAME/Library/CloudStorage/Dropbox/となりましたのでご注意ください。

実際にターミナルで打ち込んだところの画面です。

コマンド入力して実行しても、特にシンボリックリンクの作成に成功した、などの表示は出ませんが、うまくいっていれば、以下のようにシンボリックリンクが作成されます。

なお、このままでは動きません。シンボリックリンクの名前が参照先のフォルダ名「data」になっているためです。

シンボリックリンクは自由にリネーム可能なので、今回は元の「mysql57」という名前にしました。

これでWordPressのローカル環境にアクセス可能になりました。

最後に

お疲れ様でした!

 

やっぱりMacでWordpressの開発環境ができたってのは本当に素晴らしすぎます!

また、こうしてローカルサーバーを設けることで、MarsEditのリアルタイムプレビュー機能をオフラインでも利用することができるようになりました。

これからもどんどん使い倒していきたいと思います!

 

※運用時の注意点として、ローカル環境を使用した後は、きちんとMAMPで「Stop Server」を押して、その後のDropboxの同期を完了させましょう。

WFS記事下レスポンシブ

シェアする

  • このエントリーをはてなブックマークに追加
トップへ戻る