Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Nginx & App Hosting Panel (Termux PRoot Edition)

Panel administratif ringan berbasis PHP yang dirancang khusus untuk mengelola virtual hosts Nginx dan aplikasi web (PHP, Node.js, Python) di lingkungan Ubuntu PRoot (Termux). Panel ini beroperasi menggunakan file JSON datar (data.json) sebagai databasenya, sehingga sangat ringan, portabel, dan cocok untuk perangkat mobile maupun server dengan memori terbatas.

Fitur Utama

  • Nginx Manager: Menambahkan, mengedit, dan menghapus virtual host Nginx (.conf) secara otomatis.
  • Multi-Language Support: Mendukung peng-host-an situs berbasis PHP, Node.js, dan Python.
  • Auto Port Allocation: Pencarian dan pengalokasian port otomatis secara aman (menggunakan nc -zv socket ping) untuk mencegah tabrakan port antar aplikasi (terutama untuk Node.js dan Python), kebal terhadap kebijakan blokir port-reading pada Android terbaru.
  • Service Controller: Dilengkapi tombol-tombol pintas untuk me-restart layanan Nginx dan PHP-FPM secara langsung melalui antarmuka panel.
  • Multi-Server Sync (sync.py): Script otomatisasi Python berbasis SSH/SFTP (paramiko) untuk mendistribusikan pembaruan panel secara massal ke semua node server sekaligus.
  • Role-Based Access Control: Sistem otentikasi admin yang dibagi berdasarkan peran (super admin) dan area spesifik untuk setiap pengguna.

Struktur Direktori & File

Berikut adalah struktur file akurat dari project ini:

  • index.php: Core router, pengontrol utama panel, dan tempat pemrosesan seluruh logika backend dan frontend panel.
  • data.json: Basis data utama. Menyimpan credentials administrator (di-hash menggunakan bcrypt), daftar situs web yang terdaftar, area, dan alokasi port berikutnya.
  • style.css: File styling (CSS) untuk mempercantik dan merapikan antarmuka antarmuka panel agar lebih modern dan responsive.
  • sync.py: Script otomatisasi penyebaran (Deployment). Digunakan untuk melakukan sinkronisasi file index.php dan folder views ke beberapa server PRoot melalui protokol SSH.
  • views/: Direktori yang berisi file-file template HTML/PHP yang dirender oleh index.php (seperti dashboard, health check, atau add site).
  • generated/: Direktori penampungan (output) untuk file konfigurasi atau script yang dihasilkan (generated) oleh panel sebelum dikerjakan oleh sistem.
  • api_code.txt: Berisi snippet kode referensi atau blok API yang diakses panel.
  • .htaccess: File konfigurasi pelindung directory-listing dan pengaturan rewrite rule untuk web server (opsional jika berjalan di bawah Apache pada environment lokal).

Persyaratan Lingkungan (Environment)

Panel ini dioptimalkan untuk lingkungan:

  • OS: Ubuntu PRoot di dalam Termux (Android).
  • Web Server: Nginx (disarankan dikonfigurasi berjalan di background menggunakan utilitas nohup).
  • PHP: Versi 8.x (Telah diuji coba di PHP 8.3 dan 8.5) dengan fastcgi-php.
  • Akses: Lingkungan Android disarankan memiliki netcat (nc) dan socat/ss terpasang untuk membantu deteksi port (walau logika utama telah disesuaikan agar tahan banting dari sandbox Android 10+).

Catatan Keamanan

Kata sandi administrator dalam file data.json diamankan menggunakan metode hashing satu arah Bcrypt. Tidak mungkin untuk memulihkan kata sandi yang telah dibuat. Jika kata sandi terlupa, kata sandi harus di-reset secara manual menggunakan script PHP eksternal atau di-generate ulang menggunakan fungsi password_hash().

About

Panel Hosting Nginx for PHP-NodeJS-Python3 for limited server ( Support Proot-Distro Ubuntu on Termux )

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages