GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat BoxBilling na Debian 11

BoxBilling je komunitou řízený fakturační software napsaný v PHP. Je to bezplatná fakturace s otevřeným zdrojovým kódem navržená tak, aby byla snadno použitelná pro klienty i prodejce. BoxBilling poskytuje klientům skvělé prostředí s intuitivním rozhraním a také podporuje více platebních bran.

V tomto tutoriálu vám ukážeme, jak nainstalovat BoxBilling s Nginx, PHP-FPM a MariaDB na Debian 11 Bullseye.

Předpoklady

  • Server Debian 11 Bullseye.
  • Uživatel s právy sudo root.
  • Název domény nebo subdoména odkazující na adresu IP serveru. Zejména v produkčním prostředí.

Instalace a konfigurace PHP

Nejprve nainstalujete a nakonfigurujete PHP-FPM na vašem systému Debian. nejnovější verze BoxBilling vyžadovala PHP-FPM 7.4 nebo vyšší, což je výchozí verze PHP v úložišti Debianu.

Než začnete, obnovte index balíčků Debianu pomocí 'apt ' níže.

aktualizace sudo apt

Po isrefreshd úložiště spusťte následující příkaz k instalaci PHP-FPM se všemi dalšími rozšířeními pro BoxBilling.

sudo apt install php-fpm php-cli php-common php-zip php-mysql php-gd php-intl php-curl php-imap php-mbstring php-xml php-json libpcre3 openssl git unzip -y 

Po dokončení instalace PHP upravte soubor 'php.ini' pomocí nano editoru.

sudo nano /etc/php/7.4/fpm/php.ini
sudo nano /etc/php/7.4/cli/php.ini

Změňte možnost 'memory_limit ', 'max_execution_time “ a „date.timezone s vámi preferovaným prostředím. V tomto příkladu používáme server s 2 GB paměti RAM, takže alokujeme 'memory_limit ' pro PHP na '512 MB '. Pro 'data.timezone ', změňte ji podle svého časového pásma.

memory_limit =512 mil.
max_execution_time =360
date.timezone =Evropa/Paříž

Uložte soubor a ukončete.

Nyní restartujte službu PHP-FPM a použijte novou konfiguraci spuštěním 'systemctl ' níže.

sudo systemctl restart php7.4-fpm

Nakonec ověřte službu PHP-FPM pomocí příkazu níže.

sudo systemctl status php7.4-fpm

Výstup uvidíte, když je služba PHP-FPM aktivní.

Instalace Nginx a MariaDB

V tomto kroku budete instalovat webový server Nginx a databázi MariaDB. Aplikace BoxBilling vyžaduje minimálně MySQL v8, ale podporuje i jinou implementaci MySQL, jako je MariaDB.

Nainstalujte Nginx a MariaDB na server Debian 11 pomocí 'apt ' níže.

sudo apt install nginx-full mariadb-server -y

Po dokončení instalace Nginx a MariaDB spusťte následující příkaz a ověřte službu Nginx a službu MariaDB.

sudo systemctl status nginx
sudo systemctl status mariadb

Nyní byste měli získat výstup, protože služby Nginx a MariaDB jsou aktivní a běží.

Nastavení databáze MariaDB

Po instalaci MariaDB se doporučuje nastavit heslo root pro MariaDB. Budete používat příkaz 'mysql_secure_installation' k nastavení root hesla MariaDB a nasazení MariaDB se základním zabezpečením.

Spusťte příkaz 'mysql_secure_installation ' na vašem terminálovém serveru.

mysql_secure_installation

Nyní budete požádáni o zadání hesla root pro MariaDB. Stiskněte ENTER pokračovat, protože výchozí instalace MariaDB je dodávána bez hesla root.

Zadejte aktuální heslo pro root (zadejte žádné):
OK, úspěšně použité heslo, pokračujeme...

Nyní zadejte „Y ' pro přepnutí výchozího ověřování pro uživatele root na 'unix_socket_authentication ' metoda. To zajistí, že uživatel root bude vždy připojen k MariaDB z místního počítače.

Nastavení hesla uživatele root nebo použití unix_socket zajistí, že se nikdo
nemůže přihlásit k uživateli MariaDB root bez řádné autorizace.

Svůj účet root již máte chráněný, takže můžete bezpečně odpověď 'n'.

Přepnout na autentizaci unix_socket [A/n] Y
Úspěšně povoleno!
Opětovné načítání tabulek oprávnění...
 ... Úspěch!

Zadejte „Y ' pro změnu hesla uživatele root pro MariaDB a poté zadejte nové heslo pro MariaDB a opakujte.

Svůj účet root již máte chráněný, takže můžete bezpečně odpovědět 'n'.

Změnit heslo uživatele root? [A/n] A
Nové heslo:
Znovu zadejte nové heslo:
Heslo bylo úspěšně aktualizováno!
Opětovné načítání tabulek oprávnění...
 ... Úspěch!

Zadejte „Y ' k odstranění výchozího anonymního uživatele na MariaDB.

Ve výchozím nastavení má instalace MariaDB anonymního uživatele, který umožňuje komukoli
přihlásit se do MariaDB, aniž by pro něj musel
vytvářet uživatelský účet. Toto je určeno pouze pro testování a aby instalace
byla o něco plynulejší. Před přesunem do
produkčního prostředí byste je měli odstranit.

Odebrat anonymní uživatele? [A/n] A
 ... Úspěch!

Zadejte „Y ' pro zakázání vzdáleného přihlášení pro uživatele root.

Normálně by měl mít root povoleno připojení pouze z 'localhost'. To
zajišťuje, že někdo nemůže uhodnout heslo root ze sítě.

Zakázat vzdálené přihlášení root? [A/n] A
 ... Úspěch!

Zadejte „Y ' pro odstranění výchozí databáze 'test “ a všechna oprávnění k tomu.

Ve výchozím nastavení přichází MariaDB s databází s názvem 'test', ke které má 
přístup každý. Toto je také určeno pouze pro testování a mělo by být odstraněno
před přesunem do produkčního prostředí.

Odebrat testovací databázi a přístup k ní? [A/N] A
 – Ruší se testovací databáze...
 ... Úspěch!
 – Odebírání oprávnění k testovací databázi...
 ... Úspěch!

Nakonec znovu načtěte oprávnění tabulky na MariaDB, abyste použili nové změny.

Opětovné načtení tabulek oprávnění zajistí, že všechny dosud provedené změny
se okamžitě projeví.

Znovu načíst tabulky oprávnění nyní? [A/N] A
 ... Úspěch!

Uklízení...

A nakonfigurovali jste root heslo MariaDB a váš server MariaDB je nyní zabezpečen.

Vše hotovo! Pokud jste provedli všechny výše uvedené kroky, vaše
instalace MariaDB by nyní měla být zabezpečená.

Děkujeme, že používáte MariaDB!

Nastavení nové databáze a uživatele pro BoxBilling

V tomto kroku vytvoříte novou databázi a uživatele pro instalaci BoxBilling. Všechna data související s BoxBilling budou uložena v databázi MariaDB.

Nyní se přihlaste do prostředí MariaDB pomocí následujícího příkazu.

mysql -u root -p

Spuštěním následujících dotazů vytvořte novou databázi a uživatele 'boxbilling s heslem 'dbpassBoxBilling ', poté udělte všechna oprávnění k databázi 'boxbilling ' uživateli '[e-mail chráněn] '. Poté znovu načtěte všechna oprávnění tabulky, abyste mohli aplikovat nové změny na MariaDB.

VYTVOŘIT DATABÁZI boxbilling;
VYTVOŘIT UŽIVATELE [chráněno e-mailem] IDENTIFIKOVANÝM PODLE 'dbpassBoxBilling';
POSKYTNUTÍ VŠEM BOXBILINGU.* DO [chráněno e-mailem] S MOŽNOSTÍ UDĚLENÍ;
PROPLACHOVÁNÍ PRIVILEGIÍ;

Nyní zadejte „exit ' pro odhlášení z prostředí MariaDB. A vytvořili jste novou databázi MariaDB a uživatele pro instalaci BoxBilling.

Stahování zdrojového kódu BoxBilling

BoxBilling lze nainstalovat mnoha způsoby. Můžete nainstalovat nejnovější verzi BoxBilling ze zdrojového kódu a nainstalovat všechny PHP závislosti pomocí 'Composer', nebo si stáhnout stabilní verzi BoxBilling a přesunout ji do webového kořenového adresáře.

V tomto kroku nainstalujeme nejnovější stabilní verzi BoxBilling. V době psaní tohoto článku je nejnovější stabilní verze BoxBillingv4.22 .

Vytvořte nový webový kořenový adresář '/var/www/boxbilling “ a přesuňte do něj svůj pracovní adresář.

mkdir -p /var/www/boxbilling/
cd /var/www/boxbilling

Stáhněte si nejnovější stabilní verzi zdrojového kódu BoxBilling pomocí příkazu wget a rozbalte soubor 'BoxBilling.zip ' pomocí příkazu unzip.

wget https://github.com/boxbilling/boxbilling/releases/download/4.22.1.3/BoxBilling.zip
rozbalit Boxbilling.zip

Nyní vytvořte nový adresář 'cache “ a „nahrát ' na stránce '/var/www/boxbilling/ '.

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

Dále změňte vlastnictví '/var/www/boxbilling' do adresáře uživatele a skupiny 'www-data ' pomocí příkazu níže.

sudo chown -R www-data:www-data /var/www/boxbilling

Povolit uživateli 'www-data ' pro zápis do adresáře 'cache “ a „nahrát '.

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

A nyní jste připraveni nastavit webový server Nginx pro software BoxBilling.

Konfigurace Nginx pro BoxBilling

V tomto kroku přidáte nové bloky serveru Nginx pro BoxBilling. Před vytvořením konfigurace bloku serveru se ujistěte, že název domény ukazuje na server. Také se ujistěte, že máte vygenerované SSL certifikáty pro vaši doménu, můžete použít bezplatné SSL certifikáty od Letsencrypt.

Přesuňte svůj pracovní adresář do '/etc/nginx/sites-available a vytvořte novou konfiguraci bloků serveru 'boxbilling.conf pomocí nano editoru.

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

Zkopírujte a vložte následující konfiguraci. A nezapomeňte změnit název domény a cestu certifikátů SSL.

server {
    listen 80;
    název_serveru billing.example.io;
    return 302 https://$server_name$request_uri;
}

server {
  listen 443 ssl http2;

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

     název_serveru  billing.example.io;

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

  ssl_certificate /etc/letsencrypt/live/billing.example.io/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/billing.example.io/privkey.pem;

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

     umístění @rewrite {
         rewrite ^/(.*)$ /index.php?_url=/ $1;
     }

    umístění ~ \.php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7 .4-fpm.sock;
         include fastcgi_params;
         fastcgi_intercept_errors on;
    }

     # Zakázat spouštění PHP v bb-uploads a bb-data
umístění ^~ /bb-uploads/ { }
     umístění ^~ /bb-data/ {
       deny all;
     }

     umístění ~* ^/(css |img|js|flv|swf|download)/(.+)$ {
         root $root_path;
         vyprší;
         proxy_no_cache 1;
         proxy_cache_bypass 1;
     }

     umístění ~ /\.ht {
         odmítnout vše;
     }
     }
    /před>

Uložte soubor a ukončete.

Dále spusťte následující příkaz k aktivaci konfigurace bloku serveru 'boxbilling.conf a ověřte konfiguraci Nginx.

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

Pokud je vaše konfigurace Nginx správná, zobrazí se výstupní zpráva, jako je „Syntaxe OK '.

Nakonec restartujte službu Nginx, abyste použili novou konfiguraci.

sudo systemctl restart nginx

Instalace a konfigurace BoxBilling

V tomto okamžiku jste nakonfigurovali webový server BoxBilling a Nginx. Nyní začnete instalovat a konfigurovat BoxBilling z webového prohlížeče.

Otevřete webový prohlížeč a do adresního řádku zadejte název domény BoxBilling.

https://boxbilling.example.io/

Ujistěte se, že všechny požadavky mají zelenou barvu, což znamená, že váš systém splňuje požadavky na instalaci BoxBilling.

Zaškrtněte políčko Licence Souhlasím a klikněte na tlačítko DALŠÍ '.

Zadejte databázi a uživatele pro službu BoxBilling a klikněte na tlačítko DALŠÍ znovu.

Nyní zadejte nového administrátora, e-mail a heslo pro službu BoxBilling a klikněte na tlačítko DALŠÍ '.

A úspěšně jste nainstalovali BoxBilling, ale budete potřebovat další nastavení, která musíte použít pro server BoxBilling.

Klikněte na 'FINISH ' a tím jste dokončili instalaci BoxBilling.

Můžete se přesunout na domovskou stránku BoxBilling a zobrazí se vám podobná stránka jako níže.

Po instalaci BoxBilling

Po dokončení instalace Boxbillingu budete muset odstranit adresář 'install' a změnit oprávnění souboru 'bb-config.php', abyste mohli vytvořit nový cronjob pro aplikaci BoxBilling.

Odeberte BoxBilling 'install ' pomocí následujícího příkazu.

rm -rf /var/www/boxbilling/install

Změňte oprávnění souboru 'bb-config.php ' na 644 . To znamená, že do tohoto souboru může zapisovat pouze uživatel 'www-data'.

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

Nyní vytvořte nový cronjob pro uživatele „www-data“. Aplikace BoxBilling běží hlavně pod webovým serverem Nginx s uživatelem 'www-data '.

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

Zkopírujte a vložte následující skript.

*/5 * * * * php /var/www/boxbilling/bb-cron.php

Uložte cron a ukončete.

Nyní je váš BoxBilling připraven pro vaše klienty a zákazníky.

Přihlášení na stránku správce BoxBilling

Stránka pro správu BoxBilling se nachází na cestě URL '/bb-admin '. Do adresního řádku svého webového prohlížeče zadejte následující adresu URL.

https://boxbilling.example.io/bb-admin/

Na přihlašovací stránce správce BoxBilling zadejte své uživatelské jméno a heslo a klikněte na tlačítko 'PŘIHLÁSIT SE '.

Nyní uvidíte ovládací panel správce Boxbilling, jak je uvedeno níže.

Závěr

gratuluji! Nyní jste nainstalovali BoxBilling s PHP-FPM, Nginx a MariaDB na nejnovější bullseye Debian 11. Nyní jej můžete používat jako bezplatnou centrální správu nákupů se svými klienty a zákazníky.


Debian
  1. Jak nainstalovat MariaDB 10.x na Debian 11

  2. Jak nainstalovat TYPO3 na Debian 9

  3. Jak nainstalovat MariaDB na Debian 11

  1. Jak nainstalovat MariaDB na Debian 9

  2. Jak nainstalovat MariaDB na Debian 10

  3. Jak nainstalovat MariaDB na Debian 11

  1. Jak nainstalovat NextCloud na Debian 10

  2. Jak nainstalovat MariaDB 10.6 na Debian 11

  3. Jak nainstalovat MariaDB na Debian 8