如何在 Debian 11 上安装 BoxBilling

在本教程中,我们将向您展示如何在 Debian 11 上安装 BoxBilling。对于那些不知道的人,BoxBilling 是一个开源、自托管的计费和客户关系管理 (CRM) 系统。 BoxBilling 可以帮助您自动开具发票、收款以及客户管理和沟通。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 Debian 11 (Bullseye) 上逐步安装 BoxBilling。

先决条件

  • 运行以下操作系统之一的服务器:Debian 10 或 Debian 11。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一个 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

这将提示您输入密码,因此输入您的 MariaDB 根密码并点击 Enter. 登录到数据库服务器后,您需要为 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;      }  }

Save 和 close 文件,然后重新启动 Nginx Web 服务器以进行更改:

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

现在您将开始从 Web 浏览器安装和配置 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/ 您将看到以下屏幕 admin 登录页面,输入您的用户名和密码:

在 Debian 11 Bullseye 上安装 BoxBilling

恭喜! 您已成功安装 BoxBilling。 感谢您使用本教程在 Debian 11 Bullseye 上安装最新版本的 BoxBilling。 如需更多帮助或有用信息,我们建议您查看 BoxBilling 官方网站.