GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Invoice Ninja su Ubuntu 16.04

Invoice Ninja è un software open source basato sul web per fatturazione, pagamenti, monitoraggio del tempo e molto altro. Puoi creare fatture online in pochi secondi, interagire con gateway di pagamento come Stripe, PayPal, WePay e altri. Invoice Ninja può mostrarti un'anteprima della fattura in tempo reale in formato PDF. Puoi modificare facilmente il logo dell'azienda nei modelli. Invoice Ninja è basato su PHP, costruito con Laravel Framework e può essere installato su Linux e Windows.

In questo tutorial, ti mostrerò come installare Invoice Ninja su Ubuntu 16.04. Userò Nginx come server web e MariaDB come sistema di database.

Prerequisito

  • Server Ubuntu 16.04.
  • Privilegi di root.

Passaggio 1:installa Nginx

In questo passaggio, installeremo il server web Nginx. Collegati al tuo server con il tuo account root ssh (o accedi con un altro utente e usa 'sudo -s' per diventare root) e aggiorna il repository.

ssh [email protected]
apt-get update

Installa Nginx con il comando apt di seguito:

apt-get install -y nginx

Al termine dell'installazione di nginx, avvia Nginx e aggiungilo all'avvio all'avvio.

systemctl start nginx
systemctl enable nginx

Assicurati che nginx sia in esecuzione. Controlla la porta utilizzata da nginx, la porta del server Web predefinita è 80.

netstat -plntu

Passaggio 2:installazione e configurazione del server MariaDB

Dopo aver installato Nginx, dobbiamo installare il pacchetto mariadb-server sul sistema. È disponibile nel repository di Ubuntu. Installa mariadb-server e le sue dipendenze con il comando seguente.

apt-get install -y mariadb-server

Al termine dell'installazione, avvia il servizio mariadb e abilitalo all'avvio all'avvio con questi comandi systemctl.

systemctl restart mysql
systemctl enable mysql

MariaDB è avviato, ora puoi impostare la password di root per mariadb con il comando seguente.

mysql_secure_installation

Imposta la tua nuova password di root 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

Quindi, prova a connetterti con la shell di mysql come utente root.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Vedrai la shell MySQL quando tutto ha funzionato correttamente.

Ora dobbiamo creare un nuovo database e un nuovo utente per Invoice Ninja. Creerò un nuovo database chiamato 'ninjadb ', un nuovo utente 'ninja ' con password 'aqwe123 '. Scegli una password diversa e sicura per la tua installazione!

Creali con la query MySQL di seguito. Crea un nuovo database, crea un nuovo utente e password, concedi il database al nuovo utente con una password.

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

MariaDB è stata installata e sono stati creati un nuovo database e un nuovo utente per Invoice Ninja.

Fase 3 - Installa e configura PHP7.0-FPM

Invoice Ninja è basato su PHP, quindi è necessario installare PHP nel sistema. Useremo PHP7.0-FPM per questa installazione di Invoice Ninja.

Installa PHP7.0-FPM e altre estensioni PHP necessarie a Invoice Ninja con il comando seguente.

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

Dopo l'installazione, vai alla directory di configurazione di PHP e modifica il file php.ini.

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

Decommenta la riga CGI sottostante e cambia il valore in 0.

cgi.fix_pathinfo=0

Salva ed esci.

Modifica il file php.ini nella directory cli.

vim cli/php.ini

Decommenta la riga CGI sottostante e cambia il valore in 0.

cgi.fix_pathinfo=0

Salva ed esci.

Quindi, avvia PHP7.0-FPM e abilitalo all'avvio all'avvio.

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

Per impostazione predefinita, PHP7.0-FPM è in esecuzione con un file socket, controllalo con il comando seguente e vedrai il file socket PHP come mostrato nello screenshot.

netstat -pl

PHP7.0-FPM e tutte le estensioni necessarie per Invoice Ninja sono installate.

Fase 4 - Installa e configura Invoice Ninja

In questo passaggio, scaricheremo e configureremo Invoice Ninja. Innanzitutto, installa unzip sul tuo sistema.

apt-get install -y unzip

Vai a '/var/www' directory e scarica il codice sorgente di Invoice Ninja con il comando wget.

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

Estrai il file zip di Invoice Ninja e vai nella directory 'ninja'.

unzip ninja-v3.1.0.zip
cd ninja/

Per il progetto Laravel, abbiamo bisogno di installare il gestore delle dipendenze del compositore per PHP. È disponibile nel repository di Ubuntu, quindi possiamo installarlo con il comando apt.

apt-get install -y composer

Quindi, installa le dipendenze di Invoice Ninja con il comando di composizione riportato di seguito.

composer install --no-dev -o
  • --no-dev :Disabilita l'installazione dei pacchetti require-dev
  • -o :ottimizza il caricatore automatico durante il dump del caricatore automatico

Al termine dell'installazione delle dipendenze, copia il file .env e modifica con vim.

cp .env.example .env
vim .env

Modifica il valore delle impostazioni del database di seguito.

DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123

Salva ed esci.

Quindi, modifica la configurazione del database nella directory config.

vim config/database.php

Stiamo usando il database MariaDB/MySQL, vai alla riga MySQL 55.

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

Sostituisci la password con quella che hai impostato per l'utente ninja!

Salva ed esci.

Tutti i file di configurazione vengono modificati. Quindi, migra il database con il comando seguente.

php artisan migrate

Ti verrà chiesto di eseguire il comando, digita ' ' e premi Invio.

Quindi, semina il database con tutti i record.

php artisan db:seed

Digita " ' e premi Invio per confermare.

Genera una nuova chiave dell'applicazione per il progetto Laravel Invoice Ninja.

php artisan key:generate

Vedrai la chiave dell'applicazione.

Modifica il file app.php con vim.

vim config/app.php

Vai alla riga APP_KEY 85 e incolla la chiave che abbiamo generato.

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

Salva ed esci.

Infine, cambia il proprietario di '/var/www/ninja ' in 'www-data ' utente e gruppo.

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

Invoice Ninja è configurato e pronto per l'installazione.

Passaggio 5 - Configura SSL e host virtuale

In questo passaggio, genereremo un file di certificato SSL con il comando OpenSSL e creeremo una nuova configurazione di host virtuale per Invoice Ninja. Se sei su un server attivo, puoi utilizzare un SSL gratuito da Let's Encrypt invece di generare un certificato SSL autofirmato con OpenSSL.

Crea un nuovo 'cert ' directory per i file SSL.

mkdir -p /etc/nginx/cert/

Esegui il comando openssl di seguito per generare i file del certificato.

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

Modifica l'autorizzazione dei file del certificato in "600".

chmod 600 /etc/nginx/cert/*

Quindi, vai alla directory Nginx e crea un nuovo file di configurazione dell'host virtuale chiamato 'ninja '.

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

Incolla la configurazione dell'host virtuale di seguito.

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;
    }
}

Salva ed esci.

Abilita l'host virtuale ninja e testa la configurazione di Nginx, assicurati che non ci siano errori.

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

Ora riavvia il server web nginx.

systemctl restart nginx

La configurazione dell'host virtuale Invoice Ninja è terminata.

Fase 6:completamento dell'installazione e test

Apri il tuo browser web e digita l'URL di Invoice Ninja:ninja.co. Verrai reindirizzato alla pagina di connessione e configurazione https.

Digita le Impostazioni dell'applicazione, Connessione al database, Impostazioni e-mail, Dettagli utente e controlla i Termini di servizio di Invoice Ninja.

Fai clic su "Invia ' e verrai reindirizzato alla pagina di accesso di Invoice Ninja.

Digita e-mail e password, quindi premi 'ACCEDI '.

Vedrai la dashboard di Invoice Ninja.

Pagina Impostazioni fattura Ninja.

Fattura Ninja installata con Nginx e MariaDB su Ubuntu 16.04.


Ubuntu
  1. Come installare PHP 7.4 / 7.3 / 7.2 su Ubuntu 18.04 / Ubuntu 16.04

  2. Come installare PHP 7 su Ubuntu 14.04

  3. Come installare PHP 7 su Ubuntu 15.04

  4. Come installare PHP 7.3 su Ubuntu 18.04

  5. Come installare Invoice Ninja su Ubuntu 18.04

Come installare GLPI su Ubuntu 20.04?

Come installare Invoice Ninja su Ubuntu 18.04 LTS

Come installare Invoice Ninja su Ubuntu 20.04 LTS

Come installare OwnCloud su Ubuntu 18.04

Come installare Joomla su Ubuntu 18.04

Come installare Invoice Ninja su Debian 10