如何在 Debian 11 上安装 BoxBilling

2023年 7月 21日 50.3k 0

BoxBilling 是一个开源、自托管的计费和客户关系管理 (CRM) 系统。BoxBilling 可以帮助您自动开具发票、收款以及客户管理和沟通。boxbilling-logo

在 Debian 11 Bullseye 上安装 BoxBilling

apt步骤 1. 在我们安装任何软件之前,通过在终端中运行以下命令来确保您的系统是最新的,这一点很重要:

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您可以使用脚本保护 MariaDB 。您应该仔细阅读下面的每个步骤,这些步骤将设置 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 boxbilling_user@'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

现在您将开始从 Web 浏览器安装和配置 BoxBilling:

https://billing.your-domain.com

BoxBilling-installation

Boxbilling 安装完成后,您需要删除 ‘install’ 目录并更改文件 ‘ ‘ 的权限,为 BoxBilling 应用程序创建一个新的 cronjob:bb-config.php

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

接下来,我们为用户“”创建一个新的 cronjob 。BoxBilling 应用程序主要运行在 Nginx Web 服务器下,用户为 ‘ ‘:www-datawww-data

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

步骤 6. 访问 BoxBilling 管理页面。

成功安装后,打开网络浏览器并转到,您将看到以下屏幕管理员登录页面,输入您的用户名和密码:https://boxbilling.your-domain/bb-admin/

BoxBilling-login-page

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

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论