在本教程中,我们将向您展示如何在 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 登录页面,输入您的用户名和密码:
恭喜! 您已成功安装 BoxBilling。 感谢您使用本教程在 Debian 11 Bullseye 上安装最新版本的 BoxBilling。 如需更多帮助或有用信息,我们建议您查看 BoxBilling 官方网站.