2013.01.27

MAMP:LAN上のMacからアクセスするぜ!(しかしなんとなく…)

LAN上の他のMacからMAMPで構築したローカルホストにブラウザから接続するための、またまた備忘録です。
訳わかめなので苦労は尽きません。
検索しまくりで時間を潰すので同じような誰かのお役に立ちたいなぁとは思うものの、完璧に説明できるスキルを持ち合わせておらず…しかも疑問が残る結果ですので、ご利用の際はあくまで解決のとっかかりという感じでゆるーくご理解くださいませ。

MAMPに関して、ちゅんもす開設当初から、いつもこちらのサイトさまを参考にさせて頂いております。

参考サイト:
MAMPを使ってローカルで複数サイトのバーチャルホストを設定&イントラ環境や仮想環境からもそのサイトを確認する設定方法 | THE HAM MEDIA BLOG

上記ページの”仮想PGやイントラネットからアクセス出来るようにするために“という項目を参考に、

/Applications/MAMP/conf/apache/httpd.conf の
#Listen 12.34.56.78:80 という記述の下に
Listen 80 というのがデフォルトであります。
その下に
Listen 5678 (使用中のポートと被らない好きな番号)

Lanからアクセスしたいポートを追加。

/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf で
<VirtualHost *:5678>
 DocumentRoot "/Users/****/site/fugafuga"
 ServerName fugafuga.com
</VirtualHost>

上記ポートの設定を追加。
ブラウザのアドレスバーにhttp://192.168.***.***:5678/を入力すると。
htmlで構成されてる普通のサイトは問題なくLAN内のMacからアクセスできるようになりました。

WordPress 迷走編

WordPressでちょっとつまずく。
Forbidden You don’t have permission to access がでちゃったので、httpd.confの

と、外部からのアクセスを禁止している箇所に、8行目を追加して接続するMacのipアドレスを許可してやりました。
(<Directory />にAllow form ipアドレスと書く暴挙に出ていたので訂正)
こちらのサイト様を参考にさせて頂きました。

参考サイト:
外部からのアクセスを制限する-独学!未経験からWebデザイナーになる!!

しかし!
Listenにて適宜ポートを設定し、httpd-vhosts.confにて設定を加えても、192.168.***.***:1234(適宜ポート)/でアクセスしてもリダイレクト?され192.168.***.***を直に見にいってしまい、階層と今は使っていないWordpressのフォルダが表示されてしまいます。ポート80に接続されているということでしょうか?
(追記:<VirtualHost>のところマッチするVirtualHostを上から順番に探してゆくらしい)
httpd-vhosts.confにMAMP初期設定のDocumentRoot /Applications/MAMP/htdocsも記述してあります。無くてもいいのかな?
適宜ポートが通用しないので、192.168.***.***でアクセスすることにして、尚かつlocalhost部分はコメントアウトしました…消極的解決法。(追記:一番下に追いやりました。)

原因がお判りの方!教えて頂けると助かります(´;ω;`)。

表示されましたが…cssが全く読み込まれてないので、ノーレイアウトの画面が表示されます。
MAMPを入れたホストのMacには、httpd-vhosts.confで設定したServerNameをhostsファイルで対応させ、WordPressのドメインhttp://hogehoge.comでアクセスできるようにしてあるわけだけど…

MAMPを入れたホスト機のhostsファイルの記述
127.0.0.1 localhost fugafuga.com hogehoge.com

しかし、LAN上のクライアントのMacにとっては、WordPressが書き出すurl
href="http://hogehoge.com/wp-content/themes/略/style.css"
などのhogehoge.comの部分は「は?どこなわけ?それシベリア?」状態。
WordPressの一般設定 WordPress アドレス (URL)をhttp://192.168.***.***:8888/WordPressのあるところ
にしてしまう方法もあるようですが、せっかくポート80にしてバーチャルなドメインを設定しているし、またテーブルを書き換える羽目になるのはいやなので、そこんところ触りたくない。

hogehoge.comがどこなのか教えてあげればいいのか!という事で、クライアントのhostsファイルでServerName(ドメイン)hogehoge.comとIPアドレスを対応させてみます。
調べてみたところ、クライアントは自分のhostsファイルに従ってIPアドレスを逆引きしてホストへリクエストを送り、ホストではApacheがバーチャルホストhogehoge.comのルートに導いてくれるんじゃないかと。
………Snow Leopardはさ、hostsファイルのアクセス権変えてmi(エディタ)で開いて直書き保存できたけど、Mountain Lionはできるの?
またまた有り難いサイトさまにお世話になりますよ。

参考サイト:
Mac OS X LionのTerminalにてnanoを使ってhostsファイルを書き換える話(画像付き)。|linker journal|linker

クライアントのhostsファイルに追加
192.168.***.*** hogehoge.com

おお!できた!!(∩・ω・)∩

しかし…こんなのでいいのかかなり不安です。

コメントをどうぞ



PageTop