GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat InvoiceNinja na server Ubuntu 18.04 s Apache/Nginx

Tento tutoriál vám ukáže, jak nainstalovat InvoiceNinja na Ubuntu 18.04 s webovým serverem Apache nebo Nginx. InvoiceNinja je open source software pro faktury s vlastním hostitelem, nízkonákladová alternativa ke komerčním online fakturačním platformám, jako je Freshbooks. InvoiceNinja poskytuje hostovanou fakturační službu, ale pokud chcete software hostovat sami, můžete postupovat podle pokynů níže.

Funkce InvoiceNinja

  • Se službou InvoiceNinja můžete svým klientům posílat faktury pomocí vlastního názvu domény a značky.
  • Spravujte fakturaci pro více firem pod jedním účtem.
  • Ušetřete čas automatickým fakturováním dlouhodobých klientů pomocí opakujících se faktur.
  • Snadno vytvářejte a posílejte svým zákazníkům krásné návrhy.
  • Připojte k fakturám soubory třetích stran.
  • Vytvářejte úkoly projektu a sledujte čas.
  • Organizujte a plánujte práci svých klientů pomocí nástroje pro vizuální správu projektů.
  • Umožněte svým klientům vidět všechny transakce s vámi jedním pohledem.
  • Automatizace Zapier vám umožňuje přenášet data mezi vaším fakturačním účtem a oblíbenými aplikacemi, jako jsou Gmail, Tabulky Google, QuickBooks Online, Slack, Pipeline, MailChimp a stovky dalších.
  • Požadujte znovu a znovu zálohy a částečné platby pomocí stejné faktury.
  • Použijte předem napsanou sekvenci e-mailů s automatickým připomenutím, abyste klientům připomněli, že je třeba zaplatit fakturu.
  • Dostávat upozornění, když si klient prohlédne a zaplatí vaši fakturu.
  • A mnoho dalších

Předpoklady

Nejprve potřebujete linuxový server s alespoň 512 MB RAM. Kliknutím na tento speciální odkaz získáte kredit 100 $ zdarma na DigitalOcean. (Pouze pro nové uživatele). Pokud již jste uživatelem DigitalOcean, můžete kliknout na tento speciální odkaz a získat kredit 50 $ zdarma na Vultr (pouze pro nové uživatele). Jakmile budete mít účet u DigitalOcean nebo Vultr, nainstalujte si Ubuntu 18.04 na svůj server a postupujte podle pokynů níže.

InvoiceNinja vyžaduje PHP a MySQL/MariaDB. Abyste mohli postupovat podle tohoto návodu, měli byste již nastavit zásobník LAMP nebo zásobník LEMP. Pokud jste tak ještě neučinili, použijte prosím jeden z následujících průvodců.

  • Jak nainstalovat zásobník LAMP (Apache, MariaDB, PHP) na Ubuntu 18.04
  • Jak nainstalovat zásobník LEMP (Nginx, MariaDB, PHP) na Ubuntu 18.04

A také potřebujete název domény, aby vaši klienti viděli fakturu prostřednictvím názvu vaší domény. Zaregistroval jsem své doménové jméno na NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.

Nyní nainstalujme InvoiceNinja.

Krok 1:Stáhněte si InvoiceNinja Instalace souboru Zip na server Ubuntu 18.04

Přihlaste se na svůj server Ubuntu 18.04 přes SSH. Poté spusťte následující příkaz ke stažení nejnovější verze zip souboru InvoiceNinja na váš server.

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

Po stažení rozbalte archiv pomocí unzip .

sudo apt install unzip

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

-d volba určuje cílový adresář. Webové soubory InvoiceNinja budou extrahovány do /var/www/ninja . Pro lepší identifikaci každého adresáře jej můžete přejmenovat na fakturu-ninja.

sudo mv /var/www/ninja /var/www/invoice-ninja

Potom musíme změnit vlastníka tohoto adresáře na www-data aby webový server mohl zapisovat do tohoto adresáře.

sudo chown www-data:www-data /var/www/invoice-ninja/ -R

Musíme také změnit oprávnění storage adresář.

sudo chmod 755 /var/www/invoice-ninja/storage/ -R

Krok 2:Vytvořte databázi a uživatele v MariaDB

Přihlaste se k databázovému serveru MariaDB pomocí následujícího příkazu. Protože MariaDB nyní používá unix_socket plugin pro ověření přihlášení uživatele, není nutné zadávat root heslo MariaDB. Potřebujeme pouze předponu mysql příkaz pomocí sudo .

sudo mysql

Poté vytvořte databázi pro Invoice Ninja. Tento tutoriál pojmenuje databázi invoiceninja . Můžete použít jakékoli jméno.

create database invoiceninja;

Vytvořte uživatele databáze. Opět můžete pro tohoto uživatele použít preferované jméno. Nahraďte your-password s vaším preferovaným heslem.

create user ninja@localhost identified by 'your-password';

Udělte tomuto uživateli všechna oprávnění k invoiceninja databáze.

grant all privileges on invoiceninja.* to ninja@localhost;

Vyprázdněte oprávnění a ukončete.

flush privileges;

exit;

Krok 3:Nastavení webového serveru

Můžeme použít webový server Apache nebo Nginx.

Apache

Pokud dáváte přednost Apache, vytvořte virtuální hostitelský soubor pro Invoice Ninja.

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

Do souboru vložte následující text. Nahraďte červeně zbarvený text svými skutečnými daty. Nezapomeňte pro název domény nastavit záznam A. (Všimněte si, že webový kořenový adresář je nastaven na /var/www/invoice-ninja/public/ , nikoli /var/www/invoice-ninja/ )

<VirtualHost *:80>
    ServerName invoice.yourdomain.com
    DocumentRoot /var/www/invoice-ninja/public

    <Directory /var/www/invoice-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

</VirtualHost>

Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.

sudo a2ensite invoice-ninja.conf

Musíme povolit modul přepisování.

sudo a2enmod rewrite

Restartujte Apache, aby se změny projevily.

sudo systemctl restart apache2

Nyní navštivte invoice.yourdomain.com a budete přesměrováni na stránku průvodce nastavením Invoice Ninja (invoice.yourdomain.com/setup ). Pokud místo průvodce nastavením vidíte výchozí stránku Apache, musíte výchozí virtuální hostitel zakázat.

sudo a2dissite 000-default.conf

A restartujte Apache.

Před zadáním jakýchkoli informací do průvodce nastavením musíme povolit HTTPS.

Nginx

Pokud dáváte přednost Nginxu, vytvořte invoice-ninja.conf soubor v /etc/nginx/conf.d/ adresář.

sudo nano /etc/nginx/conf.d/invoice-ninja.conf

Do souboru vložte následující text. Nahraďte červeně zbarvený text svými skutečnými daty. Nezapomeňte pro název domény nastavit záznam A. (Všimněte si, že webový kořenový adresář je nastaven na /var/www/invoice-ninja/public/ , nikoli /var/www/invoice-ninja/ )

server {
    listen      80;
    server_name invoice.yourdomain.com;

    root /var/www/invoice-ninja/public/;
    index index.php index.html index.htm;
    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log  /var/log/nginx/invoiceninja.access.log;
    error_log   /var/log/nginx/invoiceninja.error.log;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
    }

    location ~ /\.ht {
        deny all;
    }
}

Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.

sudo systemctl reload nginx

Nyní navštivte invoice.yourdomain.com a budete přesměrováni na stránku průvodce nastavením Invoice Ninja (invoice.yourdomain.com/setup ). Před zadáním jakýchkoli informací do průvodce nastavením musíme povolit HTTPS.

Krok 4:Povolení HTTPS

Pro šifrování HTTP provozu můžeme povolit HTTPS instalací bezplatného TLS certifikátu vydaného od Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na server Ubuntu 18.04.

sudo apt install certbot

Pokud používáte Nginx, musíte si také nainstalovat plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d invoice.yourdomain.com

Pokud používáte Apache, nainstalujte si plugin Certbot Apache.

sudo apt install python3-certbot-apache

A spusťte tento příkaz, abyste získali a nainstalovali certifikát TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d invoice.yourdomain.com

Kde

  • --nginx :Použijte plugin nginx.
  • --apache :Použijte plugin Apache.
  • --agree-tos :Souhlas se smluvními podmínkami.
  • --redirect :Vynutit HTTPS přesměrováním 301.
  • --hsts :Ke každé odpovědi HTTP přidejte záhlaví Strict-Transport-Security. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.
  • --staple-ocsp : Povoluje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.

Certifikát by nyní měl být získán a automaticky nainstalován.

Krok 5:Instalace modulů PHP

Spuštěním následujících příkazů nainstalujte moduly PHP požadované nebo doporučené InvoiceNinja.

sudo apt install php-imagick 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

Poté restartujte Apache. (Pokud používáte Nginx, nemusíte Nginx restartovat.)

sudo systemctl restart apache2

Pokud tyto moduly nejsou nainstalovány, zobrazí se po přihlášení následující chyba.

Whoops, looks like something went wrong.

Krok 6:Dokončete instalaci pomocí průvodce nastavením

Nyní přejděte na invoice.yourdomain.com a zadejte informace o databázi, nastavení SMTP a vytvořte uživatele admin.

Chcete-li k odesílání e-mailů klientům používat svůj vlastní poštovní server, přečtěte si prosím následující článek o nastavení vlastního poštovního serveru. Poznámka že vřele doporučuji provozovat poštovní server iRedMail na čerstvém čistém OS. Instalace iRedMail na OS, který má jiné webové aplikace, může selhat a pravděpodobně přerušit stávající aplikace.

  • Jak snadno nastavit plně vybavený poštovní server na Ubuntu 18.04 pomocí iRedMail

Při používání vlastního e-mailového serveru máte na výběr dva ovladače:SMTP a Sendmail .

  • Vyberte SMTP pokud váš poštovní server a Invoice Ninja běží na dvou různých hostitelích.
  • Vyberte Sendmail pokud váš poštovní server a Invoice Ninja běží na stejném hostiteli.

Pokud zvolíte SMTP , použijte nastavení jako níže.

  • hostitel :mail.yourdomain.com  port :587   Šifrování :TLS. A zadejte své uživatelské jméno a heslo.

Pokud zvolíte Sendmail , použijte nastavení jako níže.

  • hostitel :127.0.0.1   port :25    Šifrování :žádný. Nemusíte zadávat uživatelské jméno ani heslo.

Po vytvoření uživatele admin se můžete přihlásit do InvoiceNinja.

Nastavení úloh Cron

Potřebujeme nastavit úlohy Cron pro zasílání opakujících se faktur a e-mailových upomínek. Upravte soubor crontab uživatele root.

sudo crontab -e

Přidejte následující řádky na konec tohoto souboru.

#InvoiceNinja
0 8 * * * /usr/bin/php7.2 /var/www/invoice-ninja/artisan ninja:send-invoices > /dev/null
0 8 * * * /usr/bin/php7.2 /var/www/invoice-ninja/artisan ninja:send-reminders > /dev/null

Uložte a zavřete soubor. Tyto dvě úlohy Cron poběží každý den v 8:00. Můžete také ručně spustit úlohu, jak je uvedeno níže.

sudo /usr/bin/php7.2 /var/www/invoice-ninja/artisan ninja:send-invoices

Odstranění značky Invoice Ninja

Ve výchozím nastavení bude vaše faktura mít značku Invoice Ninja, můžete si zakoupit licenci s bílým štítkem za 30 $ ročně a odstranit značku Invoice Ninja z faktury a klientského portálu. Přejděte do settings -> Invoice Design , klikněte na white-label odkaz v dolní části k nákupu.

Závěr

Doufám, že vám tento návod pomohl nainstalovat Invoice Ninja na server Ubuntu 18.04. Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje, kde získáte další tipy a triky. Opatruj se 🙂


Ubuntu
  1. Jak nainstalovat Nginx na Ubuntu 20.04

  2. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 16.04

  3. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 20.04

  1. Jak nainstalovat Jenkins Automation Server s Apache na Ubuntu 16.04

  2. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  3. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  1. Jak nainstalovat Jenkins Automation Server s Apache na Ubuntu 18.04

  2. Jak nainstalovat Jellyfin Media Server s Nginx na Ubuntu 20.04

  3. Jak nainstalovat FileRun na Ubuntu 20.04 s Apache/Nginx