ローカルホスト上に構築しているWebサイトがあります。
IPhoneでテストする必要がありますが、どうすればよいかわかりません。 httpd-vhosts.confファイルを変更するだけですか?変更する場合、設定は何ですか?
開発マシンの名前がmy-macbook-pro
であるとすると、iPhoneでhttp://my-macbook-pro.local/mywebsite
に移動できるはずです。
リチャードJ.ロスIIIの答えを少し拡張するために、「localhost」はローカルコンピューターのみを指すために使用される名前です。 iPhoneがそのマシンのコンテンツにアクセスできるようにするには、次のことを行う必要があります。
サーバーマシンと同じネットワーク上にIPアドレスを持っている。
これは、iPhoneをPCと同じネットワーク上にあるワイヤレスアクセスポイントに接続するか、2つのデバイス間にアドホックワイヤレスネットワークを作成することで実現できます。
ネットワーククライアントからのHTTP要求に応答します。
サーバーとiPhoneが同じネットワーク上にあると仮定すると、トラフィックがそれらの間を流れる可能性があります。ただし、WebコンテンツをiPhoneに表示するには、サーバーマシンのIPアドレスに対して行われた要求に応答するようにWebサーバーも構成する必要があります。
Webサーバーは通常、任意のマシンのIPアドレスに送信されたHTTP要求に応答するように構成されているため、これは通常は問題になりません。ローカル要求にのみ応答するようにサーバーを構成できる可能性がありますが、これは一般的なデフォルト設定ではありません。
この設定を確認または変更する方法は、使用しているHTTPサーバーソフトウェアによって異なります。この情報は指定されていないため、これはHTTPサーバーの非常に一般的な選択であるため、Apache2の手順を含めます。
Apacheのメイン設定ファイルはhttpd.conf
であり、Apacheディレクトリのconf
サブディレクトリにあります。 Apacheルートディレクトリの場所は、使用しているオペレーティングシステムと、インストール時にカスタムの場所が選択されているかどうかによって異なります。
Httpd.confファイルには、Apacheが着信HTTP要求をリッスンするインターフェイス(IPアドレスとポート)を制御するListenという名前のディレクティブが含まれています。
このディレクティブのデフォルト形式は一般的に
Listen 80
これは、マシンがHTTPトラフィックのデフォルトポートであるポート80で行われた要求に対して、そのIPアドレスのいずれかで応答することを指定します。
名前localhost
が解決するループバックアドレス(127.0.0.1
)を含む、マシンに関連付けられた任意のアドレスを使用するように、Listenディレクティブを変更できます。
Apacheがループバックアドレスのみをリッスンするように設定されている場合、サーバーマシンはローカルマシンで行われた要求にのみ応答します。この構成では、Listenディレクティブは次のようになります。
Listen 127.0.0.1:80
この場合、上記の例のようにすべてのアドレスでリッスンするか、iPhoneがサーバーマシンとの通信に使用するアドレスのみでリッスンするように変更する必要があります。
Vhost(同じサーバーApache上のいくつかのサイト)を使用している場合、次のいくつかのヒントは、モバイルでローカルWebサイトを表示するのに役立ちます。
1)VHOST edit-サーバーの/ etc/Apache2/sites-available /に移動する必要があります。複数のファイル.conf
が存在する可能性があり、各ファイルにはApacheの仮想ホスト構成が含まれています。デフォルトのファイルは000-default.confのようになります。管理者権限Sudo
でそれ(または別のもの)を開きます。そのファイルには、次のようなものが表示されます。
<VirtualHost *:80>
ServerName auction.dev
ServerAdmin [email protected]
DocumentRoot /var/www/public_html/html
ErrorLog /var/www/logs/error.log
CustomLog /var/www/logs/access.log combined
</VirtualHost>
2)XIP.IO-この特別なサービス(完全に無料)がお手伝いします。 .conf
ファイルの次の行--ServerAlias auction.dev.*.xip.io
に追加する必要があります。この操作の後、ファイルは次のようになります。
<VirtualHost *:80>
ServerName auction.dev
ServerAlias auction.dev.*.xip.io
ServerAdmin [email protected]
DocumentRoot /var/www/public_html/html
ErrorLog /var/www/logs/error.log
CustomLog /var/www/logs/access.log combined
</VirtualHost>
編集後、このファイルを保存し、コマンドSudo apachectl restart
でApacheを再起動する必要があります。
)モバイルからの表示-私の状況では、サーバーのIPを知る必要があります。ip= 192.168.1.247。これで、モバイルブラウザにauction.dev.192.168.1.247.xip.ioと入力するだけで、ローカルWebサイトが表示されます。
ブラウザー開発ツールだけでなく、ネイティブの動作をよりよく理解したい場合は、iOSシミュレーターを使用して、Safariアプリでlocalhost:xxxxと入力できます。
私はxamppを使用しています。 localhostはポート8080で動作します。ipconfigでIPを見つけて、http://10.0.0.1:8080
に移動します。とても簡単です!
IOSデバイスで次のパターンを使用して、Macのローカルホストに接続します。
http://<computer-name>.local:<port>
どこ <computer-name>
発見できる System Preferences -> Sharing
または
http://<ip-address-of-desktop>:<port>
どこ <ip-address-of-desktop>
発見できる System Preferences -> Network
続きを読む ここ
IPodをケーブルでMacbookに接続すると、デバイスは開発者の下のメニューのMacのサファリに表示されます。このオプションをクリックすると、iPodとまったく同じように表示されます。
OSXの場合は、[システム環境設定]/[共有]に移動します。そこで、コンピュータの名前を見つけて変更できます。同じセクションで、「iPhoneUSB」ポートを使用して「インターネット共有」サービスを有効にする必要もあります。
次に、http:// {computer_name} .local/my-websiteでWebサイトを表示できます。