如何在 Debian 11 上安裝 BoxBilling


本教程將向您展示如何在 Debian 11 上安裝 BoxBilling。對於那些不熟悉的人,BoxBilling 是一個開源的自託管計費和客戶關係管理 (CRM) 系統。 BoxBilling 有助於自動化計費、收款以及客戶管理和通信。

本文假設您至少具有 Linux 的基本知識,知道如何使用 shell,最重要的是,您在自己的 VPS 上託管您的網站。 假設您在 root 帳戶下運行,安裝非常簡單。sudo‘ 到命令以獲得 root 權限。 在 Debian 11 (Bullseye) 上安裝 BoxBilling 的分步說明。

先決條件

  • 運行以下操作系統之一的服務器:Debian 10 或 Debian 11。
  • 我們建議使用全新的操作系統安裝來防止潛在問題。
  • SSH 訪問服務器(如果在桌面上打開終端)。
  • 1 non-root sudo user或訪問 root user我們建議您充當 non-root sudo user但是,如果您在以 root 身份操作時不小心,可能會損壞您的系統。

在 Debian 11 Bullseye 上安裝 BoxBilling

步驟1。在安裝任何軟件之前,請務必通過運行以下命令來確保您的系統是最新的: apt 終端中的命令:

sudo apt update
sudo apt upgrade

步驟 2. 安裝 LEMP 堆棧。

需要 Debian 11 LEMP 服務器。 如果您沒有安裝 LAMP,請閱讀我們之前的教程以在 Debian 11 上安裝 LEMP 服務器。

步驟 3. 在 Debian 11 上安裝 BoxBilling。

默認情況下,BoxBilling 在 Debian 11 基本存儲庫中不可用。所以請從官方頁面下載最新的穩定版 BoxBilling。

mkdir -p /var/www/boxbilling/
cd /var/www/boxbilling
wget https://github.com/boxbilling/boxbilling/releases/download/4.22.1.3/BoxBilling.zip
unzip Boxbilling.zip

然後創建一個新目錄’cache‘ 什麼時候’upload‘:

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

我需要更改一些文件夾權限。

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

步驟 4. 配置 MariaDB

MariaDB 默認不加固。你可以使用它 mysql_secure_installation 腳本。 仔細閱讀以下每個步驟以設置 root 密碼、刪除匿名用戶、禁止遠程 root 登錄、刪除測試數據庫以及訪問安全的 MariaDB。

mysql_secure_installation

配置如下:

- Switch to unix_socket authentication [Y/n] Y
- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

接下來,我們需要登錄 MariaDB 控制台並為 BoxBilling 創建一個數據庫。運行以下命令:

mysql -u root -p

登錄到數據庫服務器後,您需要為 BoxBilling 安裝創建一個數據庫。

MariaDB [(none)]> CREATE DATABASE boxbilling_db;
MariaDB [(none)]> CREATE USER 'boxbillingp_user'@'localhost' IDENTIFIED BY 'your-strong-password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON boxbilling_db.* to [email protected]'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

步驟 5. 配置 Nginx。

現在創建一個新的 VirtualHost 以更好地管理 BoxBilling 網站。

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

添加以下文件。

server {
    listen 80;
    server_name billing.your-domain.com;
    return 302 https://$server_name$request_uri;
}

server {
  listen 443 ssl http2;

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

     server_name  billing.your-domain.com;

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

  ssl_certificate /etc/letsencrypt/live/billing.your-domain.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/billing.your-domain.com/privkey.pem;

  ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
  ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
  ssl_session_timeout  10m;
  ssl_session_cache shared:SSL:10m;
  ssl_session_tickets off; # Requires nginx >= 1.5.9
  # ssl_stapling on; # Requires nginx >= 1.3.7
  # ssl_stapling_verify on; # Requires 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;
     }

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

     # Disable PHP execution in bb-uploads and bb-data
     location ^~ /bb-uploads/ { }
     location ^~ /bb-data/ {
       deny all;
     }

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

     location ~ /.ht {
         deny all;
     }
 }

保存並關閉文件並重新啟動 Nginx Web 服務器以應用更改。

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

現在開始從您的網絡瀏覽器安裝和配置 BoxBilling。

https://billing.your-domain.com

安裝 Boxbilling 後,您需要刪除“安裝”目錄並更改文件權限。bb-config.php‘,為 BoxBilling 應用程序創建一個新的 cronjob。

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

然後為用戶創建一個新的 cronjob ‘www-data‘。 BoxBilling 應用程序主要在 Nginx Web 服務器上運行,用戶在其中www-data‘:

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

步驟 6. 訪問 BoxBilling 管理頁面。

安裝成功後,打開瀏覽器,進入: https://boxbilling.your-domain/bb-admin/ 您將看到以下屏幕,管理員登錄頁面,輸入您的用戶名和密碼。

在 Debian 11 Bullseye 上安裝 BoxBilling

恭喜! BoxBilling 已成功安裝。感謝您使用本教程在 Debian 11 Bullseye 上安裝最新版本的 BoxBilling。如需更多幫助或有用信息,我們建議您查看 BoxBilling 官方網站.