Cara Menginstall FossBilling dengan Nginx di Rocky Linux
· 2 min read · Label Linux
FossBilling adalah perangkat lunak penagihan dan manajemen klien yang tangguh
sumber terbuka gratis yang dirancang untuk memudahkan pelanggan dan penjual.
FOSSBilling merupakan pengembangan dari BoxBilling.
FOSSBilling
memberikan pengalaman yang luar biasa bagi pelanggan melalui antarmuka yang
intuitif dan mendukung berbagai gerbang pembayaran. FOSSBilling cocok untuk
berbagai macam bisnis, dari perusahaan kecil hingga menengah dan bahkan
perusahaan besar. FOSSBilling dapat membantu Anda mengotomatiskan pembuatan
faktur, penagihan pembayaran, serta manajemen dan komunikasi pelanggan.
Jika Anda menjalankan bisnis web hosting dan sedang mencari alternatif sumber terbuka untuk penagihan dan manajemen klien, maka fossbilling adalah jawabannya. Meskipun sebagian besar digunakan sebagai solusi untuk bisnis hosting, tidak ada alasan mengapa Anda tidak dapat menggunakan fossbilling untuk jenis bisnis online lainnya, seperti unduhan digital.
Dalam panduan ini, saya akan menginstal FOSSBilling pada server Rocky Linux 9. Panduan ini mencakup instalasi server web Nginx, server basis data MariaDB, PHP-FPM 8.2, dan alat Certbot untuk membuat sertifikat SSL/TSL. Pada akhirnya, Anda akan memiliki solusi manajemen penagihan dan pelanggan yang dapat Anda gunakan untuk bisnis harian Anda.
Jika Anda seorang programmer, FOSSBilling terdiri dari banyak pustaka, bahasa, dan teknologi yang berbeda. Inti dari semuanya adalah PHP. Kami menyimpan data dalam basis data MySQL. Untuk area klien, kami menggunakan Bootstrap, Font Awesome, dan pustaka lain agar terlihat dan berfungsi dengan baik. Area admin menggunakan Tabler, template area admin gratis dan sumber terbuka. Sumber FOSSBilling tersedia di repositori FOSSBilling/FOSSBilling di GitHub.
Jika Anda menjalankan bisnis web hosting dan sedang mencari alternatif sumber terbuka untuk penagihan dan manajemen klien, maka fossbilling adalah jawabannya. Meskipun sebagian besar digunakan sebagai solusi untuk bisnis hosting, tidak ada alasan mengapa Anda tidak dapat menggunakan fossbilling untuk jenis bisnis online lainnya, seperti unduhan digital.
Dalam panduan ini, saya akan menginstal FOSSBilling pada server Rocky Linux 9. Panduan ini mencakup instalasi server web Nginx, server basis data MariaDB, PHP-FPM 8.2, dan alat Certbot untuk membuat sertifikat SSL/TSL. Pada akhirnya, Anda akan memiliki solusi manajemen penagihan dan pelanggan yang dapat Anda gunakan untuk bisnis harian Anda.
![]() |
Panduan Menginstall dan Mengkonfigurasi FossBilling di Linux |
Cara kerja FOSSBilling
FOSSBilling (Perangkat Lunak Bebas dan Sumber Terbuka) adalah solusi penagihan dan manajemen klien. Kami membantu bisnis digital dengan solusi yang mudah digunakan dan gratis. Yang membedakan FOSSBilling dari sebagian besar pesaingnya adalah sepenuhnya bersumber terbuka. Anda dapat mengaudit apa yang berjalan di server Anda. Atau lebih baik lagi, berkontribusi pada proyek tersebut.Jika Anda seorang programmer, FOSSBilling terdiri dari banyak pustaka, bahasa, dan teknologi yang berbeda. Inti dari semuanya adalah PHP. Kami menyimpan data dalam basis data MySQL. Untuk area klien, kami menggunakan Bootstrap, Font Awesome, dan pustaka lain agar terlihat dan berfungsi dengan baik. Area admin menggunakan Tabler, template area admin gratis dan sumber terbuka. Sumber FOSSBilling tersedia di repositori FOSSBilling/FOSSBilling di GitHub.
FOSSBilling akan berfungsi dengan benar pada salah satu server web seperti
NGINX dan Aapche. Untuk kecepatan yang lebih baik, kami sarankan untuk
menggunakan Apache atau Apache di belakang proxy terbalik NGINX (dengan
NGINX yang menyimpan file statis dalam cache).
Untuk memulai proses instalasi FOSSBilling, anda harus terlebih dahulu menginstall web server. Dalam panduan ini kami menggunakan NGINX sebagai web server untuk menjalankan FOSSBilling.
Install Web Server NGINX
FOSSBilling dapat dijalankan dengan server web Nginx dan Lighttpd. Panduan ini akan menggunakan Nginx sebagai server web. Anda akan menginstal Nginx dari repositori resmi Rocky Linux AppStream pada langkah ini.Untuk memulai, pastikan repositori EPEL telah ditambahkan ke sistem Anda. Atau Anda dapat menginstalnya melalui perintah dnf di bawah ini.
$ sudo dnf install epel-release
Selanjutnya, instal server web Nginx menggunakan perintah dnf di bawah ini.
Saat muncul pertanyaan, masukkan "y" untuk mengonfirmasi dan tekan ENTER
untuk melanjutkan.
$ sudo dnf install nginx
$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx
$ sudo firewall-cmd --add-service={http,https} --permanent
Anda akan melihat protokol HTTP dan HTTPS ditambahkan ke firewalld.
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-all
Install Database MariaDB
FOSSBilling menggunakan MySQL/MariaDB untuk menyimpan data pengguna.
Diperlukan setidaknya MySQL 8 atau server MariaDB 10.x. Pada langkah ini,
Anda akan menginstal server MariaDB dari repositori resmi Rocky Linux, yaitu
MariaDB 10.5 dan kompatibel dengan versi terbaru FOSSBilling.
Instal server basis data MariaDB ke sistem Rocky Linux Anda melalui perintah dnf di bawah ini. Masukkan y saat diminta dan tekan ENTER untuk melanjutkan.
Setelah MariaDB terinstal, jalankan utilitas perintah systemctl di bawah
ini untuk memulai dan mengaktifkan layanan MariaDB.
Selanjutnya, jalankan perintah systemctl di bawah ini untuk
memverifikasi layanan MariaDB dan memastikan bahwa layanan tersebut
berjalan. Output 'active (running)' mengonfirmasi bahwa server MariaDB
sedang berjalan. Dan output 'loaded (../mariadb.service; enabled;)'
mengonfirmasi bahwa layanan MariaDB diaktifkan dan akan berjalan secara
otomatis saat sistem dinyalakan.
Dengan server MariaDB yang berjalan, Anda sekarang akan mengamankan
MariaDB melalui perintah 'mariadb-secure-installation'. Ini termasuk
menyiapkan kata sandi root untuk MariaDB, menonaktifkan login jarak jauh
untuk pengguna root MariaDB, dll.
Jalankan perintah 'mariadb-secure-installation' di bawah ini untuk mengamankan penyebaran MariaDB.
Anda akan ditanya tentang beberapa konfigurasi MariaDB di bawah ini:
Jalankan perintah 'mariadb' di bawah ini untuk masuk ke MariaDB melalui pengguna root. Saat dimintai kata sandi, masukkan kata sandi root MariaDB Anda dan tekan ENTER.
Setelah masuk ke shell MariaDB, jalankan kueri berikut untuk membuat
basis data dan pengguna MariaDB baru. Dalam contoh ini, Anda akan
membuat basis data fossbillingdb baru dengan pengguna 'fossbilling'.
Pastikan juga untuk mengubah kata sandi default dalam kueri di bawah
ini.
Terakhir, jalankan kueri di bawah ini untuk memverifikasi pengguna
MariaDB fossbilling@localhost guna memastikan bahwa pengguna memiliki
hak istimewa untuk mengakses basis data 'fossbiilingdb'.
Output 'GRANT ALL PRIVILEGES ON fossbillingdb.* to fossbilling@localhost' mengonfirmasi bahwa pengguna fossbilling@localhost memiliki hak istimewa untuk mengakses basis data 'fossbillingdb'.
Ketik quit untuk keluar dari shell MariaDB.
Setelah Anda membuat database dan pengguna MariaDB untuk FOSSBilling,
pada langkah berikutnya, Anda akan menginstal PHP dan PHP-FPM di server
Rocky Linux Anda.
Terakhir, jalankan perintah php di bawah ini untuk memverifikasi
versi PHP yang terinstal di sistem Anda. Lalu, verifikasi daftar
ekstensi yang diaktifkan di sistem Anda. Anda akan menerima PHP
8.2 dan daftar ekstensi PHP yang diaktifkan, dan pastikan ekstensi
'curl', 'openssl', 'pdo_mysql', dan 'zlib' diaktifkan.
Dengan ini, Anda telah menginstal PHP dan PHP-FPM 8.2 pada
sistem Rocky Linux. Anda juga telah mengonfigurasi PHP-FPM untuk
dijalankan dengan server web Nginx. Pada langkah berikutnya,
Anda akan memulai instalasi FOSSBilling dengan mengunduh kode
sumber.
Sebelum memulai, jalankan perintah dnf di bawah ini untuk menginstal paket unzip ke sistem Anda.
Sekarang buat direktori baru '/var/www/fossbilling' dan
pindahkan direktori kerja Anda ke dalamnya. Kemudian, Anda
dapat mengunduh FOSSBilling versi stabil terbaru melalui
perintah curl seperti di bawah ini.
Setelah kode sumber FOSSBilling diunduh dan direktori
instalasi dikonfigurasi, selanjutnya Anda akan menyiapkan
blok server Nginx yang akan digunakan untuk menjalankan
aplikasi web FOSSBilling.
Setelah itu, anda tambahkan script di bawah ini pada file
/etc/nginx/conf.d/fossbilling.conf.
Ganti example.com dengan nama domain Anda yang
sebenarnya.
Instal server basis data MariaDB ke sistem Rocky Linux Anda melalui perintah dnf di bawah ini. Masukkan y saat diminta dan tekan ENTER untuk melanjutkan.
$ sudo install mariadb-server
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
$ sudo systemctl status mariadb
Jalankan perintah 'mariadb-secure-installation' di bawah ini untuk mengamankan penyebaran MariaDB.
$ sudo mariadb-secure-installation
- Ganti autentikasi lokal ke unix_socket? Masukkan n untuk no.
- Siapkan kata sandi root MariaDB? Masukkan y, lalu ketik kata sandi root MariaDB yang baru dan ulangi.
- Hapus pengguna anonim default? Masukkan y untuk mengonfirmasi.
- Nonaktifkan login jarak jauh untuk pengguna root? Masukkan y untuk mengonfirmasi.
- Hapus pengujian basis data default? Masukkan y untuk mengonfirmasi.
- Muat ulang hak istimewa tabel dan terapkan perubahan? Masukkan y untuk mengonfirmasi.
- Setelah server MariaDB terinstal dan berjalan, selanjutnya Anda akan membuat basis data dan pengguna MariaDB baru yang akan digunakan untuk instalasi FOSSBilling.
4. Membuat Database dan User
Pada langkah ini, Anda akan membuat basis data dan pengguna MariaDB baru yang akan digunakan untuk instalasi FOSSBilling.Jalankan perintah 'mariadb' di bawah ini untuk masuk ke MariaDB melalui pengguna root. Saat dimintai kata sandi, masukkan kata sandi root MariaDB Anda dan tekan ENTER.
$ sudo mariadb -u root -p
CREATE DATABASE fossbillingdb;
CREATE USER fossbilling@localhost IDENTIFIED BY 'password';
GRANT ALL ON fossbillingdb.* TO fossbilling@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
Output 'GRANT ALL PRIVILEGES ON fossbillingdb.* to fossbilling@localhost' mengonfirmasi bahwa pengguna fossbilling@localhost memiliki hak istimewa untuk mengakses basis data 'fossbillingdb'.
Ketik quit untuk keluar dari shell MariaDB.
SHOW GRANTS FOR fossbilling@localhost;
quit
runtu@
5. Menginstal PHP-FPM
Versi terbaru FOSSBilling didukung dengan PHP 8.x. Pada langkah ini,
Anda akan menginstal PHP dan PHP-FPM 8.2 melalui repositori Remi. Jadi
pertama-tama, Anda akan menyiapkan repositori Remi, menginstal paket PHP
dan PHP-FPM, lalu menyiapkan PHP-FPM dengan server web Nginx.
Tambahkan repositori PHP Remi melalui perintah dnf di bawah ini. Perintah ini akan menginstal repositori Remi ke sistem Rocky Linux Anda. File RPM 'remi-release-9.rpm' mengonfirmasi bahwa ini dapat digunakan untuk distribusi RHEL 9. Selain itu, masukkan y saat diminta dan tekan ENTER untuk melanjutkan.
Selanjutnya, jalankan perintah dnf di bawah ini untuk mereset modul
repositori untuk PHP. Lalu, verifikasi daftar modul repositori PHP yang
tersedia di sistem Anda.
Saat diminta untuk menyiapkan kunci GPG untuk repositori Remi, masukkan
y untuk mengonfirmasi dan tekan ENTER.
Setelah perintah 'dnf module list php' dijalankan, Anda akan melihat beberapa versi PHP yang disediakan oleh repositori resmi Rocky Linux AppStream dan repositori Resmi.
Jalankan perintah di bawah ini untuk mengaktifkan repositori PHP untuk 'remi-8.2'. Dengan ini, setiap kali Anda menginstal paket PHP, Anda akan menginstal paket PHP 8.2 dari repositori Remi.
Masukkan y saat diminta dan tekan ENTER untuk mengaktifkannya.
Dengan repositori PHP Remi yang dikonfigurasi, Anda dapat menginstal
paket PHP.
Jalankan perintah dnf di bawah ini untuk menginstal paket PHP dan PHP-FPM ke server Rocky Linux Anda. Masukkan y saat diminta dan tekan ENTER untuk melanjutkan.
Anda juga akan diminta untuk mengonfirmasi kunci GPG untuk repositori
Remi. Masukkan y untuk mengonfirmasi dan tekan ENTER.
Setelah PHP terinstal, buka berkas konfigurasi PHP '/etc/php.ini' menggunakan perintah editor nano di bawah ini.
Ubah konfigurasi PHP default (php.ini) dengan script berikut.
Tambahkan repositori PHP Remi melalui perintah dnf di bawah ini. Perintah ini akan menginstal repositori Remi ke sistem Rocky Linux Anda. File RPM 'remi-release-9.rpm' mengonfirmasi bahwa ini dapat digunakan untuk distribusi RHEL 9. Selain itu, masukkan y saat diminta dan tekan ENTER untuk melanjutkan.
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
$ sudo dnf module reset php
$ sudo dnf module list php
Setelah perintah 'dnf module list php' dijalankan, Anda akan melihat beberapa versi PHP yang disediakan oleh repositori resmi Rocky Linux AppStream dan repositori Resmi.
Jalankan perintah di bawah ini untuk mengaktifkan repositori PHP untuk 'remi-8.2'. Dengan ini, setiap kali Anda menginstal paket PHP, Anda akan menginstal paket PHP 8.2 dari repositori Remi.
Masukkan y saat diminta dan tekan ENTER untuk mengaktifkannya.
$ sudo dnf module enable php:remi-8.2
Jalankan perintah dnf di bawah ini untuk menginstal paket PHP dan PHP-FPM ke server Rocky Linux Anda. Masukkan y saat diminta dan tekan ENTER untuk melanjutkan.
$ sudo dnf install php php-fpm php-mysql php-curl php-cli php-zip php-common php-mbstring php-xml
Setelah PHP terinstal, buka berkas konfigurasi PHP '/etc/php.ini' menggunakan perintah editor nano di bawah ini.
$ sudo nano /etc/php.ini
upload_max_filesize = 16M
post_max_size = 32M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Simpan dan keluar dari berkas '/etc/php.ini' setelah selesai. Untuk
menjalankan PHP-FPM dengan Nginx pada distribusi berbasis RHEL, Anda
harus memastikan bahwa PHP-FPM berjalan dengan pengguna dan grup
default 'nginx'.
Pada RHEL, server web Nginx berjalan secara default di bawah pengguna 'nginx'. Sementara pada distribusi berbasis Debian, server web Nginx dan Apache2 berjalan pada pengguna dan grup yang sama 'www-data'. Buka konfigurasi kumpulan PHP-FPM '/etc/php-fpm.d/www.conf' menggunakan perintah editor nano di bawah ini.
Pada RHEL, server web Nginx berjalan secara default di bawah pengguna 'nginx'. Sementara pada distribusi berbasis Debian, server web Nginx dan Apache2 berjalan pada pengguna dan grup yang sama 'www-data'. Buka konfigurasi kumpulan PHP-FPM '/etc/php-fpm.d/www.conf' menggunakan perintah editor nano di bawah ini.
$ sudo nano /etc/php-fpm.d/www.conf
Ubah parameter default 'pengguna' dan 'grup' menjadi 'nginx'.
user = nginx group = nginxU
Simpan dan tutup berkas setelah selesai. Selanjutnya, jalankan
utilitas perintah systemctl di bawah ini untuk memulai dan
mengaktifkan layanan PHP-FPM. Ini akan memulai layanan PHP-FPM
dengan berkas sock default '/run/php-fpm/www.sock' dan mengaktifkan
PHP-FPM untuk memulai secara otomatis saat sistem dinyalakan.
Output 'Created symlink ...' mengonfirmasi bahwa layanan PHP-FPM diaktifkan.
Sekarang jalankan perintah systemctl di bawah ini untuk
memverifikasi status layanan PHP-FPM. Anda akan mendapatkan output
bahwa PHP-FPM "aktif (berjalan)", yang mengonfirmasi bahwa PHP-FPM
sedang berjalan. Dan output "Loaded .../.../; enabled;"
mengonfirmasi bahwa layanan PHP-FPM diaktifkan.
Output 'Created symlink ...' mengonfirmasi bahwa layanan PHP-FPM diaktifkan.
$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm
$ sudo systemctl status php-fpm
$ php --version
$ php -m
6. Install FossBilling
Pada langkah ini, Anda akan mengunduh kode sumber FOSSBilling dan mengatur direktori instalasi FOSSBilling ke '/var/www/fossbilling'.Sebelum memulai, jalankan perintah dnf di bawah ini untuk menginstal paket unzip ke sistem Anda.
$ sudo dnf install unzip -y
$ mkdir -p /var/www/fossbilling; cd /var/www/fossbilling
$ curl https://fossbilling.org/downloads/stable -L --output FOSSBilling.zip
Saat kode sumber FOSSBilling diunduh, Anda akan melihat
berkas FOSSBilling.zip di direktori kerja Anda. Jalankan
perintah unzip di bawah ini untuk mengekstrak berkas
'FOSSBilling.zip'. Kemudian, ubah kepemilikan direktori
instalasi FOSSBilling '/var/www/fossbilling' ke pengguna
dan grup 'nginx'.
$ unzip FOSSBilling.zip
$ sudo chown -R nginx:nginx /var/www/fossbilling
7. Konfigurasi NGINX Untuk FossBilling
Buat file konfigurasi Nginx baru untuk FossBilling:$ nano /etc/nginx/conf.d/fossbilling.conf
server {
listen 80;
set $root_path '/var/www/fossbilling';
server_name example.com;
index index.html index.htm index.php;
root $root_path;
try_files $uri $uri/ @rewrite;
sendfile off;
include /etc/nginx/mime.types;
# Block access to sensitive files and return 404 to make it indistinguishable from a missing file
location ~* .(ini|sh|inc|bak|twig|sql)$ {
return 404;
}
# Block access to hidden files except for .well-known
location ~ /\.(?!well-known\/) {
return 404;
}
# Disable PHP execution in /uploads
location ~* /uploads/.*\.php$ {
return 404;
}
# Deny access to /data
location ~* /data/ {
return 404;
}
location @rewrite {
rewrite ^/page/(.*)$ /index.php?_url=/custompages/$1;
rewrite ^/(.*)$ /index.php?_url=/$1;
}
location ~ \.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
include fastcgi_params;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
expires off;
}
}
8. Test dan Restart NGINX
Uji konfigurasi Nginx untuk memastikan tidak ada kesalahan sintaksis pada saat instalasi. Setelah itu anda restart Nginx untuk menerapkan perubahan.$ nginx -t
$ systemctl restart nginx
9. Konfigurasi Let’s Encrypt Untuk FossBilling
Untuk memuliai bagian ini, anda harus menginstall Instal
Certbot salah satu plugin SSL standar untuk Nginx.
$ dnf install certbot python3-certbot-nginx
Dapatkan dan instal sertifikat SSL Let’s Encrypt untuk
domain Anda.
$ certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email contact@shape.host -d datainchi.blogspot.com
Ganti datainchi.blogspot.com dengan nama domain Anda yang
sebenarnya.
10. Jalankan FossBilling
Setelah sertifikat SSL berhasil dipasang, Anda dapat
mengakses FossBilling melalui peramban web seperti Google
Chrome. Buka peramban Anda dan navigasikan ke
https://yourdomain.com (ganti `yourdomain.com` dengan
domain Anda yang sebenarnya). Anda akan melihat halaman
instalasi FossBilling, anda dapat mengikut tiap perintah
yang ditampilkan untuk menyelesaikan penaturan
FossBilling.
Pada langkah ini sangat mudah, karena anda akan dipandu
dengan wizard dalam bentuk gambar. Jadi anda hanya ikuti
saja tiap perintah yang ditampilkan.
Dalam panduan ini, Anda telah memasang aplikasi
FossBilling sumber terbuka dan manajemen pengguna
FOSSBilling pada server Rocky Linux 9. Anda juga telah
mengonfigurasi Tumpukan LEMP (server web Nginx, basis data
MariaDB, dan PHP-FPM) pada sistem Rocky Linux. Selain itu,
Anda telah mengamankan instalasi FOSSBilling dengan
sertifikat SSL/TLS yang dibuat melalui Certbot dan
Letsencrypt.
Dari sini, Anda sekarang dapat menggunakan FOSSBilling
untuk bisnis Anda. Anda dapat menambahkan lebih banyak
pengguna, menyiapkan server SMTP, dan masih banyak lagi.
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar