質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

2回答

9598閲覧

同じWi-fi内の外部PCからMacのローカルサーバにアクセスしたい

toitoitoi

総合スコア28

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

3クリップ

投稿2015/09/14 07:43

同じLAN(Wi-fi)内の外部PC(スマートフォン等)からローカルサーバにアクセスしたいのですが、DNSエラーが発生して苦戦しています。
お力を貸してください。

運営しているサイトには本番サーバの本番サイト、テストサーバのテストサイトの他に、自分のローカルマシン(Mac)でもMAMPでサーバを作って検証しています。

今まで、
ローカルはサイト毎にフォルダを分けていたので
http://127.0.0.1/hoge/ でアクセス、
テストや本番は
http://hoge-shop.co.jp/ でアクセス、
というようにパスが異なっていました。
※(hoge の他にサイト毎に hoge2, hoge3 とある感じ)

それを改善するべく、VirtualHostを設定して
ローカルでも
http://hoge.local でアクセスできるようになりました。

ここまではなんとか来れたのですが…

スマートフォンでの見た目もローカルの段階から検証したく、外部からアクセスできるよう設定を試みました。

だけどどうしても、外部から「http://hoge.local」を叩くとDNSエラーとなります。

プライベートアドレス「http://10.0.xxx.xxx/index.php」を叩くとエラーにならずローカル環境のphpinfo()が覗けます。

あとは名前解決だけだと思うのですが、
hosts の設定だけではダメなのでしょうか。

どなたかヒントをください。。。

以下、自分が行った設定です。

■/Applications/MAMP/conf/apache/httpd.conf

・Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
のコメントアウトを外す

・Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf
のコメントアウトを外す

■/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

・下記を追記

<VirtualHost *:80>
DocumentRoot "/Users/maru/workspace/hoge"
ServerName hoge.local
</VirtualHost>

NameVirtualHost *:443

<VirtualHost *:443>
DocumentRoot "/Users/maru/workspace/hoge"
ServerName hoge.local

SSLEngine on SSLCertificateFile "/Applications/MAMP/conf/apache/keys/server.cert" SSLCertificateKeyFile "/Applications/MAMP/conf/apache/keys/secret-key-nopass.pem"
</VirtualHost> =====

■/Applications/MAMP/conf/apache/extra/httpd-ssl.conf

・下記の記述を確認

SSLCertificateFile "/Applications/MAMP/conf/apache/keys/server.cert"

SSLCertificateKeyFile "/Applications/MAMP/conf/apache/keys/secret-key-nopass.pem"

■ファイアウォールの確認
・システム>セキュリティーとプライバシー>タブ:ファイアウォール:入

■/private/etc/hosts
・下部に追記
10.0.xxx.xxx hoge.local
(↑プライベートアドレス)

※参考URLにあった、IPv4の設定を「DHCPサーバ使用」から「手入力」にする設定は行っていません。手入力にするとネットに繋がらなくなるのと、DHCPのままでもIPアドレスで外部からアクセスできたからです。


以上になります。
何かおかしな箇所はございますでしょうか。

どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

サーバだけでなくLAN内からアクセスするクライアント側にも hoge.local の hosts 設定が必要です。
Windows, Mac, Linuxでしたら hostsファイルがあります。
iPhoneの場合には hostsファイルの書き換えは脱獄をしないと変更ができません。
ルータによってはホスト登録を行う機能のものもありますが、未対応の場合にはホスト名の変わりにサーバ側に複数IPアドレスを持たせてIPアドレスで振り分ける方法もあるかと思います。

投稿2015/09/14 07:59

CharmSystems

総合スコア241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toitoitoi

2015/09/14 08:31

スマホ側に hosts 設定が必要になるのですね。根本が理解できていない証拠ですね。。。 脱獄やルート化は怖いので、VirtualHostを諦めてプライベートアドレスでアクセスできるよう、設定を戻すことにします。 大変勉強になりました。 ありがとうございました!
guest

0

既に解決済みになっていますが、Macにはbind(DNSサーバー)がインストール済みなので、ちょっと頑張って設定しローカルのDNSサーバーを稼働させれば、脱獄やルート化をせずとも実現出来るのではないでしょうか?
例えば こちらなどがご参考になると思います。

投稿2015/09/14 09:38

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toitoitoi

2015/09/14 12:48

自分のマシンでDNSサーバを立てるんですね。 リンク先を拝見したら、lvh.meという新しい概念が出てきてビビりましたがなんとなく掴めました。 これに沿ってDNSサーバを立てられたらまた一歩進化できそうです。 明日、さっそく挑戦してみますね。 どうもありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問