GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Invoice Ninja na Ubuntu 20.04

Invoice Ninja je bezplatná online fakturační aplikace s otevřeným zdrojovým kódem pro nezávislé pracovníky a firmy, která vám pomůže přijímat platby, sledovat výdaje, vytvářet návrhy a časové úkoly. Je to samoobslužná fakturační aplikace velmi podobná aplikacím pro komerční faktury, jako je Freshbooks. Umožňuje vám vytvořit si vlastní fakturu a odeslat ji online během sekundy.

Invoice Ninja je velmi užitečný pro malé a středně velké podniky. Pokud hledáte bezpečný a snadno použitelný fakturační software, pak je pro vás Invoice Ninja tou nejlepší volbou.

V tomto tutoriálu vám ukážeme, jak nainstalovat Invoice Ninja pomocí Apache a Let's Encrypt SSL na serveru Ubuntu 20.04.

Předpoklady

  • Server se systémem Ubuntu 20.04.
  • Platný název domény s adresou IP vašeho serveru.
  • Na serveru je nakonfigurováno heslo uživatele root.

Začínáme

Nejprve se doporučuje aktualizovat systémové balíčky na nejnovější verzi. Chcete-li aktualizovat všechny balíčky, spusťte následující příkaz:

apt-get update -y

Jakmile jsou všechny balíčky aktualizovány, nainstalujte další požadované závislosti pomocí následujícího příkazu:

apt-get install software-properties-common apt-transport-https ca-certificates gnupg2 -y

Jakmile jsou všechny závislosti nainstalovány, můžete přejít k dalšímu kroku.

Instalovat LAMP Server

Dále budete muset do systému nainstalovat Apache, MariaDB a PHP. Nejprve nainstalujte balíčky Apache a MariaDB pomocí následujícího příkazu:

apt-get install apache2 mariadb-server -y

Po instalaci obou balíčků budete muset do systému nainstalovat PHP verze 7.2 a další rozšíření.

Ve výchozím nastavení se Ubuntu 20.04 dodává s verzí PHP 7.4. Budete tedy muset do svého systému přidat repozitář Ondřej.

Repozitář PHP Ondřej můžete přidat pomocí následujícího příkazu:

add-apt-repository ppa:ondrej/php

Po přidání úložiště nainstalujte PHP a další rozšíření pomocí následujícího příkazu:

apt-get install php7.2 libapache2-mod-php7.2 php-imagick php7.2-fpm php7.2-mysql php7.2-common php7.2-gd php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp unzip -y

Po instalaci všech balíčků ověřte nainstalovanou verzi PHP pomocí následujícího příkazu:

php -v

Měli byste vidět následující výstup:

PHP 7.2.34-8+ubuntu20.04.1+deb.sury.org+1 (cli) (built: Oct 31 2020 16:57:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34-8+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Konfigurace databáze MariaDB

Dále budete muset vytvořit databázi a uživatele pro Invoice Ninja. Nejprve se přihlaste do konzoly MariaDB pomocí následujícího příkazu:

mysql

Po přihlášení vytvořte databázi a uživatele pomocí následujícího příkazu:

MariaDB [(none)]> create database invoicedb;
MariaDB [(none)]> create user [email protected] identified by 'password';

Dále udělte všechna oprávnění fakturační databázi pomocí následujícího příkazu:

MariaDB [(none)]> grant all privileges on invoicedb.* to [email protected];

Dále vyprázdněte oprávnění a ukončete konzolu MariaDB pomocí následujícího příkazu:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Install Invoice Ninja

Nejprve si stáhněte nejnovější verzi Invoice Ninja z jejích oficiálních stránek:

wget -O invoice-ninja.zip https://download.invoiceninja.com/

Po dokončení stahování rozbalte stažený soubor do kořenového adresáře Apache pomocí následujícího příkazu:

unzip invoice-ninja.zip -d /var/www/html/

Dále nastavte správná oprávnění a vlastnictví pomocí následujícího příkazu:

chown -R www-data:www-data /var/www/html/ninja
chmod -R 755 /var/www/html/ninja

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Konfigurovat Apache pro Invoice Ninja

Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro Invoice Ninja. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/apache2/sites-available/ninja.conf

Přidejte následující řádky:

<VirtualHost *:80>
    ServerName invoice.example.com
    DocumentRoot /var/www/html/ninja/public
    <Directory /var/www/html/ninja/public>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/invoice-ninja.error.log
    CustomLog ${APACHE_LOG_DIR}/invoice-ninja.access.log combined

    Include /etc/apache2/conf-available/php7.2-fpm.conf
</VirtualHost>

Uložte a zavřete soubor a poté povolte soubor virtuálního hostitele pomocí následujícího příkazu:

a2ensite ninja.conf

Dále povolte požadované moduly Apache pomocí následujícího příkazu:

a2enmod mpm_event proxy_fcgi setenvif
a2enmod rewrite

Nakonec restartujte službu Apache, aby se změny projevily:

systemctl restart apache2

Nyní můžete ověřit stav Apache pomocí následujícího příkazu:

systemctl status apache2

Měli byste získat 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 Sun 2020-12-27 07:15:15 UTC; 11s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 25097 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 25113 (apache2)
      Tasks: 55 (limit: 2353)
     Memory: 5.3M
     CGroup: /system.slice/apache2.service
             ??25113 /usr/sbin/apache2 -k start
             ??25114 /usr/sbin/apache2 -k start
             ??25115 /usr/sbin/apache2 -k start

Dec 27 07:15:15 ubuntu systemd[1]: Starting The Apache HTTP Server..

V tomto okamžiku je Apache nakonfigurován tak, aby obsluhoval Invoice Ninja. Nyní můžete přejít k dalšímu kroku.

Přístup k faktuře ninja

Nyní otevřete webový prohlížeč a přejděte k Invoice Ninja pomocí adresy URL http://invoice.example.com . Budete přesměrováni na následující stránku:

Zadejte adresu URL svého webu, podrobnosti o databázi, uživatelské jméno správce, heslo a klikněte na Odeslat knoflík. Budete přesměrováni na přihlašovací obrazovku Invoice Ninja:

Zadejte své administrátorské uživatelské jméno, heslo a klikněte na PŘIHLÁSIT knoflík. Na následující obrazovce byste měli vidět řídicí panel Invoice Ninja:

Zabezpečte fakturu Ninja pomocí 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 2020-10-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

Nyní můžete na svůj web přistupovat bezpečně pomocí adresy URL https://invoice.example.com.

Závěr

Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Invoice Ninja pomocí Let's Encrypt SSL na serveru Ubuntu 20.04. Nyní můžete prozkoumat Invoice Ninja pro další funkce a nasadit jej v produkčním prostředí. Pokud máte nějaké dotazy, neváhejte se mě zeptat.


Ubuntu
  1. Jak nainstalovat Invoice Ninja na Ubuntu 18.04

  2. Jak nainstalovat Invoice Ninja na Debian 9

  3. Jak nainstalovat MongoDB na Ubuntu 20.04

  1. Jak nainstalovat Logstash na Ubuntu 18.04

  2. Jak nainstalovat XWiki na Ubuntu 20.04

  3. Jak nainstalovat R na Ubuntu 18.04

  1. Jak nainstalovat Invoice Ninja na Ubuntu 16.04

  2. Jak nainstalovat Syncthing na Ubuntu 20.04

  3. Jak nainstalovat phpBB na Ubuntu 20.04