LAN 네트워크를 통해 다른 컴퓨터에서 로컬 호스트 (xampp)에 액세스하는 방법


150

집에서 Wi-Fi 네트워크를 설정했습니다. 데스크탑 컴퓨터 (192.168.1.56)에 모든 파일이 있고 다른 컴퓨터 (192.168.1.2)에서 로컬 호스트에 액세스하려고합니다.

내 데스크탑에서 일반적인 http : // localhost를 통해 localhost에 액세스 할 수 있습니다 . Apache는 평소와 같이 포트 80에서 실행됩니다.

이것을 달성하기 위해 정확히 무엇을해야합니까? 인터넷에 문서가 있지만 작동하지 않거나 이해하기에는 너무 복잡하고 혼란 스럽습니다.

아파치의 httpd.conf 파일과 hosts 파일을 변경해야한다고 생각합니다. 무엇을 변경해야하는지에 대한 아이디어가 있습니까?



1
cmd로 이동하여 ipconfig를 입력 한 다음 ipv4 주소를 찾은 다음 웹 사이트 URL의 이름을 해당 ip로 변경하십시오 (예 : 192.168.0.2/example) . 그런 다음 Windows에서 "Windows 방화벽을 통해 앱 허용"을 검색 한 다음 설정 변경을 클릭하고 http Apache 서버가 선택되어 있는지 확인하십시오. 도움이
되길 바랍니다

app.sitename.com이라는 사이트가 있습니다. 이제 IP 주소를 사용하여 동일한 네트워크의 다른 PC에있는 사이트에 액세스 할 수 있습니다. 서브 돔으로 접근하는 방법. app.ipaddress.com이 작동하지 않습니다. 원격 PC에서 하위 도메인을 추가하려면 어떻게해야합니까?
vicky mar

답변:


112

Localhost는 루프백에 지정된 이름입니다. 예를 들어 "me".

다른 컴퓨터에서 보려면 http://192.168.1.56 또는 http : // myPcsName 이 작동 하지 않으면 컴퓨터에서 방화벽이 실행 중이거나 httpd.conf 일 가능성이 있습니다. 127.0.0.1에서만 청취 중입니다.


httpd.conf : 80으로 변경해야한다면 어떻게 하시겠습니까?
bcosynot

1
포트 80에서 수신 대기 중이므로 이미 수신 대기 중입니다. netstat -a, 포트 80에서 항목을
찾으면

1
거기에서, 그것은 로컬 호스트뿐만 아니라 포트 80에서 모든 요청을 수신한다는 것을 의미합니다. 따라서 PC가 vr3609라면 http는 웹 사이트로 이동해야합니다.
BugFinder

1
서버에서 서버의 IP 주소에 http를 입력하면 작동합니까? 그렇다면 서버에 방화벽이 있음을 시사하여 다른 시스템이 방화벽을 차단합니다.
BugFinder

1
좋아, 192.168.1.56, 그 웹 사이트가 오른쪽에있는 것입니까? 당신은 그것의 구성을 봐야합니다. 어떤 OS를 실행합니까? 방화벽 소프트웨어가 무엇인지에 따라 다릅니다. 방화벽 소프트웨어가 무엇인지 확인한 다음 포트 80을 추가하여 다른 시스템을 들여 올 수있는 방법을 알아 내야합니다. 창에 바이러스 백신 소프트웨어가 포함되어 있거나 Microsoft 소프트웨어 일 수도 있습니다. . 리눅스 기회가 ipchain이지만 완전히 새로운 질문 영역이라면.
BugFinder

46

자세한 설명을 주셔서 감사합니다.

정교하게하려면 Windows에서 제어판-> 방화벽으로 이동하고 "add http and port 80"은 예외입니다. 그런 다음 서비스에서 https가 작동해야하는 경우 에만 "http (웹 서버 포트 80)"및 "https (웹 서버 포트 443)" 확인 표시를하십시오. 확인, 확인, 닫기

그런 다음 네트워크의 모든 컴퓨터로 이동 하여 웹 브라우저와 행복한 날에 http : // computer-name (방화벽을 변경하고 xampp을 실행하는 곳)을 입력하십시오 :)


7
제어판> Windows 방화벽> Windows 방화벽을 통한 앱 허용> 다른 앱 허용> 찾아보기 : XAMPP / apache / bin / httpd.exe로 이동하여 허용했습니다. 지금 일하고 있습니다!
shasi kanth

감사합니다. 잘 작동합니다.
jewelhuq

Windows 방화벽 예외를 추가하려면 다음을 방문하여 방법을 배우십시오. tomshardware.com/news/…
Alejandro Nava

37

이것은 정말 쉽습니다

  1. XAMPP 제어판으로 이동
  2. 아파치> 구성> Apache (httpd.conf)를 클릭하십시오. 여기에 이미지 설명을 입력하십시오
  3. Listen 80을 검색 하고 Listen 8080으로 교체
  4. 그 후 ipconfig 명령을 사용하여 로컬 IP를 확인하십시오 (cmd 콘솔)
  5. 검색 80 : 서버의 로컬 호스트 와 교체 하여 로컬 IP : 8080 (ex.192.168.1.156 : 8080)
  6. 그 후 아파치 열기> 설정> 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> 구성으로 이동하여 서비스 및 포트 설정을 클릭하고 아파치 포트 8080을 변경하십시오.

  9. xampp를 다시 시작하십시오
  10. 그런 다음 다른 컴퓨터에서 IP : 8080 (예 : 192.168.1.156:8080)을 누르십시오.

만약에 모두가 만족하지 않으면 정적 IP를 jsut하십시오. 어때요?
Alejandro Maliachi Quintana

작동하지 않는. 내 PC에서는 잘 작동하지만 다른 PC에서는 작동하지 않습니다.
MH Fuad

이것은 나를 위해 작동하지 않습니다. 인증서 오류가 발생합니다. 서버 인증서에 서버 이름과 일치하는 ID가 포함되어 있지 않습니다
Jon Vote

19

다음은 PHP 응용 프로그램을 웹이 아닌 LAN 서버에 설치하려는 경우 수행 할 단계입니다.

  1. 서버의 내부 IP 또는 고정 IP를 얻습니다 (예 : 192.168.1.193)
  2. 메모장에서 XAMPP> apache> conf> httpd.conf 파일을 엽니 다
  3. 들어 봐 80 검색
  4. 위 줄은 다음과 같습니다-#Listen 0.0.0.0:80 / 12.34.56.78:80
  5. IP 주소를 변경하고 고정 IP로 교체하십시오
  6. 서버가 #Listen 192.168.1.193:80을 가리 키도록 httpd.conf 파일을 저장하십시오.
  7. 응용 프로그램 루트 config.php (db 연결)에서 localhost를 서버의 IP 주소로 바꿉니다.

참고 : 방화벽이 설치된 경우 http 포트 80 및 8080을 예외에 추가하고 청취 할 수 있는지 확인하십시오. 제어판> Windows 방화벽> 프로그램이 Windows 방화벽을 통해 통신하도록 허용> 다른 프로그램 추가 이름으로 이동 : http 포트 : 80 http-8080으로 하나 더 추가

IIS (Microsoft .Net 응용 프로그램 인터넷 정보 서버)가 서버에 이미 Microsoft .Net 응용 프로그램과 함께 설치되어 있으면 이미 80 포트를 사용했을 것입니다. 이 경우 #Listen 192.168.1.193:80을 #Listen 192.168.1.193:8080으로 변경하십시오.

도움이 되었기를 바랍니다! :)


이것은 나를 위해 해결했습니다. 좋은 물건! 나는 항상 #로컬 IP 주소 앞에서를 삭제했지만 작동하지 않았습니다. 댓글 해시를 포함했을 때 #게스트 VM을 다시 시작하지 않고 즉시 작동했습니다 .XAMPP Apache 서비스 만 있으면됩니다. 좋은데 이제 호스트 컴퓨터에서 할당 된 VirutalHost에 연결하려면 어떻게해야합니까?
lowtechsun

게스트에서 호스트 시스템의 할당 된 VirtualHosts에 액세스하려면 게스트의 HOSTS 파일에 호스트의 IP와 VirtualHost 서버의 이름을 입력하기 만하면됩니다. 끝난. 누구나 Fiddler를 사용하여 게스트의 브라우저에서 Hosts Apache 서버로 트래픽을 가져 오는 방법을 알고 있습니다. 호스트에서 작업하지만 게스트로부터 트래픽을받지 않습니다.
lowtechsun

안녕하세요, 예를 들어 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 192.168.1.xxx 와 같이 특정 게스트 IP를 사용하는 대신 모든 게스트 에서 허용을 피할 수 있습니다. 여기서 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>

모든 서비스를 다시 시작 하고 온라인 넣고 트레이 아이콘에서


6

작업 표시 줄에서 xampp-control로 이동

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

구성 파일과 함께 메모장이 열립니다.

검색

들어 봐 80

한 줄 위에 다음과 같은 것이 있습니다. 12.34.56 : 80

그것을 변경

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

아파치 서비스를 다시 시작하고 확인하십시오.


5

때로는 방화벽이 문제가 될 수 있습니다. 안티 바이러스 방화벽 모니터링을 비활성화했는지 확인하십시오. 그것은 나를 위해 일했다.


4

XAMPP 1.8.3을 사용하는 경우 httpd-xampp.conf 파일로 이동하여 "# # New XAMPP 보안 개념 # server-status | server-info))>"> ">를 검색하십시오.

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

"

이 코드를 잘라서 나중에 사용하기 위해 어딘가에 저장하십시오. 즉이 기능을 복원하십시오 (이 코드를 제거하면 컴퓨터가 취약 해집니다). httpd-xampp.conf에 변경 사항을 저장하고 XAMPP에서 서비스를 다시 시작하십시오.


파일 아파치 / conf의 / 추가 / 아파치 - vhosts.conf에 위치한 XAMPP 버전 7은 "지역의 필요"를 들어
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

원격 장치에서 로컬 호스트에 액세스

전제 조건 : 귀하의 웹 사이트는 현재 라이브 서버 와 같은 도구를 사용하고 있습니다http://localhost:8081/

a) 동일한 네트워크에 게시

동일한 네트워크 내에서 현재 IP 주소 또는 호스트 이름으로 시스템에 액세스 할 수 있습니다. 해당 IP에 ipconfig | grep IPv4a ping -a를 보내어 실행중인 IP 주소 또는 호스트 이름을 찾을 수 있습니다 .

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 Server가 왼쪽에 하나의 눈금이 있고 개인 또는 공용에 하나의 눈금이 있는지 확인하십시오. 그것이 도움이되기를 바랍니다.

이제 LAN의 다른 PC에서 웹 사이트에 액세스 할 수 있습니다


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 *"> 로컬 필요 # 모든 거부 필요 </ Files>
asd

3
스택 오버플로에 오신 것을 환영합니다! 이 코드 스 니펫은 문제를 해결할 수 있지만 설명을 포함하면 게시물의 품질을 향상시키는 데 실제로 도움이됩니다. 앞으로 독자들에게 질문에 대한 답변을 제공하므로 해당 사람들이 코드 제안의 이유를 모를 수도 있습니다. 설명 주석으로 코드를 복잡하게 만들지 마십시오. 이렇게하면 코드와 설명의 가독성이 떨어집니다!
kayess

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

단지 시도:

http://ipaddressofpcwhichhasdatabase:portnumber(80 by default)/filename.extension

0

누군가가 여전히 어려움을 겪고 있다면이 간단한 일은 나를 위해 일했습니다.

  1. 기본 시스템에서 PC 호스팅이라고 가정 해 봅시다 ... 제어판> Windows Defender 방화벽> Windows Defender 방화벽을 통해 앱 또는 기능 허용> 설정 변경> "Apache HTTP Server"찾기> 개인 및 공공의). 스크린 샷보기

    • 필자의 경우 두 개의 "Apache HTTP Server"항목이 있었으므로 두 항목 모두에 대해 두 개의 확인란을 모두 확인했습니다.
  2. 동일한 네트워크를 통해 연결된 다른 시스템에서 ... 브라우저 열기> 유형 : 호스팅 PC의 IP 주소 다음에 URL 표시 줄에 프로젝트 이름을 입력하십시오. 예 : 192.168.72.111/example.com/

그것이 도움이되기를 바랍니다! 감사.


-1

그래서 나는 내 LAN에서 완전히 다른 서버에 연결하는 것과 비슷한 문제를 해결하려고 노력하여 전원이 중단되었다가 복원되면 서버가 온라인 상태로 돌아오고 다른 시스템은 여전히 ​​자동화와 연결할 수 있습니다. 그러나 내 문제는 DHCP로 인해 때때로 서버에 diff IP를 제공하는 것입니다. 이 스레드는 Windows가 기본적으로 가지고있는 NAMESERVER의 문제에 답했습니다. 연결 을 초기화하기 위해 배치 파일을 통해 IP 추가 http://192.168.1.5 를 서버에 직접 연결했지만 전원 문제가 발생하면 연결되지 않습니다. http : // DESKTOP-actualnamewhereserver : port 를 가리 키도록 .bat 파일을 변경했습니다 .그리고 완료. 문제 해결됨. 컴퓨터 이름을 변경하지 않으면 DHCP가 DESKTOP-actualnamewhereserver에 새 IP 주소를 부여하면 LAN에서 여전히 자신의 이름으로 식별되므로 IP 주소에 관계없이 연결을 수락 할 수 있습니다. 무선 LAN의 다른 사람에게 Apache 서버를 호스팅하는 PC의 이름을 지정하고 해당 이름이 DESKTOP-DOUGHFACTORYHUT이라고 말하면 http : // DOUGHFACTORYHUT : 80 또는 아파치 구성이 호스트하도록 설정된 포트 번호를 입력합니다. LOCALHOST : 80 이것은 본질적으로 서버에 설정 한 DHCP 또는 STATIC 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. 아파치 구성 문제. : 아파치가 로컬 요청 만 수신하도록 구성되었습니다.

    • (해결책) httpd.conf 파일을 열고 Listen 127.0.0.1:80Listen 80 또는 * Listen : 80으로 바꾸면 가능합니다 .
  4. 다른 서버 (IIS 등)와 포트 충돌

    • (해결 방법) 아파치 서버를 끈 다음 브라우저에서 로컬 호스트를 엽니 다. 응답이 있으면 해당 서버를 끈 다음 Apache를 시작하십시오.

위의 모든 것이 작동하지 않으면 아파치 server.try에 구성 문제가있을 수 있습니다. 그렇지 않으면 다시 설치하고 모든 PHP 파일 (htdocs)을 XAMPP / WAMP의 새로운 설치로 전송하십시오.


1
우선이 게시물의 나이는 5 살이므로이 답변은 OP에 도움이되지 않을 것입니다. 둘째, Markdown 을 사용 하여 답변의 서식을 개선하여보다 읽기 쉽고 이해하기 쉽게 만들 수 있습니다. 알아두면 좋겠다는 말을 믿어주세요. :-)
Isiah Meadows 2016

-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.