InvoicePlane je bezplatná, open-source a samostatně hostovaná aplikace pro správu vašich nabídek, faktur, klientů a plateb. Používá jej mnoho organizací a nezávislých pracovníků ke správě jejich plateb a faktur. Nabízí vlastní šablony, motivy a další nástroje, které vám pomohou zvýšit funkčnost InvoicePlane. Podporuje také více jazyků a více poskytovatelů plateb, jako je Paypal, Stripe nebo dokonce bitcoiny prostřednictvím Coinbase.
V tomto tutoriálu vám ukážeme, jak nainstalovat InvoicePlane s Apache na Debian 11.
Předpoklady
- Server se systémem Debian 11.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat Apache, PHP a MariaDB
Nejprve budete muset nainstalovat webový server Apache, databázový server MariaDB, PHP a další požadovaná rozšíření PHP na váš server. Všechny je můžete nainstalovat spuštěním následujícího příkazu:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql wget unzip php-cli php-zip php-curl -y
Jakmile jsou všechny balíčky nainstalovány, upravte konfigurační soubor PHP a změňte výchozí nastavení:
nano /etc/php/7.4/apache2/php.ini
Změňte následující řádky:
memory_limit = 256M upload_max_filesize = 128M max_execution_time = 360 date.timezone = UTC
Uložte a zavřete soubor a poté restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Vytvoření databáze pro InvoicePlane
Dále budete muset zabezpečit instalaci MariaDB a vytvořit databázi a uživatele pro InvoicePlane.
Nejprve zabezpečte instalaci MariaDB pomocí následujícího příkazu:
mysql_secure_installation
Odpovězte na všechny otázky, jak je uvedeno níže:
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
Dále se připojte k prostředí MariaDB pomocí následujícího příkazu:
mysql -u root -p
Jakmile se připojíte, vytvořte databázi a uživatele pro InvoicePlane pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE invplanedb;
MariaDB [(none)]> CREATE USER 'invplane'@'localhost' IDENTIFIED BY 'password';
Dále udělte všechna oprávnění InvoicePlane pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON invplanedb.* TO 'invplane'@'localhost';
Dále spusťte příkaz FLUSH PRIVILEGES, aby MariaDB znovu načetla tabulku oprávnění:
MariaDB [(none)]> FLUSH PRIVILEGES;
Nakonec ukončete prostředí MariaDB:
MariaDB [(none)]> EXIT
Instalovat InvoicePlane
Nejprve si stáhněte nejnovější verzi InvoicePlane pomocí následujícího příkazu:
wget -c -O v1.5.11.zip https://invoiceplane.com/download/v1.5.11
Po dokončení stahování vytvořte adresář pro InvoicePlane a rozbalte stažený soubor do adresáře InvoicePlane:
mkdir /var/www/html/invoiceplane
unzip v1.5.11.zip -d /var/www/html/invoiceplane
Dále přejděte do adresáře InvoicePlane a přejmenujte konfigurační soubor a soubor .htaccess:
cd /var/www/html/invoiceplane
cp ipconfig.php.example ipconfig.php
cp htaccess .htaccess
Dále upravte soubor ipconfig.php pomocí následujícího příkazu:
nano ipconfig.php
Definujte URL svého webu a nastavení databáze, jak je uvedeno níže:
IP_URL=http://invoice.example.com DB_HOSTNAME=localhost DB_USERNAME=invplane DB_PASSWORD=password DB_DATABASE=invplanedb DB_PORT=3306
Dále nastavte správná oprávnění a vlastnictví adresáře InvoicePlane:
chown -R www-data:www-data /var/www/html/invoiceplane/
chmod -R 755 /var/www/html/invoiceplane/
Konfigurace Apache pro InvoicePlane
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro InvoicePlane. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/apache2/sites-available/invoiceplane.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/invoiceplane ServerName invoice.example.com <Directory /var/www/html/invoiceplane/> Options +FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Uložte a zavřete soubor a poté aktivujte modul virtuálního hostitele Apache a přepis pomocí následujícího příkazu:
a2ensite invoiceplane.conf
a2enmod rewrite
Poté restartujte službu Apache, abyste použili změny konfigurace:
systemctl restart apache2
Chcete-li ověřit stav Apache, spusťte následující příkaz:
systemctl status apache2
Získáte následující výstup:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-01-21 08:42:34 UTC; 5s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 15965 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 15970 (apache2) Tasks: 6 (limit: 2341) Memory: 15.1M CPU: 82ms CGroup: /system.slice/apache2.service ??15970 /usr/sbin/apache2 -k start ??15971 /usr/sbin/apache2 -k start ??15972 /usr/sbin/apache2 -k start ??15973 /usr/sbin/apache2 -k start ??15974 /usr/sbin/apache2 -k start ??15975 /usr/sbin/apache2 -k start Jan 21 08:42:34 debian11 systemd[1]: Starting The Apache HTTP Server...
Přístup k webovému uživatelskému rozhraní InvoicePlane
Nyní otevřete webový prohlížeč a přejděte do webového rozhraní InvoicePlane pomocí adresy URL http://invoice.example.com . Měli byste vidět následující stránku:
Klikněte na Nastavení knoflík. Měli byste vidět stránku Výběr jazyka:
Vyberte jazyk a klikněte na tlačítko Pokračovat knoflík. Měli byste vidět stránku s požadavky:
Klikněte na tlačítko Pokračovat knoflík. Měli byste vidět následující stránku:
Klikněte na tlačítko Pokračovat knoflík. Měli byste vidět následující stránku:
Klikněte na tlačítko Pokračovat knoflík. Měli byste vidět následující stránku:
Zadejte informace o svém uživatelském účtu správce, adresu a klikněte na Pokračovat knoflík. Po instalaci InvoicePlane byste měli vidět následující stránku:
Klikněte na Přihlásit knoflík. Měli byste vidět následující stránku:
Zadejte své uživatelské jméno a heslo správce a poté klikněte na Přihlásit knoflík. Na následující stránce byste měli vidět řídicí panel InvoicePlane:
Secure InvoicePlane s Let's Encrypt SSL
Vždy je dobré zabezpečit svůj web pomocí Let's Encrypt SSL. Chcete-li nainstalovat a spravovat SSL, budete muset nainstalovat klienta Certbot. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install python3-certbot-apache -y
Jakmile je Certbot nainstalován, spusťte následující příkaz k zabezpečení svého webu pomocí Let's Encrypt SSL:
certbot --apache -d invoice.example.com
Budete požádáni, abyste poskytli svůj e-mail a přijali podmínky služby, jak je uvedeno níže:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for invoice.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/invoice-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/invoice-le-ssl.conf Enabling available site: /etc/apache2/sites-available/invoice-le-ssl.conf
Dále vyberte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Napište 2 a stiskněte Enter pro instalaci Let's Encrypt SSL pro váš web:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/invoice.conf to ssl vhost in /etc/apache2/sites-available/invoice-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://invoice.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=invoice.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/invoice.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/invoice.example.com/privkey.pem Your cert will expire on 2022-04-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Závěr
Gratulujeme! úspěšně jste nainstalovali InvoicePlane s Apache a Let's Encrypt SSL na Debian 11. Nyní můžete implementovat InvoicePlane ve své společnosti a začít spravovat své platby a faktury z webového prohlížeče.