Mengakses localhost (xampp) dari komputer lain melalui jaringan LAN - bagaimana caranya?

150

Saya baru saja membuat jaringan wi-fi di rumah. Saya memiliki semua file saya di komputer desktop saya (192.168.1.56) dan ingin mengakses localhost di sana dari komputer lain (192.168.1.2).

Di desktop saya, saya dapat mengakses localhost melalui http normal : // localhost . Apache berjalan pada port 80 seperti biasa.

Apa yang harus saya lakukan untuk mencapai ini? Ada dokumentasi di internet tetapi tidak berfungsi atau terlalu fragmen dan membingungkan untuk dipahami.

Saya pikir saya harus membuat perubahan pada file httpd.conf apache dan file hosts. Adakah gagasan tentang perubahan apa yang harus dilakukan?

bcosynot
sumber
2
Orang-orang yang menemukan pertanyaan ini mungkin tertarik pada Bagaimana cara saya terhubung ke localhost ini dari komputer lain di jaringan yang sama? .
Martin Thoma
1
Inilah yang saya lakukan dan bekerja untuk saya di windows 10: buka cmd dan ketik ipconfig, kemudian cari alamat ipv4 Anda dan ganti nama url situs web Anda dengan ip itu misalnya: 192.168.0.2/example . Kemudian cari windows untuk "Izinkan aplikasi melalui windows firewall" klik di atasnya lalu klik ubah pengaturan dan pastikan server http apache dicentang. Semoga ini bisa membantu
csandreas1
Saya memiliki situs bernama app.sitename.com. Sekarang saya dapat mengakses situs di komputer lain di jaringan yang sama menggunakan alamat IP. Cara mengakses dengan subdomian. app.ipaddress.com tidak berfungsi. Apa yang harus saya lakukan untuk menambahkan subdomain di PC jarak jauh?
vicky

Jawaban:

112

Localhost hanyalah nama yang diberikan untuk loopback, mis. Itu seperti menyebut diri Anda sebagai "saya" ..

Untuk melihatnya dari komputer lain, kemungkinan Anda hanya perlu melakukan http://192.168.1.56 atau http: // myPcsName jika itu tidak berhasil, ada kemungkinan ada firewall yang berjalan di komputer Anda, atau httpd.conf hanya mendengarkan pada 127.0.0.1

BugFinder
sumber
httpd.conf: Dengarkan 80 jika saya perlu mengubahnya, apa yang akan Anda rekomendasikan?
bcosynot
1
Itu hanya mengatakan mendengarkan pada port 80, kemungkinan sudah mendengarkan. netstat -a, cari item pada port 80, ia akan memberi tahu Anda IP mana yang didengarkan
BugFinder
1
Nah, itu artinya mendengarkan permintaan apa pun pada port 80, bukan hanya localhost, jadi, jika PC Anda dipanggil vr3609, maka http ke situ seharusnya membawa Anda ke situs web Anda.
BugFinder
1
jika Anda http ke alamat ip server Anda dari server, apakah itu berfungsi? jika demikian, ini menyarankan ada firewall di server yang memblokir mesin lain untuk mendapatkannya.
BugFinder
1
Ok, 192.168.1.56, itu yang punya situs web di sebelah kanan? Anda perlu melihat konfigurasi itu. OS apa yang dijalankannya? Perangkat lunak firewall apa yang ada di dalamnya akan berbeda dengan itu. Anda perlu mencari tahu apa perangkat lunak firewall yang ada di dalamnya, dan kemudian mencari cara menambahkan port 80 ke dalamnya untuk membiarkan komputer lain masuk. Jika windows-nya, kemungkinan adalah bagian dari perangkat lunak antivirus Anda, atau, bahkan bisa menjadi perangkat lunak Microsoft . Jika kemungkinan linux adalah ipchains tetapi, ini merupakan area pertanyaan yang sama sekali baru.
BugFinder
46

Terima kasih atas penjelasan terperinci.

Hanya untuk Menguraikan, di Windows, Buka Control Panel -> Firewall, dalam pengecualian "tambahkan http dan port 80". Kemudian di Layanan beri centang "http (port server web 80)" dan "https (port server web 443)" HANYA jika Anda memerlukan https untuk bekerja juga. OK, OK, Tutup

Lalu pergi ke komputer mana saja di jaringan dan ketik http: // nama komputer (di mana Anda mengubah firewall dan menjalankan xampp di dalamnya) di browser web Anda dan hari-hari bahagia :)

Raja
sumber
7
Saya pergi ke Control Panel> Windows Firewall> Izinkan aplikasi melalui Windows Firewall> Izinkan aplikasi lain> Jelajahi ke: XAMPP / apache / bin / httpd.exe dan mengizinkannya. Ini bekerja sekarang!
shasi kanth
Terima kasih. Bekerja dengan baik.
jewelhuq
Untuk menambahkan pengecualian Windows Firewall, Anda dapat mengunjungi ini untuk mempelajari caranya: tomshardware.com/news/…
Alejandro Nava
37

itu sangat mudah

  1. Buka panel Kontrol XAMPP Anda
  2. Klik pada apache> config> Apache (httpd.conf) masukkan deskripsi gambar di sini
  3. Cari untuk Listen 80 dan gantikan dengan Listen 8080
  4. Setelah itu periksa ip lokal Anda menggunakan perintah ipconfig (cmd console)
  5. Cari ServerName localhost: 80 dan ganti dengan ip lokal Anda: 8080 (ex.192.168.1.156: 8080)
  6. Setelah itu buka apache> config> Apache (httpd-xampp.conf) masukkan deskripsi gambar di sini
  7. Pencarian untuk

       <Directory "C:/xampp/phpMyAdmin">
           AllowOverride AuthConfig
           **Require local**   Replace with   **Require all granted**
           ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
       </Directory>```
    
    
  8. Pergi ke xampp> config> klik service dan pengaturan port dan ubah port apache 8080

  9. restart xampp
  10. lalu tekan IP Anda: 8080 (ex.192.168.1.156: 8080) dari komputer lain
Rahul Shewale
sumber
jika bukan semua graned ... hanya IP statis. bagaimana jadinya?
Alejandro Maliachi Quintana
tidak bekerja di pc saya itu berfungsi dengan baik tetapi tidak bekerja dari pc lain.
MH Fuad
Ini tidak berhasil untuk saya. Saya mendapatkan kesalahan sertifikat: sertifikat server TIDAK menyertakan ID yang cocok dengan nama server
Jon Vote
19

Ini adalah langkah-langkah yang harus diikuti ketika Anda ingin aplikasi PHP Anda diinstal pada server LAN (bukan di web)

  1. Dapatkan IP internal atau IP Statis dari server (Contoh: 192.168.1.193)
  2. Buka XAMPP> apache> conf> file httpd.conf di notepad
  3. Cari untuk Mendengarkan 80
  4. Baris di atas akan berbunyi seperti- #Listen 0.0.0.0:80 / 12.34.56.78:80
  5. Ubah alamat IP dan ganti dengan IP statis
  6. Simpan file httpd.conf memastikan bahwa server diarahkan ke #Listen 192.168.1.193:80
  7. Dalam aplikasi root config.php (koneksi db) ganti localhost dengan alamat IP server

Catatan: Jika firewall diinstal, pastikan Anda menambahkan port http 80 dan 8080 ke pengecualian dan biarkan mendengarkan. Pergi ke Control Panel> Windows Firewall> Izinkan program untuk berkomunikasi melalui windows firewall> Tambahkan program lain Nama: http Port: 80 Tambahkan satu lagi sebagai http - 8080

Jika IIS (Microsoft .Net Application Internet Information Server) diinstal dengan semua aplikasi Microsoft .Net yang sudah ada di server, maka IIS akan sudah menempati 80 port. Dalam hal ini ubah #Listen 192.168.1.193:80 menjadi #Listen 192.168.1.193:8080

Semoga ini membantu! :)

Shreedhar Bhat
sumber
Ini menyelesaikannya untuk saya. Barang bagus! Saya selalu menghapus #di depan alamat IP lokal dan itu tidak berfungsi, ketika saya memasukkan komentar hash #itu bekerja di luar kotak tanpa me-restart VM tamu, hanya layanan Apache XAMPP dan bang itu ada di sana. Bagus Sekarang bagaimana cara saya menautkannya ke VirutalHosts yang ditugaskan di mesin Host?
lowtechsun
Untuk mengakses VirtualHost yang ditugaskan pada mesin Host dari tamu, saya cukup memasukkan IP Host dan nama server VirtualHost di file HOSTS tamu. Selesai Ada yang tahu cara mengambil lalu lintas dari browser Tamu ke server Host Hosts dengan Fiddler. Bekerja pada Host tetapi tidak mendapatkan lalu lintas dari tamu.
lowtechsun
Hai, bagaimana dengan rentang alamat IP misalnya 192.168.1-100. Bagaimana cara mengaturnya?
dkjain
6

Ini harus menjadi semua yang Anda butuhkan untuk pengaturan dasar

Konfigurasi seperti ini tidak merusak phpMyAdmin di localhost

IP statis disarankan pada perangkat yang menjalankan server

Contoh ini menggunakan IP 192.168.1.x. Konfigurasi jaringan Anda mungkin menggunakan IP yang berbeda

Di httpd.conf di Apache Anda harus memiliki:

# 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

Saya akan mengosongkan nama sehingga mendapat default:

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

Biarkan mesin tamu dan Anda sendiri. Sebagai peringatan keamanan, Anda mungkin menghindari Izinkan dari semua tetapi sebaliknya gunakan IP tamu tertentu misalnya Izinkan dari 192.168.1.xxx di mana xxx adalah IP mesin tamu. Dalam hal ini Anda mungkin perlu mempertimbangkan IP statis pada mesin tamu juga

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

Mulai ulang semua layanan dan Pasang Daring dari ikon baki

Razaman
sumber
6

Pergi ke kontrol xampp di Taskbar

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

Notepad akan terbuka dengan file konfigurasi

Pencarian untuk

Dengarkan 80

Satu baris di atasnya, akan ada sesuatu seperti ini: 12.34.56: 80

Ubahlah

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

Mulai ulang layanan apache dan periksa, Semoga semoga berhasil ...

Joish
sumber
5

Terkadang firewall Anda bisa menjadi masalah. Pastikan Anda telah menonaktifkan pemantauan firewall antivirus Anda. Ini berhasil untuk saya.

Mateo Jovani
sumber
4

Jika Anda menggunakan XAMPP 1.8.3 Navigasi ke file httpd-xampp.conf dan cari "# # Konsep keamanan XAMPP baru # server-status | server-info))">

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

"

Potong kode ini dan simpan di suatu tempat untuk digunakan nanti yaitu mengembalikan fitur ini (ingat menghapus kode ini membuat komputer Anda rentan). Simpan perubahan di httpd-xampp.conf, restart layanan di XAMPP dan hanya itu.

OnsareTM
sumber
Untuk XAMPP Versi 7, "Memerlukan lokal" terletak di file apache / conf / extra / httpd-vhosts.conf
vivanov
3

Jika Anda terhubung ke jaringan Wi-Fi, maka itu jauh lebih sederhana. Temukan Ip di mana Anda telah terhubung ke Wi-Fi. Misalnya:

ip Anda adalah "10.10.55.67".

Kemudian mulai server xampp di mesin Anda.

Kemudian di komputer lain yang terhubung ke Wi-Fi yang sama, ketikkan

http://your-ip

Misalnya:http://10.10.55.67

Krishna M
sumber
3

Alat ini banyak menyelamatkan saya, karena saya tidak memiliki izin Admin di mesin saya dan sudah menginstal nodejs. Untuk beberapa alasan konfigurasi di jaringan saya tidak memberi saya akses ke komputer lain hanya dengan menunjuk IP di browser.

# 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/

Thiago C. S Ventura
sumber
3

Akses localhost dari Perangkat Jarak Jauh

Prasyarat : Situs web Anda saat ini aktif dengan alat seperti live-serverhttp://localhost:8081/

a) Publikasikan di Jaringan yang Sama

Dalam jaringan yang sama, Anda dapat mengakses mesin Anda dengan alamat ip atau nama host Anda saat ini. Anda dapat menemukan alamat ip berjalan ipconfig | grep IPv4atau nama host dengan mengirim ping -ake ip itu.

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

Catatan : Untuk hasil terbaik, gunakan port 80, sambungkan pada jaringan pribadi, dan periksa pengaturan firewall Anda.

b) Publikasikan di Jaringan Apa Saja (lebih mudah)

  1. Pilihan 1 - Anda dapat menggunakan ngrok untuk menyediakan penerusan porta di atas port yang menghadap publik ngrok

    Unduh ngrok dan jalankan perintah berikut:

    $ ./ngrok http 8081
    

  2. Memilih 2 - Anda dapat menggunakan localhost.run untuk membuat terowongan ssh dengan perintah berikut:

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


Akses Perangkat Jarak Jauh dari Perangkat Dev Lokal

Untuk menghubungkan alat dev browser Anda dengan perangkat yang terhubung, ikuti instruksi di Memulai dengan Perangkat Android Debugging Jarak Jauh

  1. Di ponsel Anda, aktifkan Opsi Pengembang & USB Debugging
  2. Hubungkan ponsel Anda ke komputer melalui USB dan atur protokolnya (bukan Transfer File / Media)
  3. Buka Alat Bantu> Lebih Banyak Alat> Debugging Jarak Jauh (coba di sini jika Perangkat Tidak Terdeteksi )

  4. Temukan situs Anda dan Klik Periksa yang akan membuka jendela inspektur baru


Bacaan lebih lanjut:

KyleMit
sumber
1

Inilah yang saya lakukan dan bekerja untuk saya di windows 10 :

1) Tekan windows + r dan ketik cmd . Pada prompt perintah, ketik ipconfig
2) temukan alamat ipv4 Anda dan ganti nama url situs web Anda dengan ip itu misalnya: http://192.168.0.2/example .
3) Sekarang pastikan firewall Anda memiliki akses ke Apache HTTP Server . Cari jendela untuk " Izinkan aplikasi melalui firewall windows " klik di atasnya lalu di kanan atas klik ubah pengaturan dan pastikan Apache HTTP Server memiliki satu centang di sebelah kiri dan satu di pribadi atau publik. Semoga ini bisa membantu

Sekarang Anda dapat mengakses situs web dari PC lain di LAN

csandreas1
sumber
1

Pertama Pergi Ke Jaringan dan pusat Berbagi mesin windows Anda. Dan Cukup ikuti beberapa langkah untuk mendapatkan alamat IPv4 Anda. Lihat Gambar Ilustrasi

Letakkan alamat IPv4 di browser komputer lain. contoh, http // 192.168.0.102

Catatan

  • Turn Of Windows Firewall Anda (jika tidak berfungsi, jika tidak opsional)
Itu Enam
sumber
0

Pertama Anda pergi ke Command Prompt dan ketik

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

kemudian tambahkan alamat ip Anda di bawah ini maka url situs Anda.

Kedua Anda pergi ke Command Prompt dan ketik notepad c:/xampp/bin/apache/apache2.4.18/conf/extra/httpd-vhosts.conf

lalu tambahkan ini di bawah

documentroot "Directory of your site"
Allow from all
Require all granted
Carl James Omandam
sumber
0
<Files ".ht*">
 Require all denied
</Files>

 replace to

<Files ".ht*">
 Require local
</Files>
asd
sumber
<Files ".ht *"> Memerlukan #Require lokal semua ditolak </Files>
asd
3
Selamat Datang di Stack Overflow! Sementara potongan kode ini dapat menyelesaikan pertanyaan, termasuk penjelasan sangat membantu untuk meningkatkan kualitas posting Anda. Ingatlah bahwa Anda menjawab pertanyaan untuk pembaca di masa depan, dan orang-orang itu mungkin tidak tahu alasan untuk saran kode Anda. Tolong juga cobalah untuk tidak membuat kerumunan kode Anda dengan komentar penjelasan, ini mengurangi keterbacaan kode dan penjelasan!
kayess
0

Ganti Require Localdengan Require all grantedinxampp\apache\conf\extra\httpd-xampp.conf file.

Sumit
sumber
0

Saya mengalami masalah ini. Saya menggunakan XAMPP di mesin virtual yang memiliki pengaturan jaringan sebagai "NAT". Saya mengubahnya menjadi "Bridged" dan masalahnya terpecahkan.

Vidhyadhar Dharmadhikari
sumber
0

Host di IP lokal,

Buka CMD: ipconfig

Adaptor LAN nirkabel Wi-Fi: Alamat IPv4. . . . . . . . . . . : xx.xxx.xx.xxx

Vineesh TP
sumber
0

Coba saja:

http://ipaddressofpcwhichhasdatabase:portnumber(80 by default)/filename.extension
Chinthan Narayan
sumber
0

Jika seseorang masih merasa sulit, hal sederhana ini berhasil untuk saya:

  1. Pada sistem utama Anda, katakanlah Hosting PC ... Buka Control Panel> Windows Defender Firewall> Izinkan aplikasi atau fitur melalui Windows Defender Firewall> Ubah pengaturan> Temukan "Apache HTTP Server"> Periksa kedua kotak centang (di bawah Private & Publik). Lihat Screenshot

    • Dalam kasus saya ada dua entri "Apache HTTP Server", jadi saya memeriksa kedua kotak centang untuk kedua entri.
  2. Pada sistem lain yang terhubung melalui jaringan yang sama ... Buka browser> ketik: alamat IP pc hosting Anda diikuti dengan nama proyek Anda di bilah url. Contoh: 192.168.72.111/example.com/

Semoga ini bisa membantu! Terima kasih.

nareshsr
sumber
-1

Jadi saya mencoba untuk memecahkan masalah yang sama dengan menghubungkan ke server yang sama sekali berbeda pada LAN saya sendiri sehingga ketika daya terputus dan kemudian dipulihkan bahwa server saya kembali online dan sistem lain masih dapat memiliki konektivitas dengan otomatisasi. Namun, masalah saya adalah DHCP memberikan server saya IP berbeda pada kesempatan. Utas ini menjawab masalah saya dengan NAMESERVER yang dimiliki windows. Saya menghubungkan langsung ke server saya IP menambahkan http://192.168.1.5 melalui file batch untuk menginisialisasi koneksi tetapi ketika masalah listrik terjadi itu tidak akan terhubung. Saya mengubah file .bat ke http: // DESKTOP-actualnamewhereserver: portdan dilakukan. Masalah terpecahkan. JIKA saya tidak mengubah nama komputer saya, maka ketika DHCP memberikan DESKTOP-aktualnamewherverver alamat IP baru itu akan tetap mengidentifikasi sebagai namanya sendiri di LAN dan karena itu dapat menerima koneksi terlepas dari alamat IP itu. Cukup berikan kepada orang lain di LAN nirkabel Anda nama pc Anda hosting server Apache dan katakanlah namanya DESKTOP-DOUGHFACTORYHUT mereka akan mengetikkan http: // DOUGHFACTORYHUT: 80 atau nomor port apa pun yang disetel oleh host apache Anda untuk atur seperti LOCALHOST: 80 yang pada dasarnya adalah hal yang sama terlampir pada alamat IP dinamis lokal Anda yang ditetapkan oleh DHCP atau IP STATIK yang telah Anda atur ke server.

Mark Hartman
sumber
-2

Saya sepenuhnya setuju dengan BugFinder.

Dengan kata-kata sederhana, cukup masukkan alamat ip 192.168.1.56 di browser Anda yang berjalan di 192.168.1.2 !

jika tidak berhasil maka ada kemungkinan alasan berikut ini:

  1. Masalah Konektivitas Jaringan:

    • Pertama-tama Periksa konektivitas jaringan Anda menggunakan perintah ping 192.168.1.56 pada command prompt / terminal pada komputer 192.168.1.2.
  2. Masalah Firewall: Pengaturan firewall windows Anda tidak memiliki aturan untuk XAMPP (apache). (Masalah paling mungkin)

    • (solusi) buka pengaturan firewall tingkat lanjut dan tambahkan aturan masuk dan keluar untuk file yang dapat dieksekusi Apache.
  3. Masalah Konfigurasi Apache. : Apache Anda dikonfigurasikan untuk hanya mendengarkan permintaan lokal.

    • (Solusi) Anda dapat melakukannya dengan membuka file httpd.conf dan mengganti Listen 127.0.0.1:80 untuk Listen 80 atau * Listen : 80
  4. Konflik Port dengan Server lain (IIS, dll.)

    • (Solusi) Matikan server apache dan kemudian buka host lokal di browser. jika ada respons yang diperoleh kemudian matikan server itu lalu jalankan Apache.

jika semua di atas tidak berfungsi maka mungkin ada beberapa masalah konfigurasi pada server apache Anda. cobalah untuk mengetahuinya jika tidak, instal ulang saja dan transfer semua file php (htdocs) ke instalasi baru XAMPP / WAMP.

Smit Patel
sumber
1
Pertama-tama, pos ini berumur 5 tahun, jadi jawaban ini mungkin tidak akan membantu OP. Kedua, Anda dapat menggunakan Markdown untuk meningkatkan format jawaban Anda agar lebih mudah dibaca dan diikuti. Percayalah pada saya bahwa itu hal yang baik untuk diketahui. :-)
Isiah Meadows
-3

Untuk Menjalankan Server Nodejs melalui Jaringan

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

jalankan http: // yournetworkipaddress: 3000 untuk mengakses aplikasi Anda melalui jaringan area lokal (LAN)

Langkah-langkah untuk menemukan ip jaringan Anda.

MacOS

  1. Pergi ke System Preferences> Network
  2. Periksa alamat IP jaringan di bawah yang terhubung.
Sumit Kasana
sumber