GNU/Linux >> Belajar Linux >  >> Debian

Cara Memasang BoxBilling di Debian 11

BoxBilling adalah perangkat lunak penagihan berbasis komunitas yang ditulis dalam PHP. Ini adalah penagihan gratis dan sumber terbuka yang dirancang agar mudah digunakan baik untuk klien maupun penjual. BoxBilling memberikan pengalaman hebat bagi klien dengan antarmuka yang intuitif dan juga mendukung beberapa gateway pembayaran.

Dalam tutorial ini, kami akan menunjukkan cara menginstal BoxBilling dengan Nginx, PHP-FPM, dan MariaDB di Debian 11 Bullseye.

Prasyarat

  • Server Debian 11. Bullseye.
  • Pengguna dengan hak akses sudo root.
  • Nama domain atau subdomain yang menunjuk ke alamat IP server. Terutama di lingkungan produksi.

Instalasi dan Konfigurasi PHP

Pertama, Anda akan menginstal dan mengkonfigurasi PHP-FPM pada sistem Debian Anda. versi terbaru BoxBilling memerlukan PHP-FPM 7.4 atau lebih tinggi, yang merupakan versi PHP default pada repositori Debian.

Sebelum Anda memulai, segarkan indeks paket Debian menggunakan 'apt ' perintah di bawah.

sudo apt update

Setelah repositori disegarkan, jalankan perintah berikut untuk menginstal PHP-FPM dengan semua ekstensi tambahan untuk BoxBilling.

sudo apt install php-fpm php-cli php-common php-zip php-mysql php-gd php-intl php-curl php-imap php-mbstring php-xml php-json libpcre3 openssl git unzip -y 

Setelah semua instalasi PHP selesai, edit file 'php.ini' menggunakan editor nano.

sudo nano /etc/php/7.4/fpm/php.ini
sudo nano /etc/php/7.4/cli/php.ini

Ubah opsi 'memory_limit ', 'max_execution_time ', dan 'date.timezone ' dengan lingkungan pilihan Anda. Dalam contoh ini, kami menggunakan server dengan memori RAM 2 GB, jadi kami akan mengalokasikan 'memory_limit ' untuk PHP menjadi '512MB '. Untuk 'data.timezone ', ubah dengan zona waktu Anda.

memory_limit =512M
max_execution_time =360
date.timezone =Eropa/Paris

Simpan file dan keluar.

Sekarang, restart layanan PHP-FPM dan terapkan konfigurasi baru dengan menjalankan 'systemctl ' perintah di bawah.

sudo systemctl restart php7.4-fpm

Terakhir, verifikasi layanan PHP-FPM menggunakan perintah di bawah ini.

sudo systemctl status php7.4-fpm

Anda akan melihat output saat layanan PHP-FPM aktif berjalan.

Menginstal Nginx dan MariaDB

Pada langkah ini, Anda akan menginstal server web Nginx dan database MariaDB. Aplikasi BoxBilling membutuhkan setidaknya MySQL v8, tetapi juga mendukung implementasi MySQL lain seperti MariaDB.

Instal Nginx dan MariaDB di server Debian 11 menggunakan 'apt ' perintah di bawah.

sudo apt install nginx-full mariadb-server -y

Setelah instalasi Nginx dan MariaDB selesai, jalankan perintah berikut untuk memverifikasi layanan Nginx dan layanan MariaDB.

sudo systemctl status nginx
sudo systemctl status mariadb

Sekarang Anda akan mendapatkan output karena layanan Nginx dan MariaDB aktif dan berjalan.

Menyiapkan Database MariaDB

Setelah instalasi MariaDB, disarankan untuk mengatur kata sandi root untuk MariaDB. Anda akan menggunakan perintah 'mysql_secure_installation' untuk menyiapkan kata sandi root MariaDB dan menerapkan MariaDB dengan keamanan dasar.

Jalankan perintah 'mysql_secure_installation ' di server terminal Anda.

mysql_secure_installation

Sekarang Anda akan diminta untuk mengetikkan kata sandi root untuk MariaDB. Tekan ENTER untuk melanjutkan karena instalasi MariaDB default datang tanpa kata sandi root.

Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):
Oke, kata sandi berhasil digunakan, lanjutkan...

Sekarang ketik 'Y ' untuk mengalihkan autentikasi default untuk pengguna root ke 'unix_socket_authentication ' metode. Ini akan memastikan pengguna root selalu terhubung ke MariaDB dari mesin lokal.

Menyetel kata sandi root atau menggunakan unix_socket memastikan bahwa tidak seorang pun
bisa masuk ke pengguna root MariaDB tanpa otorisasi yang tepat.

Anda telah memiliki akun root yang dilindungi, sehingga Anda dapat dengan aman jawab 'n'.

Beralih ke autentikasi unix_socket [Y/n] Y
Berhasil diaktifkan!
Memuat ulang tabel hak istimewa..
 ... Berhasil!

Ketik 'Y ' untuk mengubah kata sandi root untuk MariaDB, lalu masukkan kata sandi baru untuk MariaDB dan ulangi.

Anda sudah memiliki akun root yang dilindungi, sehingga Anda dapat menjawab 'n' dengan aman.

Ubah kata sandi root? [Y/n] Y
Sandi baru:
Masukkan kembali sandi baru:
Sandi berhasil diperbarui!
Memuat ulang tabel hak istimewa..
 ... Berhasil!

Ketik 'Y ' untuk menghapus pengguna anonim default di MariaDB.

Secara default, instalasi MariaDB memiliki pengguna anonim, memungkinkan siapa saja
untuk masuk ke MariaDB tanpa harus membuat akun pengguna untuk
mereka. Ini dimaksudkan hanya untuk pengujian, dan untuk membuat penginstalan
berjalan sedikit lebih lancar. Anda harus menghapusnya sebelum pindah ke
lingkungan produksi.

Hapus pengguna anonim? [Y/n] Y
 ... Sukses!

Ketik 'Y ' untuk menonaktifkan login jarak jauh untuk root pengguna.

Biasanya, root hanya diperbolehkan untuk terhubung dari 'localhost'. Ini
memastikan bahwa seseorang tidak dapat menebak kata sandi root dari jaringan.

Larang login root dari jarak jauh? [Y/n] Y
 ... Sukses!

Ketik 'Y ' untuk menghapus database default 'test ' dan semua hak istimewa di atasnya.

Secara default, MariaDB hadir dengan database bernama 'test' yang dapat
akses siapa saja. Ini juga dimaksudkan hanya untuk pengujian, dan harus dihapus
sebelum pindah ke lingkungan produksi.

Hapus database pengujian dan akses ke sana? [Y/n] Y
 - Menghapus database pengujian...
 ... Berhasil!
 - Menghapus hak istimewa pada database pengujian...
 ... Berhasil!

Terakhir, muat ulang hak istimewa tabel di MariaDB untuk menerapkan perubahan baru.

Memuat ulang tabel hak istimewa akan memastikan bahwa semua perubahan yang dibuat sejauh ini
akan segera berlaku.

Muat ulang tabel hak istimewa sekarang? [Y/n] Y
 ... Berhasil!

Membersihkan...

Dan Anda telah mengonfigurasi kata sandi root MariaDB dan server MariaDB Anda sekarang aman.

Semua selesai! Jika Anda telah menyelesaikan semua langkah di atas, penginstalan MariaDB
Anda seharusnya sudah aman.

Terima kasih telah menggunakan MariaDB!

Menyiapkan Database dan Pengguna Baru untuk BoxBilling

Pada langkah ini, Anda akan membuat database dan pengguna baru untuk instalasi BoxBilling. Semua data terkait BoxBilling akan disimpan di database MariaDB.

Sekarang, masuk ke shell MariaDB menggunakan perintah berikut.

mysql -u root -p

Jalankan kueri berikut untuk membuat database baru dan pengguna 'boxbilling ' dengan kata sandi 'dbpassBoxBilling ', lalu berikan semua hak istimewa pada database 'boxbilling ' kepada pengguna '[email protected] '. Setelah itu, muat ulang semua hak tabel untuk menerapkan perubahan baru pada MariaDB.

BUAT DATABASE boxbilling;
BUAT PENGGUNA [dilindungi email] DIIDENTIFIKASI OLEH 'dbpassBoxBilling';
GRANT ALL ON boxbilling.* UNTUK [dilindungi email] WITH GRANT OPTION;
HAK ISTIMEWA FLUSH;

Sekarang ketik 'keluar ' untuk keluar dari shell MariaDB. Dan Anda telah membuat database dan pengguna MariaDB baru untuk instalasi BoxBilling.

Mengunduh Kode Sumber BoxBilling

BoxBilling dapat diinstal dengan banyak cara. Anda dapat menginstal BoxBilling versi terbaru dari kode sumber dan menginstal semua dependensi PHP menggunakan 'Composer', atau mengunduh versi stabil BoxBilling dan memindahkannya ke direktori web-root.

Pada langkah ini, kita akan menginstal BoxBilling versi stabil terbaru. Pada saat penulisan ini, BoxBilling versi stabil terbaru adalah v4.22 .

Buat direktori root web baru '/var/www/boxbilling ' dan pindahkan direktori kerja Anda ke dalamnya.

mkdir -p /var/www/boxbilling/
cd /var/www/boxbilling

Unduh versi stabil terbaru dari kode sumber BoxBilling menggunakan perintah wget dan ekstrak file 'BoxBilling.zip ' menggunakan perintah unzip.

wget https://github.com/boxbilling/boxbilling/releases/download/4.22.1.3/BoxBilling.zip
unzip Boxbilling.zip

Sekarang, buat direktori baru 'cache ' dan 'unggah ' pada '/var/www/boxbilling/ '.

mkdir -p /var/www/boxbilling/bb-data/{cache,uploads}

Selanjutnya, ubah kepemilikan '/var/www/boxbilling' direktori ke pengguna dan grup di sana 'www-data ' menggunakan perintah di bawah ini.

sudo chown -R www-data:www-data /var/www/boxbilling

Izinkan pengguna 'www-data ' untuk menulis ke direktori 'cache ' dan 'unggah '.

sudo chmod u+rw /var/www/boxbilling/bb-data/{cache,uploads}

Dan sekarang Anda siap untuk menyiapkan server web Nginx untuk perangkat lunak BoxBilling.

Mengonfigurasi Nginx untuk BoxBilling

Pada langkah ini, Anda akan menambahkan blok server Nginx baru untuk BoxBilling. Sebelum membuat konfigurasi blok server, pastikan Anda mengarahkan nama domain ke server. Selain itu, pastikan Anda memiliki sertifikat SSL yang dibuat untuk domain Anda, Anda dapat menggunakan sertifikat SSL gratis dari Letsencrypt.

Pindahkan direktori kerja Anda ke '/etc/nginx/sites-available ' dan buat konfigurasi blok server baru 'boxbilling.conf ' menggunakan editor nano.

cd /var/www/sites-available/
nano boxbilling.conf

Salin dan tempel konfigurasi berikut. Dan pastikan untuk mengubah nama domain dan jalur sertifikat SSL.

server {
    listen 80;
    server_name billing.example.io;
    return 302 https://$server_name$request_uri;
}

server {
  listen 443 ssl http2;

     set $root_path '/var/www/boxbilling';

     server_name  billing.example.io;

     index index.html index.htm index.php;
     root $root_path;
     try_files $uri $uri/ @rewrite;
     sendfile off;

  ssl_certificate /etc/letsencrypt/live/billing.example.io/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/billing.example.io/privkey.pem;

ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers aktif;
  ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-CMAES256-GCM-SHARS256-RSA-CMAES256 -AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
  ssl_ecdh_curve secp384r1; # Membutuhkan nginx>=1.1.0
  ssl_session_timeout  10m;
  ssl_session_cache dibagikan:SSL:10m;
  ssl_session_tickets off; # Membutuhkan nginx>=1.5.9
  # ssl_stapling aktif; # Membutuhkan nginx>=1.3.7
  # ssl_stapling_verify aktif; # Membutuhkan nginx => 1.3.7
  resolver 8.8.8.8 8.8.4.4 valid=300s;
  resolver_timeout 5s;
  add_header X-Frame-Options DENY;
  add_header X-Content -Type-Options nosniff;
  add_header X-XSS-Protection "1; mode=block";

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

     location @rewrite {
         rewrite ^/(.*)$ /index.php?_url=/ $1;
     }

    lokasi ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7 .4-fpm.sock;
        include fastcgi_params;
        fastcgi_intercept_errors on;
    }

     # Nonaktifkan eksekusi PHP di bb-uploads dan bb-data
lokasi ^~ /bb-uploads/ { }
     lokasi ^~ /bb-data/ {
       tolak semua;
     }

     lokasi ~* ^/(css |img|js|flv|swf|download)/(.+)$ {
        root $root_path;
        kedaluwarsa;
         proxy_no_cache 1;
        proxy_cache_bypass 1;
     }

     location ~ /\.ht {
        tolak semua;
     }
/pra>

Simpan file dan keluar.

Selanjutnya, jalankan perintah berikut untuk mengaktifkan konfigurasi blok server 'boxbilling.conf ' dan verifikasi konfigurasi Nginx.

ln -s /etc/nginx/sites-available/boxbilling.conf /etc/nginx/sites-enabled/
sudo nginx -t

Jika konfigurasi Nginx Anda benar, Anda akan melihat pesan keluaran seperti 'Sintaks OK '.

Terakhir, restart layanan Nginx untuk menerapkan konfigurasi baru.

sudo systemctl restart nginx

Memasang dan Mengonfigurasi BoxBilling

Pada titik ini, Anda telah mengonfigurasi server web BoxBilling dan Nginx. Sekarang Anda akan mulai menginstal dan mengkonfigurasi BoxBilling dari browser web.

Buka browser web Anda dan ketik nama domain BoxBilling di bilah alamat.

https://boxbilling.example.io/

Pastikan semua persyaratan memiliki warna hijau, yang berarti sistem Anda terpenuhi untuk menginstal BoxBilling.

Centang kotak Lisensi 'Saya setuju' dan klik 'BERIKUTNYA '.

Masukkan database dan pengguna untuk BoxBilling dan klik 'BERIKUTNYA ' lagi.

Sekarang, ketik pengguna admin baru, email, dan kata sandi untuk BoxBilling dan klik 'BERIKUTNYA '.

Dan Anda telah berhasil menginstal BoxBilling, namun Anda memerlukan penyiapan tambahan yang harus diterapkan ke server BoxBilling.

Klik 'SELESAI ' dan Anda telah menyelesaikan instalasi BoxBilling.

Anda dapat pindah ke halaman beranda BoxBilling, dan Anda akan melihat halaman serupa seperti di bawah ini.

Instalasi Posting BoxBilling

Setelah instalasi Boxbilling selesai, Anda perlu menghapus direktori 'install' dan mengubah izin file 'bb-config.php', membuat cronjob baru untuk aplikasi BoxBilling.

Hapus BoxBilling 'instal ' menggunakan perintah berikut.

rm -rf /var/www/boxbilling/install

Ubah izin 'bb-config.php ' ke 644 . Ini berarti hanya pengguna 'www-data' yang diizinkan untuk menulis ke file ini.

sudo chmod 644 /var/www/boxbilling/bb-config.php

Sekarang buat cronjob baru untuk pengguna 'www-data'. Aplikasi BoxBilling terutama berjalan di bawah server web Nginx dengan pengguna 'www-data '.

ekspor EDITOR=nano
sudo crontab -u www-data -e

Salin dan tempel skrip berikut.

*/5 * * * * php /var/www/boxbilling/bb-cron.php

Simpan cron dan keluar.

Sekarang BoxBilling Anda siap untuk klien dan pelanggan Anda.

Masuk ke Halaman Admin BoxBilling

Halaman admin BoxBilling terletak di jalur URL '/bb-admin '. Masukkan URL berikut di bilah alamat browser web Anda.

https://boxbilling.example.io/bb-admin/

Pada halaman login admin BoxBilling, masukkan user dan password Anda, klik tombol 'LOG SAYA '.

Sekarang Anda akan melihat dashboard admin Boxbilling seperti di bawah ini.

Kesimpulan

Selamat! Anda sekarang telah menginstal BoxBilling dengan PHP-FPM, Nginx, dan MariaDB pada bullseye Debian 11 terbaru. Sekarang Anda dapat menggunakannya sebagai manajemen pembelian terpusat gratis dengan klien dan pelanggan Anda.


Debian
  1. Cara Menginstal MariaDB 10.x di Debian 11

  2. Cara Menginstal TYPO3 di Debian 9

  3. Cara Menginstal MariaDB di Debian 11

  1. Cara Menginstal MariaDB di Debian 9

  2. Cara Menginstal MariaDB di Debian 10

  3. Cara Menginstal MariaDB di Debian 11

  1. Cara Menginstal NextCloud di Debian 10

  2. Cara Menginstal MariaDB 10.6 di Debian 11

  3. Cara Menginstal MariaDB di Debian 8