おでこです。自宅では Windows のデスクトップマシン、出先や勉強会では MacBook Air を使っているのですが、それぞれに作っている XAMPP のローカル環境がバラバラなのがずっと不満でした。勉強会で一からローカル環境作り直したり。自宅と MBA で同じバージョンの WordPress を2回もインストールしたり。
でも、そんなこととももうおさらば!Dropbox を使って ローカル環境を同期することにしてみました。具体的な手順は以下をご覧あれ。
XAMPP のファイル構成は OS によってまったく違う
複数クライアントの XAMPP 環境の同期と聞いて、「そんなの XAMPP フォルダを Dropbox フォルダに入れて同期すれば終了だろ、JK」と思う方もいるかもしれません。XAMPP 環境を扱うクライアントがすべて同じ OS であればこの方法でも解決できますが、Windows と Mac あるいは Linux などを使い分けていると、この方法ではうまくいきません。
それは、XAMPP のファイル構成が OS によって違うからです。たとえば、Mac の XAMPP では /xampp/xamppfiles/bin/ の中にアプリケーションファイルがまとめられていますが、Windows の XAMPP フォルダでは /xampp/apache/ や /xampp/mysql/ などそれぞれのフォルダごとにアプリケーションが分散しています。もちろん、Windows のアプリケーションは Mac では動きませんし、その逆も無理。OS をまたがった同期を行うにはこの方法は不向きです。
htdocs と mysql を同期する
そこで、公開サイトのデータの格納先であるドキュメントルートと データベースである MySQL のデータファイルをそれぞれのクライアントの Dropbox ディレクトリに配置するように設定し、Dropbox のオンラインストレージ経由で同期を取ることにします。
ぼくは htdocs を sites というフォルダをつくって同期を取りましたが、別に Dropbox 内にも htdocs を作っても問題ないきがします。
とりあえず XAMPP をインストールする
すでにインストールできて準備万端(;゚∀゚)=3な人は飛ばしてください。
まだの方は、APACHE FRIENDS からそれぞれの OS にあった XAMPP のパッケージを落としてください。
Windows の方は C:\xampp\ に、Mac の方はアプリケーションフォルダの中にインストールでいいんじゃないかな。
ドキュメントルートを dropbox 内のフォルダに割り当てる
通常ドキュメントルートは htdocs が割り当てられているはずで、このフォルダの中身が公開されるようになっていますが、これを dropbox フォルダの中につくった sites フォルダが公開されるように設定を変更します。以下、YOURNAME のところはコンピュータのアカウント名に適当に書き換えてくださいね。
Windows 編
C:\xampp\apache\conf\httpd.conf に以下を追加(位置はわりとどこでもおk)します。
<Directory “C:\Users\YOURNAME\Documents\My Dropbox\sites”>
[shell]
<Directory “C:\Users\YOURNAME\Documents\My Dropbox\sites”>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
[/shell]
また、以下のように
httpd-vhosts.conf がインクルードされていること(Include の # が外れてコメントアウトされてないこと)を確認してください。# がついていたら消してくださいね。
[shell]
# Virtual hosts
Include “conf/extra/httpd-vhosts.conf” ←コメントアウトされてないことを確認
[/shell]
次に、C:\xampp\apache\conf\extra\httpd-vhosts.conf を開き、NameVirtualHost が有効になっていること(コメントアウトされてないこと)を確認してください。
[shell]
# Use name-based virtual hosting.
#
NameVirtualHost *:80 ←コメントアウトされてないことを確認
またラストに
[/shell]
またラストに
[shell]
<VirtualHost *:80>
DocumentRoot “C:\Users\YOURNAME\Documents\My Dropbox\sites”
ServerName localhost
</VirtualHost>
[/shell]
を追記します。
最後に、C:\xampp\htdocs\ に置いていたファイルを、C:\Users\YOURNAME\Documents\My Dropbox\sites に移動してください(上書きが発生する場合はどちらが最新なのかに注意してくださいね)。
Mac 編
/Applications/XAMPP/xamppfiles/etc/httpd.conf に以下を追加(位置はわりとどこでもおk)します。
[shell]
<Directory “/Users/YOURNAME/Dropbox/sites”>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
[/shell]
また、以下のように httpd-vhosts.conf がインクルードされていること(Include の # が外れてコメントアウトされてないこと)を確認してください。# がついていたら消してくださいね。
[shell]
# Virtual hosts
Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf ←コメントアウトされてないことを確認
[/shell]
次に、/Applications/XAMPP/etc/extra/httpd-vhosts.conf を開き、NameVirtualHost が有効になっていること(コメントアウトされてないこと)を確認してください。
[shell]
# Use name-based virtual hosting.
#
NameVirtualHost *:80 ←コメントアウトされてないことを確認
[/shell]
またラストに
[shell]
<VirtualHost *:80>
DocumentRoot “/Users/YOURNAME/Dropbox/sites”
ServerName localhost
</VirtualHost>
[/shell]
を追記します。
最後に、/Applications/XAMPP/htdocs/ に置いていたファイルを、/Users/YOURNAME/Dropbox/sites に移動してください(上書きが発生する場合はどちらが最新なのかに注意してくださいね)。
MySQL の実データファイルを Dropbox に割り当てる
続いてデータベースも Dropbox に割り当てていきます。 Thx: ひろまささん!
Windows 編
MySQL の実データファイルは C:\xampp\mysql\data\ にあるので、こちらも Dropbox に割り当てていきます。
MySQL のデータファイルの置き場所は C:\xampp\mysql\bin\my.ini によって定義されていますので、このファイルの C:\xampp\mysql\data\ を C:\Users\YOURNAME\Documents\My Dropbox\mysql\data へと置き換えていきます。
[shell]
# The MySQL server
[mysqld]
basedir = “C:/xampp/mysql/”
datadir = “C:\Users\YOURNAME\Documents\My Dropbox\mysql\data”
log_error = “C:\Users\YOURNAME\Documents\My Dropbox\mysql\data\mysql.err”
pid_file = “mysql.pid”
general_log = 0
general_log_file = “C:\Users\YOURNAME\Documents\My Dropbox\mysql\data\mysql.log”
slow_query_log = 0
slow_query_log_file = “C:\Users\YOURNAME\Documents\My Dropbox\mysql\datamysql-slow.log”
# Uncomment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = “C:\Users\YOURNAME\Documents\My Dropbox\mysql\data”
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = “C:\Users\YOURNAME\Documents\My Dropbox\mysql\data”
[/shell]
log_error 関連や innodb 関連でエラーが出るようであれば適宜コメントアウトしてみてください。
最後に C:\xampp\mysql\data\ にあったファイルを C:\Users\YOURNAME\Documents\My Dropbox\mysql\data へと移動します(上書きが発生する場合は最新の方を上書きするように気をつけてくださいね)。
Mac 編
MySQL の実データファイルは /Applications/XAMPP/xamppfiles/var/mysql/ にあるので、こちらも Dropbox に割り当てていきます。
MySQL のデータファイルの置き場所は /Applications/XAMPP/etc/my.cnf によって定義されていますので、このファイルの /Applications/XAMPP/xamppfiles/var/mysql/ を /Users/YOURNAME/Dropbox/mysql/data/ へと置き換えていきます。
[shell]
# The MySQL server
[mysqld]
datadir = /Users/YOURNAME/Dropbox/mysql/data/ ←なければ追加
# Uncomment the following if you are using InnoDB tables
#skip-bdb
innodb_data_home_dir = /Users/YOURNAME/Dropbox/mysql/data/
innodb_log_group_home_dir = /Users/YOURNAME/Dropbox/mysql/data/
[/shell]
エラーが出るようであれば innodb 関連を適宜コメントアウトしてみてください。
最後に /Applications/XAMPP/xamppfiles/var/mysql/ にあったファイルを /Users/YOURNAME/Dropbox/mysql/data/ へと移動します(上書きが発生する場合は最新の方を上書きするように気をつけてくださいね)。
Apache、MySQL を再起動
上記までの設定が完了したら、xampp-control で Apache、MySQL を再起動します。以後、ドキュメント、データベースともに Dropbox のローカルフォルダに書きこまれ、そこからオンラインストレージとの間で同期を取るようになります。
注意事項
-
今後ローカル環境を使用する際は、コンピュータを終了する前にかならず xampp-control で MySQL をストップし、Dropbox のファイル同期を待ってから、コンピュータを終了してください。こうしないと最後まで使用中のファイルが同期されません。
- Mac 側の /Users/YOURNAME/Dropbox/mysql/data/ 内のフォルダに一時停止マークがついて同期できない場合は、ターミナルを起動し、$ sudo chmod -777 FOLDERNAME を実行してみてください。
さぁ、みんなもローカル環境を同期しよう、そうしよう!
“Dropbox で同期する XAMPP ローカル環境。どこでも開発!どこでも最新!” への12件のフィードバック
[…] ■ Dropbox で同期する XAMPP ローカル環境。どこでも開発!どこでも最新! | Odysseygate.com […]
[…] Dropbox で同期する XAMPP ローカル環境。どこでも開発!どこでも最新! | Odysseygate.com (tags: xampp dropbox) […]
[…] 引用元:Dropbox で同期する XAMPP ローカル環境。どこでも開発!どこでも最新! | Odysseygate.com カテゴリー: 未分類 パーマリンク ← 邱 永漢(きゅう えいかん) […]
[…] Dropbox で同期する XAMPP ローカル環境。どこでも開発!どこでも最新! | Odysseygate.com […]
[…] 基本的な考え方はDropboxで同期するXAMPPローカル環境。どこでも開発!どこでも最新!の説明がとても分かりやすいのでご覧いただければと思います。 […]
[…] おでさんのDropbox で同期する XAMPP ローカル環境。どこでも開発!どこでも最新!という記事に触発されて、私も自宅の Mac OS 10.6 と職場の Windows 7 に XAMPP を入れて、Dropbox と同期させてみました。 […]
[…] !! Dropbox で同期する XAMPP ローカル環境。どこでも開発!どこでも最新! […]
[…] 他の端末からでも開発したいので、このサイトを参考に […]
[…] Dropbox で同期する XAMPP ローカル環境。どこでも開発!どこでも最新! | 8bit… MAMP+SugarSyncでローカルWordPress同期 – Shinichi Nishikawa's […]
[…] (↓詳しい) Dropbox で同期する XAMPP ローカル環境。どこでも開発!どこでも最新! (↓Macのほうをメインにするならここも) XAMPPのhtdocsとmysqlデータファイルをDropboxで同期 (↓MAMP使用 […]
こんにちわ、初めて投稿します。
とてもありがたい記事で参考にしました。
ただxampp×Dropboxで、win7 & win7の環境でMysqlのデータの同期ができなくて困りました。。
テーブルの構造だけは同期できてたんですけど、、
仕方なくエクスポートして、インポートして利用してます。
もし何か知っていたら教えていただければ嬉しいです。
ちなみにxamppは(1.8.3)を利用してます。
初心者なんですが、「\」で書かれてるのところは「/」でいいんですよね?