Cara Buat Web Server di Laptop agar Bisa Diakses dari Luar/Internet

Sebagai seorang pemula, saya mencoba belajar bagaimana agar aplikasi web yang berjalan di laptop atau PC pribadi bisa diakses dari luar melalui internet. Menurut saya, ini penting untuk dicoba karena memiliki server yang dapat diakses secara eksternal kini menjadi sebuah kebutuhan. Manfaatnya pun banyak, salah satunya kita bisa lebih leluasa mengatur dan mengelola aplikasi yang ingin kita deploy dengan server hosting sendiri.

Nah, pada tulisan ini kita batasi pembahasannya dengan beberapa hal berikut:

  1. Kita membutuhkan web server yang berjalan pada port lokal, yaitu http://localhost. Untuk itu, kita akan membuat aplikasi yang sederhana terlebih dahulu.
  2. Pada contoh ini, kita asumsikan menggunakan bahasa pemrograman PHP, karena kebetulan saya terbiasa memakainya. Namun sebenarnya bisa juga menggunakan bahasa lain, seperti Python atau R, tergantung kebutuhan masing-masing.
  3. Untuk infrastruktur yang dibutuhkan, kita menggunakan modem IndiHome rumahan. Kebetulan saya tidak memiliki IP statis, sehingga perlu sedikit trik atau tips untuk menyiasatinya. Beberapa di antaranya akan kita bahas di tulisan ini.
  4. PC/laptop yang saya gunakan ini pakai sistem operasi Windows.

Langsung saja, pertama kita buat aplikasi yang berjalan di server lokal. Buat sebuah folder bernama C:\aplikasiku. Di dalam folder tersebut, buat file PHP dengan nama index.php. Lalu tuliskan kode berikut:

<?php
echo "<h1>HelloWorld</h1>";
?>

Kalau sudah simpan, masuk ke terminal/cmd dan arahkan ke C:\aplikasiku kemudian ketikkan php -S localhost:80, seperti di bawah ini:

PS C:\aplikasiku> php -S localhost:80
[Fri Jan 23 20:53:18 2026] PHP 8.2.12 Development Server (http://localhost:80) started
[Fri Jan 23 20:53:20 2026] [::1]:62525 Accepted
[Fri Jan 23 20:53:20 2026] [::1]:62525 [200]: GET /
[Fri Jan 23 20:53:20 2026] [::1]:62525 Closing
[Fri Jan 23 20:53:20 2026] [::1]:58871 Accepted

Kalau berhasil, aplikasi akan berjalan di port 80. Dan selanjutnya dapat diakses melalui web browser lokal pada alamat http://localhost.

Sampai tahap ini, web server dan aplikasi Hello World sudah berjalan di PC/laptop lokal kita.
Selanjutnya, kita akan bahas bagaimana agar web ini bisa diakses dari luar jaringan (internet). Cara yang paling mudah dan aman (disarankan) adalah menggunakan tunneling service seperti Cloudflare Tunnel.
Dengan metode ini, kita tidak perlu mengatur modem/router dan juga tidak memerlukan IP publik.

  1. Silakan unduh dulu file cloudflared-windows-amd64.exe di https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/downloads/ . File unduhan tersebut, kita ubah nama filenya menjadi cloudflared.exe dan simpan di folder c:\cloudflared.
  2. Buka terminal/cmd dan masuk ke direktori c:\cloudflared.
  3. Selanjutnya ketik perintah c:\cloudflared\cloudflared tunnel –url http://localhost
C:\cloudflared> c:\cloudflared\cloudflared tunnel --url http://localhost

Coba perhatikan baris ke-6, yang menandakan Cloudflare telah memberikan kita URL publik:
https://has-unlikely-php-annex.trycloudflare.com. Siapa pun di internet kini bisa mengakses URL tersebut, yang isinya adalah web server lokal kita (http://localhost).

PS C:\cloudflared> c:\cloudflared\cloudflared tunnel --url http://localhost
2026-01-23T13:50:10Z INF Thank you for trying Cloudflare Tunnel. Doing so, without a Cloudflare account, is a quick way to experiment and try it out. However, be aware that these account-less Tunnels have no uptime guarantee, are subject to the Cloudflare Online Services Terms of Use (https://www.cloudflare.com/website-terms/), and Cloudflare reserves the right to investigate your use of Tunnels for violations of such terms. If you intend to use Tunnels in production you should use a pre-created named tunnel by following: https://developers.cloudflare.com/cloudflare-one/connections/connect-apps
2026-01-23T13:50:10Z INF Requesting new quick Tunnel on trycloudflare.com...
2026-01-23T13:50:15Z INF +--------------------------------------------------------------------------------------------+
2026-01-23T13:50:15Z INF |  Your quick Tunnel has been created! Visit it at (it may take some time to be reachable):  |
2026-01-23T13:50:15Z INF |  https://has-unlikely-php-annex.trycloudflare.com                                          |
2026-01-23T13:50:15Z INF +--------------------------------------------------------------------------------------------+
2026-01-23T13:50:15Z INF Cannot determine default configuration path. No file [config.yml config.yaml] in [~/.cloudflared ~/.cloudflare-warp ~/cloudflare-warp]
2026-01-23T13:50:15Z INF Version 2026.1.1 (Checksum 75b28989df6a4ed3805732c5c3245c2058481a56cf9f11693e067e1339a6d0aa)
2026-01-23T13:50:15Z INF GOOS: windows, GOVersion: go1.24.11, GoArch: amd64
2026-01-23T13:50:15Z INF Settings: map[ha-connections:1 protocol:quic url:http://localhost]
2026-01-23T13:50:15Z INF cloudflared will not automatically update on Windows systems.
2026-01-23T13:50:15Z INF Generated Connector ID: 8682320f-7845-48e9-ab1a-6a2c4aad0d08
2026-01-23T13:50:15Z INF Initial protocol quic
2026-01-23T13:50:15Z INF ICMP proxy will use 192.168.1.7 as source for IPv4
2026-01-23T13:50:15Z INF ICMP proxy will use fe80::6d2e:1e99:c950:a621 in zone Wi-Fi as source for IPv6
2026-01-23T13:50:15Z INF cloudflared does not support loading the system root certificate pool on Windows. Please use --origin-ca-pool <PATH> to specify the path to the certificate pool
2026-01-23T13:50:15Z INF ICMP proxy will use 192.168.1.7 as source for IPv4
2026-01-23T13:50:15Z INF Tunnel connection curve preferences: [X25519MLKEM768 CurveP256] connIndex=0 event=0 ip=198.41.192.47
2026-01-23T13:50:16Z INF ICMP proxy will use fe80::6d2e:1e99:c950:a621 in zone Wi-Fi as source for IPv6
2026-01-23T13:50:16Z INF Starting metrics server on 127.0.0.1:20241/metrics
2026-01-23T13:50:16Z INF Registered tunnel connection connIndex=0 connection=7e5d9947-d701-4650-bb64-dd8ddb953eec event=0 ip=198.41.192.47 location=sin18 protocol=quic

Oke, kita coba ya. Silakan buka web browser, lalu akses alamat berikut:
https://has-unlikely-php-annex.trycloudflare.com
Seharusnya web lokal kita sudah bisa tampil di sana.

Oke, sampai di sini kita sudah berhasil menghubungkan web server lokal kita ke internet melalui Cloudflare Tunnel.

Leave a Reply

Your email address will not be published. Required fields are marked *