2010年11月30日

MacBook Airの外付けUSBドライブでWeb共有

MacBook Airを持ちだしてから、出先でWebサイト更新をする機会も出てきたので、その運用方法のメモを残しておきます。

[OS X 10.6 Snow Leopard デフォルトの場合]
●ドキュメントルートの場所
(UNIX表記)
/Library/WebServer/Documents
(Finder表記)
Macintosh HD/ライブラリ/WebServer/Documents
●ユーザディレクトリ
(UNIX表記)
/Users/username/Sites
(Finder表記)
username/サイト
※usernameはインストールしたときに決めたユーザ名

この方法だと、「サイト」フォルダに運用中のサイトを全部入れなければなりません。
しかも、ユーザ名での運用だとルートからの絶対パスで記述されたリンクがずれてしまいます。

「ライブラリ/WebServer/Documents」に入れる方法をとってもいいですが、階層や権限が込み入ったところには入れたくないのが本音です。

それではと、ドキュメントルートを「サイト」に変更して、運用中のサイトファイルを全部入れる方法もあるのですが、これだと同期を取るのがほんのちょっと面倒です。ファイルの容量も大きくなったらさらに面倒です。

いっそのこと、USB接続のHDDに入れておいて、ここで開発も運用もできたらWindowsにもすぐにつなぎかえられるし便利なのに……と思ったのです。

★外部HDDを接続したときだけ「Web共有」


通常は「Web共有」つまりapacheを起動しない状態にしておき、USBのHDDをつなげたときだけ「Web共有」し、サイトの更新作業をローカルサーバーで確認することができたらいいなという結論に達しました。

結論は出たとしてもそこからが難関つづき。いや、実は終わってみれば難関でもなかったんですが……。

その手順をメモしておきます。(真似する方は以下は自己責任です)

(1)システム環境設定でWeb共有されていないことを確認
(2)外付けHDDをUSB接続する(ドライブ名、ルートフォルダ名を確認)
(3)httpd.confを編集
ターミナルで
sudo vi /etc/apache2/httpd.conf
と打ってhttpd.confを修正します。
(管理者パスワードの入力が必要です)

viエディタの使い方はvi簡単マニュアルなどを参考にしてください。

Mac OS XでphpやCGIを動かす設定については以下に詳しく載っていますので、以下を参考にしながらMac OS X10.6 Snow Leopardでのパスに読み替えてください。
10.6のhttpd.confは/etc/apache2の中にあります。

★超簡単 Mac OS XのローカルでCGI (SSIもPHPも)
http://homepage1.nifty.com/glass/tom_neko/web/web_cgi_osx.html

★Max OS X LeopardでAMP環境を構築しよう - Apache, MySQL, PHP, Perlで作る開発環境
http://www.futomi.com/lecture/macosx/index.html

(4)ドキュメントルートを変更
httpd.confの
DocumentRoot "/Library/WebServer/Documents"
の行の先頭に#を入れてコメント化し、
#DocumentRoot "/Library/WebServer/Documents"
次の行にUSBドライブのパスを入れます。
DocumentRoot "/Volumes/ドライブ名/サイトフォルダ名"

ドライブ名はユーザが変更しなければ製品名になっていることが多いです。デスクトップにマウントされたドライブ名と同じだと思っていいでしょう。サイトフォルダ名はサイトのトップページが入っているフォルダ名のパスをドライブ名に続けてください。
/Volumesは外部接続のドライブやフラッシュメモリなどのことみたいです。

これだけでは動きません。403 forbiddenエラーとなります。

DocumentRootのもう少し下にある、
<Directory />
</Directory>

のセクションの最後にある、Deny from allをAllow from allに修正してください。
ほかに修正すべきところは上記参照サイトを見ながら修正しましょう。

httpd.confを保存し、viエディタを終了してください。

(5)apacheの起動
[システム環境設定]→[共有]で[Web共有]にチェックを入れてください。

何か問題あったらごめんなさい。私はこれで幸せになりました。

外でWeb更新作業をするときにはメインのWindowsマシンからサイトごと同期バックアップをUSB接続の2.5インチHDDにして、MacBook AirでWeb更新やローカルサーバーで確認したいときにHDDをUSB接続してWeb共有をすることにしました。作業が終われば、USB接続のHDDをWindowsにつなげて更新されたファイルだけ上書きしています。
こうなるとどこでも作業ができてしまうので、作業停滞の言い訳ができなくなるのが困りものです(苦笑)。

なぜこんなことを残したかというと、Webで検索しても自分の探す答えが載っている日本語のページが見つからなかったからです。わかってしまえばアホみたいに簡単なことなのに、同じことでつまづいている方がいたら少しでも役に立てればと思って残してみました。それでは。

Apple MacBook Air 1.4GHz Core 2 Duo/11.6"/2G/128G/802.11n/BT/Mini DisplayPort MC506J/A
Apple MacBook Air 1.4GHz Core 2 Duo/11.6"/2G/128G/802.11n/BT/Mini DisplayPort MC506J/A

 このエントリーをはてなブックマークに追加
posted at 18:56│コメント(0)Web制作 

トラックバックURL

この記事にコメントする
(※スパム防止のため管理人の確認後に反映されます)

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Archives
記事検索