Membangun Server Hosting Otomatis
Panduan Debian 12, Nginx, & PHP-FPM untuk Multi-User
🌐 Konfigurasi DNS Wildcard
Langkah pertama adalah memastikan domain Anda mengarah ke server untuk subdomain apa pun secara dinamis.
Host: *
Value: [IP_ADDRESS_SERVER_ANDA]
Ini memungkinkan user1.domain.com atau apa-saja.domain.com otomatis terhubung ke IP server Anda.
🔐 Arsitektur Isolasi Keamanan
Sangat berbahaya menjalankan semua web user di bawah satu user (www-data). Kita akan memisahkan mereka di level sistem operasi.
- Buat akun sistem tanpa akses shell:
useradd -m -s /usr/sbin/nologin username - Struktur direktori standar:
/home/username/public_html - Pastikan izin folder ketat agar antar user tidak bisa saling intip.
⚙️ PHP-FPM Pool Per User
Setiap user memiliki proses PHP-nya sendiri. Jika PHP satu user crash atau terkena malware, user lain tetap aman.
Buat file di /etc/php/8.2/fpm/pool.d/username.conf:
user = username
group = username
listen = /run/php/php8.2-fpm-username.sock
pm = ondemand
pm.max_children = 5
🚀 Nginx Virtual Host Dinamis
Gunakan konfigurasi Nginx yang bisa membaca folder berdasarkan nama domain (subdomain).
listen 80;
server_name ~^(?<user>.+)\.domain\.com$;
root /home/$user/public_html;
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm-$user.sock;
}
}
🤖 Otomatisasi Registrasi (Backend)
Anda memerlukan script (PHP/Python) yang menjembatani form pendaftaran dengan perintah sistem Linux.
💡 Saran Profesional
Membangun sistem hosting dari nol sangat baik untuk belajar. Namun, jika untuk produksi massal, pertimbangkan menggunakan kontrol panel open source yang sudah teruji keamanannya:
- HestiaCP: Paling direkomendasikan untuk Debian 12. Ringan dan cepat.
- CyberPanel: Jika Anda menyukai performa OpenLiteSpeed.
- Virtualmin: Untuk kontrol yang sangat mendetail.
Tidak ada komentar:
Posting Komentar