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 -yPo 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.iniZměň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-fpmNakonec ověřte službu PHP-FPM pomocí příkazu níže.
sudo systemctl status php7.4-fpmVý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 -yPo 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 mariadbNyní 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_installationNyní 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 -pSpuš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/boxbillingStá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.zipNyní 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/boxbillingPovolit 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.confZkopí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 -tPokud 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/installZměň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.phpNyní 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 -eZkopírujte a vložte následující skript.
*/5 * * * * php /var/www/boxbilling/bb-cron.phpUlož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.
Jak nainstalovat TeamSpeak Server na Debian 11 Aktualizujte ISPConfig Perfect Server z Debian 10 na Debian 11Debian