Cómo instalar BoxBilling en Debian 11

En este tutorial, le mostraremos cómo instalar BoxBilling en Debian 11. Para aquellos de ustedes que no lo sabían, BoxBilling es un sistema de administración de relaciones con clientes (CRM) y facturación autohospedado y de código abierto. BoxBilling puede ayudarlo a automatizar su facturación, pagos entrantes y administración y comunicación de clientes.

Este artículo asume que tiene al menos un conocimiento básico de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y se supone que está ejecutando en la cuenta raíz, si no, es posible que deba agregar ‘ sudo ‘ a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de BoxBilling en un Debian 11 (Bullseye).

requisitos previos

  • Un servidor que ejecuta uno de los siguientes sistemas operativos: Debian 10 o Debian 11.
  • Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
  • Acceso SSH al servidor (o simplemente abra la Terminal si está en una computadora de escritorio).
  • A non-root sudo user o acceder a la root user . Recomendamos actuar como un non-root sudo user sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.

Instale BoxBilling en Debian 11 Bullseye

Paso 1. Antes de instalar cualquier software, es importante asegurarse de que su sistema esté actualizado ejecutando lo siguiente apt comandos en la terminal:

                      sudo apt update
sudo apt upgrade
                    

Paso 2. Instalación de la pila LEMP.

Se requiere un servidor Debian 11 LEMP. Si no tiene LAMP instalado, lea nuestro tutorial anterior para instalar LEMP Server en Debian 11.

Paso 3. Instalación de BoxBilling en Debian 11.

De forma predeterminada, BoxBilling no está disponible en el repositorio base de Debian 11. Entonces, ahora descargamos la última versión estable de BoxBilling desde la página oficial:

                      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
                    

A continuación, creamos un nuevo directorio ‘ cache ‘ y ‘ upload ‘:

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

Tendremos que cambiar algunos permisos de carpetas:

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

Paso 4. Configuración de MariaDB.

De forma predeterminada, MariaDB no está reforzado. Puede asegurar MariaDB usando el mysql_secure_installation guion. Debe leer y seguir cada paso cuidadosamente, que establecerá la contraseña raíz, eliminará a los usuarios anónimos, no permitirá el inicio de sesión raíz remoto y eliminará la base de datos de prueba y accederá a MariaDB segura:

                      mysql_secure_installation
                    

Configúralo así:

                      - 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
                    

A continuación, debemos iniciar sesión en la consola de MariaDB y crear una base de datos para BoxBilling. Ejecute el siguiente comando:

                      mysql -u root -p
                    

Esto le pedirá una contraseña, así que ingrese su contraseña raíz de MariaDB y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para la instalación de 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
                    

Paso 5. Configurar Nginx.

Ahora creamos un nuevo VirtualHost para administrar mejor el sitio web de BoxBilling:

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

Agregue el siguiente archivo:

                      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/googlesyndication.com.access.log;
    error_log /var/log/nginx/googlesyndication.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;
     }
 }
                    

Guardar y close el archivo, luego reinicie el servidor web Nginx para que se realicen los cambios:

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

Ahora comenzará a instalar y configurar BoxBilling desde el navegador web:

                      https://billing.your-domain.com
                    

Una vez que se complete la instalación de Boxbilling, deberá eliminar el directorio ‘instalar’ y cambiar el permiso del archivo ‘ bb-config.php ‘, crea un nuevo cronjob para la aplicación BoxBilling:

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

A continuación, creamos un nuevo cronjob para el usuario ‘ www-data ‘. La aplicación BoxBilling se ejecuta principalmente bajo el servidor web Nginx con el usuario ‘ www-data ‘:

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

Paso 6. Acceso a la página de administración de BoxBilling.

Una vez instalado correctamente, abra un navegador web y vaya a https://boxbilling.your-domain/bb-admin/ y verás la siguiente pantalla admin página de inicio de sesión, ingrese su usuario y contraseña:

Instale BoxBilling en Debian 11 Bullseye

¡Felicidades! Ha instalado correctamente BoxBilling. Gracias por usar este tutorial para instalar la última versión de BoxBilling en Debian 11 Bullseye. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de BoxBilling .

Related Posts