GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Invoice Ninja na Ubuntu 16.04

Invoice Ninja je webový open source software pro fakturaci, platby, sledování času a mnoho dalšího. Můžete vytvářet faktury online během několika sekund, komunikovat s platebními bránami, jako je Stripe, PayPal, WePay a další. Faktura Ninja vám může ukázat živý náhled faktury ve formátu PDF. Logo společnosti v šablonách můžete snadno změnit sami. Invoice Ninja je založen na PHP, postavený s Laravel Framework a lze jej nainstalovat na Linux a Windows.

V tomto tutoriálu vám ukážu, jak nainstalovat Invoice Ninja na Ubuntu 16.04. Jako webový server použiji Nginx a jako databázový systém MariaDB.

Předpoklad

  • Server Ubuntu 16.04.
  • Oprávnění uživatele root.

Krok 1 – Instalace Nginx

V tomto kroku nainstalujeme webový server Nginx. Připojte se ke svému serveru pomocí svého ssh root účtu (nebo se přihlaste s jiným uživatelem a použijte 'sudo -s', abyste se stali rootem) a aktualizujte úložiště.

ssh [email protected]
apt-get update

Nainstalujte Nginx pomocí příkazu apt níže:

apt-get install -y nginx

Po dokončení instalace nginx spusťte Nginx a přidejte jej, aby se spustil při spouštění.

systemctl start nginx
systemctl enable nginx

Ujistěte se, že nginx běží. Zkontrolujte port používaný nginx, výchozí port webového serveru je 80.

netstat -plntu

Krok 2 – Instalace a konfigurace serveru MariaDB

Po instalaci Nginx musíme do systému nainstalovat balíček mariadb-server. Je k dispozici v úložišti Ubuntu. Nainstalujte mariadb-server a jeho závislosti pomocí příkazu níže.

apt-get install -y mariadb-server

Po dokončení instalace spusťte službu mariadb a povolte její spuštění při spouštění pomocí těchto příkazů systemctl.

systemctl restart mysql
systemctl enable mysql

MariaDB je spuštěna, nyní můžete nastavit root heslo pro mariadb pomocí příkazu níže.

mysql_secure_installation

Nastavte své nové root heslo MariaDB.

Set root password? [Y/n] Y
New password:
Re-enter new password:

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 zkuste připojit k mysql shell jako uživatel root.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Když vše fungovalo správně, uvidíte MySQL shell.

Nyní potřebujeme vytvořit novou databázi a nového uživatele pro Invoice Ninja. Vytvořím novou databázi s názvem 'ninjadb ', nový uživatel 'ninja ' s heslem 'aqwe123 '. Zvolte prosím jiné a bezpečné heslo pro vaši instalaci!

Vytvořte je pomocí níže uvedeného dotazu mysql. Vytvořte novou databázi, vytvořte nového uživatele a heslo, udělte databázi novému uživateli s heslem.

create database ninjadb;
create user [email protected] identified by 'aqwe123';
grant all privileges on ninjadb.* to [email protected] identified by 'aqwe123';
flush privileges;

MariaDB byla nainstalována a byla vytvořena nová databáze a uživatel pro Invoice Ninja.

Krok 3 – Instalace a konfigurace PHP7.0-FPM

Faktura Ninja je založena na PHP, takže musíme do systému nainstalovat PHP. Pro tuto instalaci Invoice Ninja použijeme PHP7.0-FPM.

Nainstalujte PHP7.0-FPM a další rozšíření PHP potřebná pro Invoice Ninja pomocí příkazu níže.

apt-get install -y php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-mbstring php7.0-mcrypt php7.0-curl php7.0-gmp

Po instalaci přejděte do konfiguračního adresáře PHP a upravte soubor php.ini.

cd /etc/php/7.0/
vim fpm/php.ini

Odkomentujte řádek CGI níže a změňte hodnotu na 0.

cgi.fix_pathinfo=0

Uložte a ukončete.

Upravte soubor php.ini v adresáři cli.

vim cli/php.ini

Odkomentujte řádek CGI níže a změňte hodnotu na 0.

cgi.fix_pathinfo=0

Uložte a ukončete.

Dále spusťte PHP7.0-FPM a povolte jeho spuštění při bootování.

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

Ve výchozím nastavení běží PHP7.0-FPM se souborem soketu, zkontrolujte jej pomocí příkazu níže a uvidíte soubor soketu PHP, jak je znázorněno na snímku obrazovky.

netstat -pl

Jsou nainstalovány PHP7.0-FPM a všechna rozšíření potřebná pro Invoice Ninja.

Krok 4 – Instalace a konfigurace Invoice Ninja

V tomto kroku si stáhneme a nakonfigurujeme Invoice Ninja. Nejprve nainstalujte unzip do vašeho systému.

apt-get install -y unzip

Přejděte na '/var/www' adresář a stáhněte si zdrojový kód Invoice Ninja pomocí příkazu wget.

cd /var/www/
wget https://download.invoiceninja.com/ninja-v3.1.0.zip

Rozbalte soubor zip Invoice Ninja a přejděte do adresáře 'ninja'.

unzip ninja-v3.1.0.zip
cd ninja/

Pro projekt Laravel potřebujeme nainstalovat správce závislostí skladatele pro PHP. Je k dispozici v úložišti Ubuntu, takže jej můžeme nainstalovat pomocí příkazu apt.

apt-get install -y composer

Dále nainstalujte závislosti Invoice Ninja pomocí příkazu skladatel níže.

composer install --no-dev -o
  • --no-dev :Zakáže instalaci balíčků require-dev
  • -o :Optimalizace automatického zavádění během automatického vypisování

Po dokončení instalace závislosti zkopírujte soubor .env a upravte jej pomocí vim.

cp .env.example .env
vim .env

Níže změňte hodnotu nastavení databáze.

DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123

Uložte a ukončete.

Dále upravte konfiguraci databáze v adresáři config.

vim config/database.php

Používáme databázi MariaDB/MySQL, přejděte na řádek MySQL 55.

'database'  => env('DB_DATABASE', 'ninjadb'),
'username'  => env('DB_USERNAME', 'ninja'),
'password'  => env('DB_PASSWORD', 'aqwe123'),

Nahraďte heslo heslem, které jste nastavili pro uživatele ninja!

Uložte a ukončete.

Všechny konfigurační soubory jsou upraveny. Dále proveďte migraci databáze pomocí příkazu níže.

php artisan migrate

Budete požádáni o spuštění příkazu, zadejte 'yes a stiskněte Enter.

Dále nasaďte databázi všemi záznamy.

php artisan db:seed

Zadejte „ano a stiskněte Enter pro potvrzení.

Vygenerujte nový klíč aplikace pro projekt Laravel Invoice Ninja.

php artisan key:generate

Uvidíte aplikační klíč.

Upravte soubor app.php pomocí vim.

vim config/app.php

Přejděte na řádek APP_KEY 85 a vložte klíč, který jsme vygenerovali.

'key' => env('APP_KEY', 'base64:0o5QLWbNeDCNer064+600Hl8oJ20OPCIymadKJQ1RGo='),

Uložte a ukončete.

Nakonec změňte vlastníka '/var/www/ninja ' do adresáře 'www-data ' uživatel a skupina.

cd /var/www/
chown -R www-data:www-data ninja/

Faktura Ninja je nakonfigurována a připravena k instalaci.

Krok 5 – Konfigurace SSL a virtuálního hostitele

V tomto kroku vygenerujeme soubor certifikátu SSL pomocí příkazu OpenSSL a vytvoříme novou konfiguraci virtuálního hostitele pro Invoice Ninja. Pokud jste na živém serveru, můžete místo generování certifikátu SSL s vlastním podpisem pomocí OpenSSL použít bezplatné SSL od Let's Encrypt.

Vytvořte nový 'certifikát ' adresář pro soubory SSL.

mkdir -p /etc/nginx/cert/

Spusťte níže uvedený příkaz openssl a vygenerujte soubory certifikátu.

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key

Změňte oprávnění souborů certifikátu na '600'.

chmod 600 /etc/nginx/cert/*

Dále přejděte do adresáře Nginx a vytvořte nový konfigurační soubor virtuálního hostitele s názvem 'ninja '.

cd /etc/nginx/
vim sites-available/ninja

Níže vložte konfiguraci virtuálního hostitele.

server {
    # Your Domain Name - hakase-labs.co
    listen      80;
    server_name ninja.co www.ninja.co;

    # Rewrite redirect to https
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    # Your Domain Name - hakase-labs.co
    listen      443 default;
    server_name ninja.co www.ninja.co;

    # Enable SSL for Invoice Ninja
    ssl on;
    ssl_certificate     /etc/nginx/cert/ninja.crt;
    ssl_certificate_key /etc/nginx/cert/ninja.key;
    ssl_session_timeout 5m;

    ssl_ciphers               'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    # Invoice Ninja web root files
    root /var/www/ninja/public;

    index index.html index.htm index.php;

    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 and Error Log for Invoice Ninja
    access_log  /var/log/nginx/ininja.access.log;
    error_log   /var/log/nginx/ininja.error.log;

    sendfile off;

    # Handle PHP Applications
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.0-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 ukončete.

Povolte virtuálního hostitele ninja a otestujte konfiguraci Nginx, ujistěte se, že nedošlo k chybě.

ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/
nginx -t

Nyní restartujte webový server nginx.

systemctl restart nginx

Konfigurace virtuálního hostitele Invoice Ninja je dokončena.

Krok 6 – Dokončení instalace a testování

Otevřete webový prohlížeč a zadejte adresu URL faktury ninja:ninja.co. Budete přesměrováni na stránku připojení https a nastavení.

Zadejte Nastavení aplikace, Připojení k databázi, Nastavení e-mailu, Podrobnosti uživatele a zkontrolujte TOS fakturačního ninja.

Klikněte na tlačítko Odeslat “ a budete přesměrováni na přihlašovací stránku Invoice Ninja.

Zadejte svůj e-mail a heslo a stiskněte tlačítko PŘIHLÁSIT '.

Zobrazí se panel Invoice Ninja Dashboard.

Stránka nastavení fakturačního ninji.

Faktura Ninja nainstalovaná s Nginx a MariaDB na Ubuntu 16.04.


Ubuntu
  1. Jak nainstalovat PHP 7.4 / 7.3 / 7.2 na Ubuntu 18.04 / Ubuntu 16.04

  2. Jak nainstalovat PHP 7 na Ubuntu 14.04

  3. Jak nainstalovat PHP 7 na Ubuntu 15.04

  1. Jak nainstalovat PHP 7.3 na Ubuntu 18.04

  2. Jak nainstalovat Invoice Ninja na Ubuntu 18.04

  3. Jak nainstalovat Invoice Ninja na Debian 9

  1. Jak nainstalovat R na Ubuntu 20.04

  2. Jak nainstalovat Go na Ubuntu 18.04

  3. Jak nainstalovat Magento 2 na Ubuntu 18.04