LANネットワークを介して別のコンピューターからlocalhost(xampp)にアクセスする-方法


150

自宅でWi-Fiネットワークをセットアップしたところです。デスクトップコンピュータ(192.168.1.56)にすべてのファイルがあり、別のコンピュータ(192.168.1.2)からローカルホストにアクセスしたい。

私のデスクトップでは、通常のhttp:// localhostを介してlocalhostにアクセスできます。Apacheは通常どおりポート80で実行されています。

これを達成するために私は正確に何をしなければなりませんか?ネット上にドキュメントがありますが、それらは機能しないか、断片化されすぎて理解するのが困難です。

Apacheのhttpd.confファイルとhostsファイルを変更する必要があると思います。どのような変更を加えるかについてのアイデアはありますか?



1
これが私がWindows 10で実行した作業です。cmdに移動してipconfigと入力し、次にipv4アドレスを見つけて、ウェブサイトのURLの名前をそのIPに変更します(例:192.168.0.2/example)。次に、「Windowsファイアウォール経由のアプリを許可する」でウィンドウを検索し、それをクリックして、[設定の変更]をクリックし、http apacheサーバーがチェックされていることを確認します。それがお役に立て
ば幸い

app.sitename.comという名前のサイトがあります。これで、IPアドレスを使用して、同じネットワーク内の別のPCのサイトにアクセスできます。サブドミアンでアクセスする方法。app.ipaddress.comが機能していません。リモートPCにサブドメインを追加するにはどうすればよいですか?
vicky

回答:


112

Localhostは、ループバックに付けられた単なる名前です。たとえば、自分を「私」と呼ぶようなものです。

他のコンピュータから、それを表示するには、チャンスはあなたが必要としているだけで行うhttp://192.168.1.56のhttp:// myPcsNameそのdoesntの仕事は、お使いのコンピュータ上で実行されているファイアウォール、またはがある可能性がある場合のhttpd.conf 127.0.0.1でのみリッスンしています


httpd.conf:80をリッスンして、変更を加える必要がある場合、何を勧めますか?
bcosynot

1
それは単にポート80でリッスンすることを言っているだけですが、すでにリッスンしている可能性があります。netstat -a、ポート80で項目を検索すると、どのIPがリッスンしているかが
わかります

1
これで、ローカルホストだけでなく、ポート80でのリクエストをリッスンすることになります。つまり、PCがvr3609と呼ばれている場合は、httpを送信すると、Webサイトに移動します。
BugFinder

1
あなたがサーバーからあなたのサーバーのIPアドレスにhttpした場合、それは機能しますか?もしそうなら、それは他のマシンがそれに到達するのをブロックするサーバー上にファイアウォールがあることを示唆しています。
BugFinder

1
わかりました、192.168.1.56、それは右側にウェブサイトがあるものですか?その設定を確認する必要があります。どのOSを実行していますか?その上にあるファイアウォールソフトウェアは、それによって異なります。ファイアウォールソフトウェアがインストールされているものを見つけ、ポート80を追加して他のマシンを許可する方法を考え出す必要があります。そのウィンドウの場合、可能性はウイルス対策ソフトウェアの一部であるか、Microsoftの可能性さえあります。そのLinuxの可能性がそのipchainsであるなら、それはまったく新しい問題領域です。
BugFinder

46

詳細な説明ありがとうございます。

詳細については、Windowsの場合、[httpとポート80を追加する]を除き、[コントロールパネル]-> [ファイアウォール]に移動します。次に、[ https]が機能する必要がある場合にのみ、[サービス]で[http(Webサーバーポート80)]および[https(Webサーバーポート443)]にチェックマークを付けます。OK、OK、Close

次に、ネットワーク上の任意のコンピューターに移動し、Webブラウザーでhttp:// computer-name(ファイアウォールを変更してxamppを実行している場所)と入力します。


7
[コントロールパネル]> [Windowsファイアウォール]> [Windowsファイアウォールでアプリを許可]> [別のアプリを許可]> [参照:XAMPP / apache / bin / httpd.exe]に移動して許可しました。今は動いています!
shasi kanth 2016

ありがとうございました。正常に動作しています。
jewelhuq 2017年

Windowsファイアウォールの例外を追加するには、次のWebサイトに
Alejandro Nava

36

それは超簡単

  1. XAMPPコントロールパネルに移動
  2. Apache> config> Apache(httpd.conf)をクリックします ここに画像の説明を入力してください
  3. Listen 80を検索して置き換えます Listen 8080に
  4. その後、ipconfigを使用してローカルIPを確認しますコマンド(コマンドコンソール)
  5. ServerName localhost:80を検索しますを置き換えます、ローカルのip:8080にます(例:192.168.1.156:8080)
  6. その後、apache> config> Apache(httpd-xampp.conf)を開きます ここに画像の説明を入力してください
  7. 検索する

       <Directory "C:/xampp/phpMyAdmin">
           AllowOverride AuthConfig
           **Require local**   Replace with   **Require all granted**
           ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
       </Directory>```
    
    
  8. xampp> configに移動し、サービスとポート設定をクリックしてApacheポートを変更します 8080

  9. xamppを再起動します
  10. 次に、別のコンピュータからIP:8080(例:192.168.1.156:8080)を押します

すべての代わりに、静的IPをjsutします。どうですか?
アレハンドロマリアッチクインタナ2018

機能していません。私のPCでは問題なく動作しますが、別のPCでは動作しません。
MH Fuad

これは私にはうまくいきません。証明書エラーが発生する:サーバー証明書にサーバー名と一致するIDが含まれていません
ジョン投票

18

PHPアプリケーションを(Web上ではなく)LANサーバーにインストールする場合の手順は次のとおりです

  1. サーバーの内部IPまたは静的IPを取得します(例:192.168.1.193)
  2. XAMPP> apache> conf> httpd.confファイルをメモ帳で開きます
  3. を検索するListen 80
  4. 上記の行は次のようになります-#Listen 0.0.0.0:80 / 12.34.56.78:80
  5. IPアドレスを変更して静的IPに置き換えます
  6. httpd.confファイルを保存して、サーバーが#Listen 192.168.1.193:80を指すようにします。
  7. アプリケーションのルートconfig.php(db接続)で、localhostをサーバーのIPアドレスに置き換えます

注:ファイアウォールがインストールされている場合は、httpポート80および8080を例外に追加し、リッスンできるようにしてください。[コントロールパネル]> [Windowsファイアウォール]> [プログラムがWindowsファイアウォールを介して通信することを許可する]> [別のプログラムを追加]に移動します名前:httpポート:80 1つ以上をhttp-8080として追加します

IIS(Microsoft .Net Application Internet Information Server)がサーバー上に既にインストールされているMicrosoft .Netアプリケーションと共にインストールされている場合、すでに80ポートを占有しています。その場合は、#Listen 192.168.1.193:80を#Listen 192.168.1.193:8080に変更してください。

お役に立てれば!:)


これで解決しました。素晴らしいもの!私は常に#ローカルIPアドレスの前のを削除しましたが、機能しませんでした。コメントハッシュを含めたところ#、ゲストVMを再起動せずにそのまま動作しました。XAMPPApacheサービスだけで、そこにあります。良いですね。ホストマシンで割り当てられたVirutalHostsにリンクするにはどうすればよいですか?
lowtechsun 2015年

ゲストからホストマシンに割り当てられたVirtualHostsにアクセスするには、ゲストのHOSTSファイルにホストのIPとVirtualHostサーバーの名前を入力するだけです。できました。ゲストのブラウザからFiddlerを使用してHosts Apacheサーバーへのトラフィックを取得する方法は誰でも知っています。ホストで作業しますが、ゲストからのトラフィックは取得しません。
lowtechsun 2015年

こんにちは、たとえば192.168.1-100のIPアドレスの範囲はどうですか。それを設定するには?
dkjain

6

基本的なセットアップに必要なのはこれだけです

この種の設定は、localhostのphpMyAdminを壊しません

サーバーを実行しているデバイスでは静的IPが推奨されます

この例では、192.168.1.x IPを使用しています。ネットワーク構成で別のIPが使用されている可能性があります

Apacheのhttpd.confには、次のものが必要です。

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

名前を空白のままにして、デフォルトになるようにします。

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#

ゲストマシンと自分自身を許可します。セキュリティ上の注意として、Allow from allを避け、特定のゲストIPを使用することができます。たとえば、Allow from 192.168.1.xxx(xxxはゲストマシンIP)です。この場合、ゲストマシンの静的IPも考慮する必要があります。

# Controls who can get stuff from this server.
#
#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
#     Deny from all
     Allow from all 
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
     Allow from 192.168.1.*YOURguestIP*
     Allow from 192.168.1.*YOURselfIP*
</Directory>

すべてのサービス再起動し、トレイアイコンからオンラインにします


5

ファイアウォールが問題になることがあります。ウイルス対策ファイアウォールの監視が無効になっていることを確認してください。それは私のために働いた。


5

タスクバーのxampp-controlに移動します

xampp-control -> Apache --> Config --> httpd.conf

メモ帳が構成ファイルで開きます

検索する

聞く80

その上の1行には、次のようなものがあります。12.34.56:80

それを変更

12.34.56:80 --> <your_ip_address eg:192.168.1.5>:80

Apacheサービスを再起動して確認します。うまくいけばうまくいくでしょう...


4

XAMPP 1.8.3を使用している場合ファイルhttpd-xampp.confに移動し、「##新しいXAMPPセキュリティコンセプト#server-status | server-info)) ">を検索します。

     Require local
     ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
     </LocationMatch>

このコードを切り取り、後で使用するためにどこかに保存します。つまり、この機能を復元します(このコードを削除すると、コンピューターが脆弱になります)。httpd-xampp.confで変更を保存し、XAMPPでサービスを再起動します。これで完了です。


XAMPPバージョン7の場合、「ローカルが必要」はapache / conf / extra / httpd-vhosts.confファイルにあります
vivanov

3

Wi-Fiネットワークに接続している場合は、はるかに簡単です。Wi-Fiに接続しているIPを見つけるだけです。例えば:

your-ipは「10.10.55.67」です。

次に、マシンでxamppサーバーを起動します。

次に、同じWi-Fi n / wに接続されている他のコンピューターで、次のように入力します。

http://your-ip

例えば:http://10.10.55.67


3

私のマシンには管理者権限がなく、nodejsがすでにインストールされているため、このツールは私に多くの節約をしてくれました。なんらかの理由で、ネットワーク上の設定では、ブラウザでIPをポイントするだけで他のマシンにアクセスできません。

# Using a local.dev vhost
$ browser-sync start --proxy

# Using a local.dev vhost with PORT
$ browser-sync start --proxy local.dev:8001

# Using a localhost address
$ browser-sync start --proxy localhost:8001

# Using a localhost address in a sub-dir
$ browser-sync start --proxy localhost:8080/site1

http://www.browsersync.io/docs/command-line/


3

リモートデバイスからlocalhostにアクセスする

前提条件:あなたのウェブサイトは現在ライブサーバーのようなツールを使用していますhttp://localhost:8081/

a)同じネットワークで公開する

同じネットワーク内で、現在のIPアドレスまたはホスト名でマシンにアクセスできます。実行中のIPアドレスipconfig | grep IPv4またはホスト名を見つけるには、ping -aそのIPにa を送信します。

http://192.128.1.18:80/
http://hostname:80/

:最良の結果を得るには、ポート80を使用し、プライベートネットワークに接続して、ファイアウォール設定を確認してください。

b)任意のネットワークで公開(簡単)

  1. オプション1 - ngrokを使用して、ngrokのパブリック向けポートを介したポート転送を提供できます

    ngrokダウンロードして、次のコマンドを実行します。

    $ ./ngrok http 8081
    

  2. 2 OPT -あなたが使用することができますlocalhost.run次のコマンドを使用してSSHトンネルを作成するには:

    ssh -R 80:localhost:8081 kylemit@ssh.localhost.run
    


ローカル開発ツールからリモートデバイスにアクセス

ブラウザー開発ツールを接続されたデバイスに接続するには、「Androidデバイスのリモートデバッグの開始」の指示に従ってください

  1. スマートフォンで、開発者向けオプションとUSBデバッグを有効にします
  2. USB経由で携帯電話をコンピュータに接続し、プロトコルを設定します(ファイル/メディア転送ではありません)。
  3. [開発ツール]> [その他のツール]> [リモートデバッグ]を開きます(デバイスが検出されない場合はこちらをお試しください)

  4. サイトを見つけて「検査」をクリックすると、新しい検査ウィンドウが開きます


参考文献:



1

これが私がWindows 10で私のために働いたことです:

1)windows + r押してcmdと入力します。コマンドプロンプトで「ipconfig」と入力します
2)ipv4アドレスを見つけて、ウェブサイトのURLの名前をそのIPに変更します(例:http : //192.168.0.2/example)
3)次に、ファイアウォールApache HTTP Serverにアクセスできることを確認します。「Windowsファイアウォールの通過をアプリに許可する」でウィンドウを検索し、それをクリックして、右上の[ 設定の変更 ]をクリックします をし、Apache HTTPサーバーの左側に1つ、プライベートまたはパブリックに1つチェックマークがあることを確認します。それが役に立てば幸い

これで、LAN内の他のPCからWebサイトにアクセスできます


1

まず、Windowsマシンのネットワークと共有センターに移動します。いくつかの手順に従って、IPv4アドレスを取得します。 画像イラストをご覧ください

IPv4アドレスを別のコンピューターのブラウザーに配置します。例、http // 192.168.0.102

注意

  • Windowsファイアウォールの有効化(機能しない場合、それ以外の場合はオプション)

0

まず、コマンドプロンプトに移動して、

Notepad C:/windows/system32/drivers/etc/hosts

次に、IPアドレスを下に追加してから、サイトのURLを追加します。

次に、コマンドプロンプトに移動して、 notepad c:/xampp/bin/apache/apache2.4.18/conf/extra/httpd-vhosts.conf

次にこれを下に追加

documentroot "Directory of your site"
Allow from all
Require all granted

0
<Files ".ht*">
 Require all denied
</Files>

 replace to

<Files ".ht*">
 Require local
</Files>

<Files ".ht *">ローカルの#Require all deniedを要求する</ Files>
asd

3
Stack Overflowへようこそ!このコードスニペットは問題を解決する可能性がありますが、説明を含めると、投稿の品質を向上させるのに役立ちます。あなたは将来の読者のための質問に答えていることを覚えておいてください、そしてそれらの人々はあなたのコード提案の理由を知らないかもしれません。また、コードと説明コメントを混同しないようにしてください。これにより、コードと説明の両方が読みにくくなります。
kayess 16

0

交換する Require LocalRequire all grantedしてxampp\apache\conf\extra\httpd-xampp.confファイル。


0

私はこの問題を抱えていました。ネットワーク設定が「NAT」の仮想マシンでXAMPPを使用していました。「ブリッジ」に変更したところ、問題は解決しました。


0

ローカルIPのホスト、

CMDを開きます:ipconfig

ワイヤレスLANアダプターWi-Fi:IPv4アドレス。。。。。。。。。。。:xx.xxx.xx.xxx



0

誰かがまだそれを難し​​いと感じているなら、この簡単なことでうまくいきました:

  1. メインシステムでHosting PCとしましょう... [コントロールパネル]> [Windows Defenderファイアウォール]> [Windows Defenderファイアウォールを介したアプリまたは機能の許可]> [設定の変更]> [Apache HTTPサーバー]の検索>両方のチェックボックスをオンにします([プライベートと公衆)。 スクリーンショットを見る

    • 私の場合、「Apache HTTP Server」エントリが2つあったため、両方のチェックボックスをオンにしました。
  2. 同じネットワークを介して接続されている別のシステムで...ブラウザを開き、次のように入力します。ホスティングPCのIPアドレスの後にURLバーのプロジェクト名を入力します。例:192.168.72.111/example.com/

それが役に立てば幸い!ありがとう。


-1

そこで、私は自分のLAN上のまったく異なるサーバーに接続することで同様の問題を解決しようとしていました。これにより、電源が遮断されて復元されたときにサーバーがオンラインに戻り、他のシステムは自動化との接続を維持できます。しかし、私の問題はDHCPがサーバーに時々差分IPを与えることでした。このスレッドは、Windowsがネイティブに持っているNAMESERVERに関する私の問題に答えました。私は自分のサーバーに直接接続していましたIP追加http://192.168.1.5たが、バッチファイルを介してをて接続を初期化しましたが、電源の問題が発生すると接続しません。http:// DESKTOP-actualnamewhereserver:portを指すように.batファイルを変更しましたそして完了。問題が解決しました。コンピュータ名を変更しない場合、DHCPがDESKTOP-actualnamewhereserverに新しいIPアドレスを渡すと、LAN上の自身の名前として識別されるため、IPアドレスに関係なく接続を受け入れることができます。単にあなたの無線LAN上の他の人々にApacheサーバをホスティングしているあなたのPCの名前を与えると、その名前を言うことができます彼らは入力しますデスクトップDOUGHFACTORYHUTあります。http:80:// DOUGHFACTORYHUTどんなポート番号、あなたのApacheの設定は同じで、ホストに設定されていますか、 LOCALHOST:80これは、サーバーに設定したDHCPまたは静的IPによって割り当てられたローカル動的IPアドレスに接続されているものと本質的に同じものです。


-2

BugFinderに完全に同意します。

簡単な言葉では、単にアドレスIP入れ192.168.1.56を上で実行されているブラウザで192.168.1.2

それが機能しない場合は、次の理由が考えられます。

  1. ネットワーク接続の問題:

    • まず、192.168.1.2コンピュータのコマンドプロンプト/ターミナルでping 192.168.1.56コマンドを使用してネットワーク接続を確認します。
  2. ファイアウォールの問題:Windowsファイアウォールの設定にXAMPP(apache)の許可ルールがありません。(最もありそうな問題)

    • (解決策)高度なファイアウォール設定に移動し、Apache実行可能ファイルの受信および送信ルールを追加します。
  3. Apache構成の問題。:Apacheはローカルリクエストのみをリスンするように設定されています。

    • (解決策)httpd.confファイルを開いてListen 127.0.0.1:80Listen 80または* Listen :80に置き換える
  4. 他のサーバー(IISなど)とのポートの競合

    • (解決策)Apacheサーバーをオフにして、ブラウザーでローカルホストを開きます。応答が得られた場合は、そのサーバーをオフにしてからApacheを起動します。

上記のすべてが機能しない場合は、おそらくapacheサーバーの設定に問題があります。それを見つけてください。それ以外の場合は、再インストールしてすべてのphpファイル(htdocs)をXAMPP / WAMPの新しいインストールに転送してください。


1
まず、この投稿は5年前なので、この回答はおそらくOPには役立ちません。第2に、Markdownを使用して回答のフォーマットを改善し、読みやすく、理解しやすくすることができます。それを知っておくことは素晴らしいことだと私を信じてください。:-)
Isiah Meadows

-3

Nodejsサーバーをネットワーク経由で実行するには

const port = process.env.PORT || 3000; 
const server = http.createServer( 
server.listen(port, '0.0.0.0', ()  => console.log(`Server started on port ${port}`)
));

http:// yournetworkipaddress:3000を実行しますローカルエリアネットワーク(LAN)を介してアプリケーションにアクセスするために

ネットワークIPを見つける手順。

マックOS

  1. [システム環境設定]> [ネットワーク]に移動します
  2. 接続先のネットワークIPアドレスを確認してください。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.