Implementasi  Android  Sebagai  Web  Server  Online  Dengan Virtual Private Network
Sigit Sugiharto 1 , Supriyanto 2, Rozaq Isnaini Nugraha 3 sigitsugiharto.stikes.wh@gmail.com 1 , supriyanto0520@gmail.com 2, rozaqin@uwhs.ac.id 3 Universitas Widya Husada Semarang Informatika Medis 1 , Sistem dan Teknologi Informasi 2,3 Jl. Subali Raya No.12 Krapyak, Kota Semarang

## ARTICLE  INFO
Received 23 April 2024 Accepted 27 Mei 2024 Published 25 Juli 2024

## ABSTRACT
Android  is  an  operating  system  whose  capabilities continue  to  increase  from  year  to  year.  The capabilities  of  Android  currently  match  the capabilities  of  a  computer.  Not  only  limited  to ordinary  computers,  what  a  server  computer  can  do can  now  be  done  on  Android,  including  making Android  a  web  server.  So  it  is  possible  for  people who  have  Android  to  have  their  own  web  server. The  problem  that  arises  is  that  the  web  server  on Android cannot be accessed directly via the internet. Cellular  operators  do  not  provide  Public  IP  to  their customers,  so  a  way  is  needed  so  that  the  Android web  server  can  be  accessed  on  the  internet,  one  of which  is  by  using  Virtual  Private  Network  (VPN) technology.  The aim  of  this research is to  make  the web  server  on  Android  accessible  on  the  internet. The  method  used  is  to  combine  a  Virtual  Private Server (VPS) and Android using VPN. The research results showed that VPN can be a bridge so that the web  server  on  Android  can  be  accessed  from  the internet.
Keywords: Web Server, Android, ZeroTier, Virtual Private Network, VPN

## 1. Pendahuluan
Android  merupakan  sistem  operasi  berbasis  linux  yang  dikembangkan  oleh  Android.Inc yang dibiayai oleh Google. Sekarang Android sudah banyak dikenal dan digunakan di masyarakat luas  baik  untuk  anak-anak,  remaja  maupun  dewasa.  Banyak  developer  menggunakan  sistem operasi tersebut untuk menciptakan inovasi-inovasi baru untuk mempermudah pekerjaan manusia untuk  mendapatkan  informasi,  pengelolaan  bisnis,  dan  lain  sebagainya.  Android  terus berkembang  dari  tahun  ke  tahun  dengan  kemampuan-kemampuan  baru  yang  sudah  bisa menyamai sebuah komputer atau laptop. Hampir semua yang bisa dilakukan oleh komputer sudah bisa dilakukan oleh Android termasuk menjadikan Android sebagai web server
Web  server  merupakan  perangkat  lunak  dan  perangkat  keras  yang  memberikan  layanan website sehingga isi dari website bisa diakses seseorang melalui browser seperti Google Chrome, Mozilla  Firefox,  Opera,  dan  lain  sebagainya.  Web  server  bekerja  menggunakan  protokol Hypertext  Transfer  Protocol  (HTTP)  atau  HTTP  Secure  (HTTPS).  Sebuah  komputer/laptop dengan  sistem  operasi  Microsoft  Windows  dapat  dijadikan  web  server  dengan  menginstall perangkat  lunak  web  server  seperti  XAMPP,  WAMP,  Laragon,  dan  lain  sebagainya.  Software-
Implementasi Android Sebagai Web Server Online Dengan Virtual Private Network (Sigit Sugiharto)
software  tersebut  dapat  memberikan  layanan  HTTP  ataupun  HTTPS  dan  menjadikan komputer/laptop berfungsi sebagai web server.
Salah  satu aplikasi  web  server  untuk  Android  yang  dapat  digunakan  bernama  AwebServer. Aplikasi  ini  dapat  digunakan  sebagai  alternatif  pengganti  aplikasi  XAMPP.  Hasil  penelitian terhadap  aplikasi  ini  menunjukkan  bahwa  AwebServer  memiliki  kualitas  yang  baik  sebagai  web server [1].
Konektivitas  merupakah  hal  penting  pada  sebuah  web  server.  Konektivitas  pada  jaringan internet  merupakan  kemampuan  perangkat  dapat  saling  terhubung  satu  sama  lain  termasuk kecepatan transfer data antar perangkat. Penelitian yang dilakukan oleh Rajashekar menunjukkan bahwa  web  server  di  Android  mendukung  konektivitas  dengan  jaringan  jaringan  lokal,  3G,  dan 4G LTE [2].
Kemampuan  smartphone  Android  sudah  mencapai  jaringan  4G  dan  memasuki  jaringan  5G. Operator  seluler  di  Indonesia  juga  sudah  mendukung  jaringan  4G  maupun  5G  yang  membuat konektivitas yang tinggi dari sisi kecepatan transfer data. Teknologi 5G adalah teknologi terbaru dengan  kelebihannya  adalah  kecepatan  transfer  data  yang  mumpuni  [3].  [3].  Jaringan  4G  dapat mentransfer  data  dengan  kecepatan  unduh  sebesar  150  Mbps  dan  kecepatan  unggah  sebesar  50 Mbps.  Sedangkan  jaringan  5G  dapat  mentransfer  data  dengan  kecepatan  unduh  sebesar  10.000 Mbps  dan  kecepatan  unggah  sebesar  1.000 Mbps.  Dengan  melihat  kemampuan  4G  dan  5G  dari sisi  kecepatan  transfer  data,  sangat  dimungkinkan  sebuah  web  server  Android  dapat  digunakan dengan baik sebagai web server online.
Pemanfaatan Android sebagai web server yang bisa diakses secara lokal telah dilakukan oleh beberapa  peneliti,  namun  penggunaanya  hanya  sebatas  untuk  jaringan  area  lokal.  Permasalahan yang  terjadi  saat  sebuah  smartphone  Android  dijadikan  web  server  adalah  web  server  tersebut tidak bisa diakses secara online hanya dengan memanfaatkan jaringan operator seluler. Walaupun Android  bisa  melakukan  koneksi  internet  dan  mengakses  data  secara  online  melalui  jaringan operator  seluler,  web  server  yang  terinstall  di  Android  tetap  tidak  bisa  diaskses  dari  tempat  lain melalui  internet.  Hal  ini  karena  operator  seluler  tidak  memberikan  akses  dari  luar  ke  Android penggunanya.  Operator  seluler  juga  tidak  memberikan  layanan  IP  public  ke  penggunanya, sehingga tidak dimungkinkan untuk mengonlinekan web server yang terinstall di Android.
Virtual  Private  Network  (VPN)  merupakan  teknologi  yang  memungkinkan  pengguna membuat jaringan pribadi yang terenkripsi dengan aman yang dialirkan melalui jaringan internet. Dengan  menggunakan  VPN,  antar  komputer  atau  perangkat  dapat  saling  berkomunikasi  melalui jaringan  internet  tanpa  diketahui  oleh  pengguna  lain  yang  tidak  memiliki  hak  akses.  VPN  akan membuat suatu jaringan komputer yang tak terlihat di dalam jaringan komputer itu sendiri. VPN juga memiliki kemampuan membuat jaringan LAN didalam jaringan MAN, WAN dan internet.
ZeroTier  merupakan  salah  satu  VPN.  ZeroTier  adalah  solusi  jaringan  virtual  yang  berbasis pada  model  "Zero-Trust  Networking"  (ZTN),  yang  memungkinkan  pengguna  untuk menghubungkan  perangkat  secara  aman  dan  langsung  tanpa  melalui  server  pusat.  ZeroTier mudah diinstal dan dioperasikan, bahkan oleh pengguna yang tidak memiliki pengetahuan teknis yang  mendalam.  Dari  sisi  keamanana,  enkripsi end-to-end dan  model  keamanan zero-trust membuat  ZeroTier  aman  untuk  menghubungkan  perangkat  ZeroTier  dapat  di-skala  dengan mudah,  membuatnya  cocok  untuk  proyek  yang  membutuhkan  jaringan  virtual  yang  besar  dan fleksibel [4].
Agar  web  server  Android  bisa  diakses  secara  online  dari  internet,  harus  dibantu  oleh perangkat  jaringan  lain  yang  memiliki  layanan  IP  public.  Selain  itu  diperlukan  juga  sebuah layanan tambahan yang dapat melalukan routing dari jaringan internet ke Android. Virtual Private Server  (VPS)  merupakan  solusi  untuk  menghubungkan  Android  agar  bisa  diakses  dari  internet. VPS  memiliki  layanan  IP  publik.  Dalam  VPS  tersebut  harus terinstal  sistem  operasi  yang  dapat berperan sebagai router, dan aplikasi Virtual Private Network (VPN) sebagai penghubung antara
VPS  dan  Android.  Melalui  VPS  dan  VPN  inilah,  sangat  dimungkinkan  mengonlinekan  web server  di  Android  ke  internet,  sehingga  bisa  diakses  secara  public.  Penelitian  yang  dilakukan Mahmudin,  penerapan  VPS  dan  VPN  memberikan  hasil  yang  sangat  baik.  Bandwidth  yang dipakai  untuk  mengunduh  data  mencapai  32  Mbps,  dan  bandwidth  yang  dikapai  untuk mengunggah data mencapai 25 Mbps [5].

## 2. Metode penelitian
Jenis  penelitian  ini  adalah  jenis  penelitian  eksperiment.  Faktor  yang  diteliti  adalah kemampuan sebuah smartphone  Android dijadikan sebagai web server online (bukan  offline) dengan memanfaatkan teknologi Virtual Private Network. Respon dari eksperiment ini adalah aplikasi web dapat berjalan dengan baik, dapat diakses secara online melalui intenet.
Dalam penelitian ini konsep yang digunakan adalah sebagai berikut:
Gambar 2.1. Konsep Android Web Server Online
Alat yang digunakan dalam penelitian ini adalah sebuah smartphone Android, laptop dan VPS.  Spesifikasi  smartphone  Android  yang  digunakan  adalah  memiliki  processor  Octa  Core ARM Cortex-A53 dengan kecepatan clock speed 1,96 GHz, kapasistas RAM sebesar 3GB dan kapasista internal memory sebesar 32 GB. Laptop yang digunakan memiliki processor Core i- 3  Generasi  6  dengan  kecepatan  2  GHz,  kapasitas  RAM  sebesar  4  GB.  VPS  yang  digunakan adalah VPS dari nusahost.net dengan 1 core processor, kapasistas memory 512MB, kapasitas SSD 10 GB dan memiliki 1 IP publik.
Bahan  yang  digunakan  adalah  beberapa  perangkat  lunak  yaitu  aplikasi  Android AwebServer,  aplikasi  Android  WireGuard,  Microsoft  Windows  di  laptop,  WinSCP  untuk Windows dan Aplikasi VPN ZeroTier.

## 3. Hasil dan Pembahasan
Untuk  memfungsikan  Android  sebagai  web  server  diperlukan  beberapa  tahap  dan  seting agar bisa berjalan sebagaimana mestinya.

## 3.1. Penyiapan Aplikasi Android AwebServer
AwebServer  adalah  sebuah  aplikasi  Android  yang  dapat  menjadikan  Android  sebagai web server. Didalamnya terdapat paket aplikasi Apache2, MariaDb, PHP, FTP. Secara default
Implementasi Android Sebagai Web Server Online Dengan Virtual Private Network (Sigit Sugiharto)
aplikasi  ini  akan  membuka  port  8080  sebagai  port  HTTP  bukan  di  port  80.  Saat  peneliti mencoba  mengubah  port  80  sebagai  port  standar  HTTP,  aplikasi  tidak  bisa  berjalan.  Port database  server  MariaDb  bisa  berjalan  di  port  standar  yaitu  port  3306.  Versi  PHP  yang digunakan adalah versi 7.3.10. Aplikasi FTP menggunakan port 2221, bukan port standar 21. Untuk mengakses FTP ini diperlukan user dan password yang secara default keduanya adalah admin.
Hasil  percobaan  menggunakan  AwebServer,  ada  tiga hal  penting  yang  perlu  dikonfigurasi  di Android. Pertama adalah penguncian aplikasi supaya tidak tertutup dan tetap berjalan di latar belakang.  Langkah  kedua  adalah  pemakaian  baterai  diatur  agar  aplikasi  tetap  dapat  berjalan saat ada pemakaian baterai yang besar. Langkah ketiga adalah pengaturan data internet dibuat supaya  penggunaan  data  tidak  dibatasi.  Ketiga  hal  diatas  harus  dilakukan  supaya  semua aplikasi dapat berjalan selama 24 jam

## 3.2. Penyiapan Aplikasi WinSCP
WinSCP merupakan sebuah aplikasi perangkat lunak yang berguna untuk mentransfer file dari  komputer  lokal  ke  komputer  server  secara  jarak  jauh  mamakai  protokol  SSH  (Secure Shell)  atau  FTP  (File  Transfer  Protocol).  WinSCP  sangat  berguna  untuk  mengelola  file-file yang  berada  di  server  dari  jarak  jauh,  seperti  mengunggah  file,  mengunduh  file,  membuat direktory,  menghapus  direktori,  serta  melakukan  berbagai  macam  tugas  administratif  yang berkaitan denga pengelolaan file.
WinSCP  memiliki  antarmuka  grafis  yang  intuitif,  sehingga  mudah  digunakan  oleh pengguna  yang  tidak  terlalu  berpengalaman.  WinSCP  juga  mendukung  berbagai  fitur  seperti keamanan menggunakan enkripsi, dapat terintegrasi dengan editor teks eksternal, penjadwalan tugas, dan banyak lagi. Dengan kemampuan keamanan dan kemudahan penggunaan, WinSCP sangat  populer  digunakan  bagi  administrator  web.  Peneliti  menggunakan  aplikasi  ini  untuk memindahkan file-file yang ada di laptop ke smartphone Android melalui protokol FTP.
Dalam  penelitian  ini  WinSCP  digunakan  untuk  mentransfer  file-file  uji  coba  ke  dalam Android.

## 3.3. Penyiapan VPN ZeroTier di Android
Aplikasi  VPN  ZeroTier  harus  diinstal  di  kedua  perangkat,  yaitu  di  Android  dan  di  VPS. Langkah awal menggunakan ZeroTier adalah dengan membuat akun laman https://www.zerotier.com/. Setelah membuat akun didapatkan sebuah nomor unik yang disebut Network ID.
Instalasi  ZeroTier  di  Android  memerlukan  pengaturan  seperti  halya  pengaturan AwebServer.  Hal  ini  diperlukan  agar  ZeroTier  dapat  berjalan  selama  24  jam.  Pengaturan tersebut  yaitu  penguncian  ZeroTier  agar  aplikasi  tidak  tertutup.  Pengaturan  selanjutnnya adalah penggunaan baterai yang tak terbatas, dan yang terakhir adalah pengaturan data internet yang tak terbatas.
Android  dan  VPS  dapat  saling  terhubung  dengan  join  ke  dalam  akun  yang  sama  berupa sebuah nomor ID network yang bersifat unik yang dihasilkan saat membuat akun ZeroTier.

## 3.4. Penyiapan Virtual Private Server (VPS)
VPS  digunakan  sebagai  penghubung  antara  pengguna  atau  pengunjung  website  dengan perangkat Android  yang  menjalankan  web server. VPS yang  digunakan  menggunakan sistem operasi  Ubuntu  Server  versi  20.04.  Di  dalam  VPS  di  install  aplikasi  VPN  ZeroTier.  Instalasi ZeroTier di Ubuntu adalah dengan mengetikkan:

## #curl -s https://install.zerotier.com | sudo bash
Setelah  ZeroTier  terinstall,  langkah  selanjutnya  adalah  melakukan join ke  network ZeroTier yang telah dibuat dengan  memasukkan  nomor ID network ZeroTier. Perintah untuk join :
#Zerotier-cli {nomor ID network}

## .

## 3.5. Penyiapan Docker
Docker  adalah  sebuah  platform  berbasis  teknologi  container.  Container  dalam  docker dapat  diartikan  sebagai  wadah.    Docker  pada  dasarnya  berfungsi  untuk  mengemas  dan menjalankan  aplikasi  di  dalam  wadah  terisolasi  yang  disebut  "container"  [6].  Docker  bisa diinstal  di  sistem  operasi  Windows  maupun  Linux.  Aplikasi  menjadi  lebih  mudah  untuk dijalankan di berbagai lingkungan sistem  operasi, tanpa perlu khawatir tentang kompatibilitas sistem  operasi  atau  library. Container  Docker  jauh  lebih  ringan  apabila  dibandingkan  dengan mesin virtual (virtual machine).
Docker  dapat  menjalankan  lebih  banyak  aplikasi  pada  satu  server  fisik,  sehingga menghemat  sumber  daya  komputasi.  Aplikasi  yang  dikemas  dalam  container  Docker  dapat dengan  mudah  dipindahkan  antar  server  yang  berbeda,  selama  server  tersebut  memiliki Docker terinstal. Hal ini membuat proses deployment aplikasi menjadi lebih mudah dan cepat. Dalam penelitian ini docker di install di VPS berbasis sistem operasi Linux Ubuntu.
Dalam penelitian ini Docker diperlukan untuk menginstal aplikasi Nginx Proxy Manager dengan menggunakan docker compose.

## 3.6. Penyiapan Nginx Proxy Manager
Penggabungan  Nginx  Proxy  Manager  (NPM)  dengan  docker  container  dapat  digunakan untuk  memperkuat  pemanfaatan  layanan  CDN  dan  cloud  computing  terhadap  pengembangan aplikasi web [7]. NPM memiliki kelebihan dapat membelokkan koneksi port standar HTTP ke port HTTP tidak standar, sehingga mampu menjembatani web server di Android dapat diakses dengan port standar HTTP. Dalam hal keamanan NPM juga dapat melindungi koneksi HTTP dengan mengubahnya menjadi HTTPS dengan memanfaatkan fitur SSL Let's Encrypt.
Let's  Encrypt  adalah  sebuah  otoritas  sertifikasi  yang  menyediakan  sertifikat  SSL/TLS secara gratis. Sertifikat SSL/TLS ini digunakan untuk mengamankan koneksi antara pengguna (browser) dan server web, dengan tujuan mencegah pengintipan data sensitif seperti informasi login, detail kartu kredit, dan lainnya.

## 3.7. Pengujian
Pengujian  web  server  di  Android  peneliti  menggunakan  tool  online  dari  lama https://loader.io.  Untuk  menggunakan  tool  loader  ini,  peneliti  harus  membuat  akun  terlebih dahulu.  Setelah  berhasil  membuat  akun,  peneliti  diminta  memasukkan  nama  domain  yang mengarah ke web server dan secara otomatis akan digenerate sebuah file yang harus di unggah ke  web  server.  File  yang  di  unggah  inilah  yang  akan  menjadi  bahan  bagi  loader  untuk melakukan pengujian.
Hasil pengujian menggunakan tool loader ini menunjukkan bahwa response time rata-rata yang  didapat  adalah  407  ms  dengan response  time terendah  354  ms  dan response  time tertinggi 1435 ms. Bandwidth pengiriman data 26.12 KB dan penerimaan data 62.99 KB.
Implementasi Android Sebagai Web Server Online Dengan Virtual Private Network (Sigit Sugiharto)

## Gambar 3.1. Hasil pengujian web server

## 4. Kesimpulan
Smartphone  Android dapat digunakan sebagai  web server dan bisa diakses secara online dengan  memanfaatkan  VPN  ZeroTier  yang  terinstall  di  Virtual  Private  Server.  Port  HTTP yang  digunakan  tidak  bisa  menggunakan  port  80  sebagai  port  standar  HTTP,  hal  ini dikarenakan  ada  batasan  penggunaan  port  di  Android.  Namun  demikian,  fungsi  HTTP  dapat berjalan  dengan  baik  dengan  bantuan  Nginx  Proxy  Manager.  Keamanan  web  juga  dapat dilakukan  menggunakan  Nginx  Proxy  Manager  yang  secara  otomatis  dapat  mengubah  HTTP menjadi HTTPS.

## Daftar Pustaka
[1] “Awebserver Sebagai Alternatif Pengganti Xampp Pada Platform Android | Teknosains: Media Informasi Sains dan Teknologi.” Accessed: Jan. 18, 2024. [Online]. Available: https://journal.uin-alauddin.ac.id/index.php/teknosains/article/view/20028
[2] M. B.Rajashekar and M. J.Suman, “Android Smartphone as a Portable Web Server,” Int. J. Eng. Res. Technol. , vol. 2, no. 9, Sep. 2013, doi: 10.17577/IJERTV2IS90706.
[3] F. Prasetyo, E. Putra, M. Riski, M. S. Yahya, and M. H. Ramadhan, “Mengenal Teknologi Jaringan Nirkabel Terbaru Teknologi 5G,” J. Sistim Inf. dan Teknol. , vol. 5, no. 2, pp. 167– 174, Jul. 2023, doi: 10.37034/JSISFOTEK.V5I2.233.
[4] B. K. Yedla, “Performance evaluation of VPN solutions in multi-region kubernetes cluster,” 2023, Accessed: Jul. 20, 2024. [Online]. Available: https://urn.kb.se/resolve?urn=urn:nbn:se:bth-24664
[5] R. C. S. Hariyono and . M., “Penggunaan IP Publik Virtual Private Server (VPS) Untuk Akses Server Lokal Menggunakan Virtual Private Network (VPN) Tunnel: Array,” Indones. J. Informatics Res. , vol. 3, no. 1, pp. 58–63, Jun. 2022, Accessed: May 09, 2024. [Online]. Available: https://journal.peradaban.ac.id/index.php/ijir/article/view/1174
[6] “The Docker Book: Containerization Is the New Virtualization - James Turnbull - Google Books.” Accessed: Jul. 20, 2024. [Online]. Available:
https://books.google.co.id/books?hl=en&lr=&id=4xQKBAAAQBAJ&oi=fnd&pg=PA1&d q=docker&ots=wy4Ebz4fEY&sig=nYSBvlKu8jcx6IvQnPsSRr1Jm84&redir_esc=y#v=one page&q=docker&f=false
[7] “Pemanfaatan layanan cloud computing dan docker container untuk meningkatkan kinerja aplikasi web - University of Merdeka Malang Repository.” Accessed: Jul. 17, 2024. [Online]. Available: https://eprints.unmer.ac.id/id/eprint/4006/