MAMPのローカルホスト設定を2台のMacで同期する方法(Dropbox経由のシンボリックリンク)

以前[MAMPでの複数のローカルホストのたてかた！](http://qiita.com/tsukishimaao/items/cab4caa065d901608856)という記事を通して1台のMacで複数のローカルホストを作る事は出来るようになりました。
しかしパソコン(Mac)が2台になった時点でローカルホストの設定をそれぞれのMacで別々に行う事になってしまい不便を感じていました。

今回行ったMAMPのローカルホスト設定を2台のPCで同期させた方法はあくまでも私のPC環境ではうまくいった(成功した)という事をご了承ください。

##①作業予定(当初考えていた)

1. MAMPのローカルホスト設定のファイル`httpd-vhosts.conf`が入ってるフォルダは`/Applications/MAMP/conf/apache/extra/`というフォルダで、場所は画像で説明すると以下になります。↓<br>![説明画像1.png](https://qiita-image-store.s3.amazonaws.com/0/35975/239b3255-2bd6-a6e9-4624-c16369626097.png "説明画像1.png")<br>この`extra`フォルダを丸ごと「Dropbox」に移動して、これを「実ファイル(フォルダ)」として2つのPCの本来`extra`がある場所に「シンボリックリンク」を設置する事によって1つのローカル設定ファイルで2つのPCが同期出来るという考えていた。

2. この際ローカルホストで設定するディレクトリ(フォルダ)はDropboxフォルダ内にある事が前提である。これなら2PCでローカルホストを`httpd-vhosts.conf`設定する際のディレクトリも同じDropbox内なので合うはずなのでこの方法で完結できると思っていた。

##②出てきた問題点とその解決方法
###2-1、「Dropboxフォルダの場所」が「ユーザーフォルダ」の中に設置されてた。
通常Dropboxフォルダはインストールされるとデフォルトではユーザーフォルダ内に設置されるはずです(インストール時に設定できたらゴメンなさい)。これがどう問題になるかというと、2台のPCのユーザー名がそれぞれ違うのでそれぞれの`httpd-vhosts.conf`(ローカルホストの設定ファイル)の内容を一致できなくなってしまいます。具体的にそれぞれの`httpd-vhosts.conf`を見ながら解説します。<br><br>ちなみに今回は「MacBookPro:ユーザー名:aoba」と「MacPro:ユーザー名:wakaba」の２台での`httpd-vhosts.conf`の設定です。見比べてみましょう。

1.「MacBookPro→ユーザー名:aoba」の場合

```
Listen 8001
<VirtualHost *:8001>
    DocumentRoot "/Users/aoba/Dropbox/ローカルホストに設定したいフォルダ名"
    <Directory "/Users/aoba/Dropbox/ローカルホストに設定したいフォルダ名">
        AllowOverride All
    </Directory>
</VirtualHost>
```

2.「MacPro2013→ユーザー名:wakaba」の場合

```
Listen 8001
<VirtualHost *:8001>
    DocumentRoot "/Users/wakaba/Dropbox/ローカルホストに設定したいフォルダ名"
    <Directory "/Users/wakaba/Dropbox/ローカルホストに設定したいフォルダ名">
        AllowOverride All
    </Directory>
</VirtualHost>
```

両者目的のディレクトリに到達する間にそれぞれ「別々のユーザー名」のディレクトリを通過しなくてはならない状況です。

ぶっちゃけ、2台ともユーザー名を同じにしてしまえば解決する事は出来ますが、その後の運営が煩雑になり、わかりにくくなると思います。

###2-2、「解決策」
「Dropbox」は後の設定で「Dropboxフォルダ」の設置場所を変更できます。ですので両者2台のPCとも「Macintosh HD」の直下に移動してしまいます。(おそらく多くの人がメインの内臓HDの名前は「Macintosh HD」にしていると思うので、、。)


###2-2、「Dropbox」フォルダの移動の仕方。
「ドロップボックスメニュー」から「基本設定」→「アカウント」を選択します。そして以下のように操作します。↓<br>![説明画像2.png](https://qiita-image-store.s3.amazonaws.com/0/35975/534c3806-7ebd-4c84-54e2-41fd00ccc99e.png "説明画像2.png")
すると「Dropboxの新しい場所を指定してください。選択したフォルダ内に「Dropbox」というフォルダが作成されます」という画面が出ます。(以下参照)<br>![スクリーンショット 2016-09-22 1.25.07.png](https://qiita-image-store.s3.amazonaws.com/0/35975/af4a3839-1618-0b3c-d307-482f5165df40.png "スクリーンショット 2016-09-22 1.25.07.png")

私の場合「st-karin」というフォルダを「Macintosh HD」直下に作って指定した結果以下のようなディレクトリ構成で移動できました。↓
![説明画像3.png](https://qiita-image-store.s3.amazonaws.com/0/35975/3b9a8985-d501-bfc7-474f-ba7fd7ecf57e.png "説明画像3.png")
これと同じディレクトリ構成になるように相手側のPCも「Dropboxフォルダ」を移動しました。

PS、、、Dropboxフォルダの移動作業をすると、「Dropbox自体が再同期し直す(くるくる回ってる状態)」事になって時間がかかったという話も聞きましたが、私の場合はまるっとデーターが移動ただけで作業は終わり、特に再同期する事にはなりませんでした。

##③Dropboxフォルダに設置した`httpd-vhosts.conf`ファイルを修正する。
2台のPCに対して「実ファイル」となるDropboxに設置した`httpd-vhosts.conf`ファイルのパスに関する部分を新しいパスに修正する。

修正する部分は以下↓

```
DocumentRoot "/Users/wakaba/Dropbox/ローカルホストに設定したいフォルダ名"
<Directory "/Users/wakaba/Dropbox/ローカルホストに設定したいフォルダ名">
```

これを、「Macitosh HD」をルートとして以下の様にDropboxフォルダにローカルホストの設定をしたい場合![説明画像3.png](https://qiita-image-store.s3.amazonaws.com/0/35975/3a305363-ba02-7ed5-dbfe-f21b0a232a11.png "説明画像3.png")

`httpd-vhosts.conf`ファイルの書き方は以下の様になります。

```
Listen 8001
<VirtualHost *:8001>
    DocumentRoot "/st-karin/Dropbox/ローカルホストに設定したいフォルダ名"
    <Directory "/st-karin/Dropbox/ローカルホストに設定したいフォルダ名">
        AllowOverride All
    </Directory>
</VirtualHost>
```

これを見ていると、一番先頭の「Macintosh HD」はパスに入れなくて直接「/」をローカルのルート(一番上)と見て、そこから順に設定したいフォルダまでを記載すれば良い様です。

##③まとめ
PCの設定ファイルの同期は一度設定してしまえば快適に使えるのですが、作業していく工程で思いもよらなかった問題点が今回も出てきました。また、この作業にはシンボリックリンクの作業が必要になりました。私自身、GUI党でしてターミナルでの作業には大変腰が引けました。

今回、「シンボリックリンク」の実際の作り方については割愛していますが、時間があるときにこの記事に(もしくは別に分けるかもしれないけど)、「シンボリックリンク」の詳細についても付け足そうと考えております。

改めて、今回の作業は私tsukishimaaoの環境では運良く成功したお話です。その点をご理解いただけたらありがたいです。

以上。

OS環境、、、2台共 : Mac OSX El Capitan バージョン10.11.6