In questo tutorial vedremo come installare Invoice Ninja su un VPS Debian 7 (Wheezy) con MariaDB, PHP-FPM e Nginx. Invoice Ninja è una soluzione open source gratuita per la fatturazione e la fatturazione dei clienti ed è basata sul framework Laravel 4.1. Questa guida dovrebbe funzionare anche su altri sistemi VPS Linux, ma è stata testata e scritta per Debian 7 VPS.
Vuoi ottenere un hosting completamente gestito per il tuo account InvoiceNinja? Offriamo migrazione, installazione, ottimizzazione e personalizzazione complete – 100% gratis! Dai un'occhiata ai nostri pacchetti di hosting VPS premium e convenienti e passa a un server più sicuro ed efficiente con un'assistenza clienti straordinaria 24 ore su 24, 7 giorni su 7, 265 giorni all'anno.
Visita i tutorial aggiornati:
Come installare Invoice Ninja su CentOS 7
Come installare Invoice Ninja su Debian 9
Accedi al tuo VPS tramite SSH
ssh user@myVPS
Aggiorna il sistema e installa i pacchetti necessari
user@myVPS:~# sudo apt-get update && sudo apt-get -y upgrade user@myVPS:~# sudo apt-get install python-software-properties git curl openssl vim
Installa MariaDB 10.0
user@myVPS:~# sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db user@myVPS:~# sudo add-apt-repository 'deb http://mirror.jmu.edu/pub/mariadb/repo/10.0/debian wheezy main' user@myVPS:~# sudo apt-get update user@myVPS:~# sudo apt-get install mariadb-server
Al termine dell'installazione, eseguire il comando seguente per proteggere l'installazione:
mysql_secure_installation
Successivamente, dobbiamo creare un database per la nostra istanza Invoice Ninja.
mysql -uroot -p MariaDB [(none)]> CREATE DATABASE ininja; MariaDB [(none)]> GRANT ALL PRIVILEGES ON ininja.* TO 'ininjauser'@'localhost' IDENTIFIED BY 'ininjauser_passwd'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
Installa e configura PHP e Nginx
Le ultime versioni di Nginx 1.6.2 e PHP 5.6 non sono disponibili tramite i repository Debian predefiniti, quindi aggiungeremo il repository Dotdeb. Apri il /etc/apt/sources.list
archiviare e aggiungere le seguenti righe:
user@myVPS:~# sudo vim /etc/apt/sources.list
deb http://packages.dotdeb.org wheezy all deb http://packages.dotdeb.org wheezy-php56 all
Quindi, recupera e installa la chiave GnuPG:
user@myVPS:~# wget -qO - http://www.dotdeb.org/dotdeb.gpg | sudo apt-key add -
Aggiorna il sistema e installa Nginx, PHP e tutte le estensioni necessarie:
user@myVPS:~# sudo apt-get update user@myVPS:~# sudo apt-get install nginx php5-fpm php5-cli php5-mcrypt php5-gd php5-curl user@myVPS:~# sudo php5enmod mcrypt
Installa il compositore
Composer è un gestore delle dipendenze per PHP con il quale puoi installare pacchetti. Composer inserirà tutte le librerie e le dipendenze necessarie per il tuo progetto.
user@myVPS:~# curl -sS https://getcomposer.org/installer | php user@myVPS:~# sudo mv composer.phar /usr/local/bin/composer
Installa Fattura Ninja
Crea una directory principale per la tua applicazione.
user@myVPS:~# mkdir -p ~/your_ininja_site
Clona il repository del progetto da GitHub:
user@myVPS:~# git clone https://github.com/hillelcoren/invoice-ninja.git ~/your_ininja_site user@myVPS:~# cd ~/your_ininja_site
Installa tutte le dipendenze:
user@myVPS:~# composer install --no-dev -o
Imposta l'ambiente in produzione:
user@myVPS:~# cp bootstrap/environment.default.php bootstrap/environment.php
user@myVPS:~# vim bootstrap/environment.php
Apri il file database.php e modifica le impostazioni del database:
user@myVPS:~# vim config/database.php
'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'ininja', 'username' => 'ininjauser', 'password' => 'ininjauser_passwd', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ),
Esegui le migrazioni del database e avvia il database con dati di esempio:
user@myVPS:~# php artisan migrate user@myVPS:~# php artisan db:seed
Genera una nuova chiave dell'applicazione:
user@myVPS:~# php artisan key:generate
user@myVPS:~# vim app/config/app.php
'key' => 'iL7OD2fbvjJvIcSgalLThFaEM4gPtPNF',
Configura Nginx e PHP
Crea un nuovo pool PHP-FPM per il tuo utente:
user@myVPS:~# sudo nano /etc/php5/fpm/pool.d/your_user.conf
[your_user] user = your_user group = your_user listen = /var/run/php5-fpm-your_user.sock listen.owner = your_user listen.group = your_user listen.mode = 0666 pm = ondemand pm.max_children = 5 pm.process_idle_timeout = 10s; pm.max_requests = 200 chdir = /
Non dimenticare di cambiare tuo_utente con il tuo nome utente.
Riavvia PHP-FPM
user@myVPS:~# sudo service php5-fpm restart
Genera certificato SSL:
user@myVPS:~# sudo mkdir -p /etc/nginx/ssl user@myVPS:~# cd /etc/nginx/ssl user@myVPS:~# sudo openssl genrsa -des3 -passout pass:x -out ininja.pass.key 2048 user@myVPS:~# sudo openssl rsa -passin pass:x -in ininja.pass.key -out ininja.key user@myVPS:~# sudo rm ininja.pass.key user@myVPS:~# sudo openssl req -new -key ininja.key -out ininja.csr user@myVPS:~# sudo openssl x509 -req -days 365 -in ininja.csr -signkey ininja.key -out ininja.crt
Quindi, crea un nuovo blocco del server Nginx:
user@myVPS:~# sudo vim /etc/nginx/sites-available/your_ininja_site
server { listen 443 default; server_name your_ininja_site; ssl on; ssl_certificate /etc/nginx/ssl/ininja.crt; ssl_certificate_key /etc/nginx/ssl/ininja.key; ssl_session_timeout 5m; ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL'; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; root /home/your_user/your_ininja_site/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_log /var/log/nginx/ininja.access.log; error_log /var/log/nginx/ininja.error.log; sendfile off; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm-your_user.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; } } server { listen 80; server_name your_ininja_site; add_header Strict-Transport-Security max-age=2592000; rewrite ^ https://$server_name$request_uri? permanent; }
Non dimenticare di cambiare tuo_utente con il tuo nome utente.
Attiva il blocco del server creando un collegamento simbolico e riavvia Nginx:
user@myVPS:~# sudo ln -s /etc/nginx/sites-available/your_ininja_site /etc/nginx/sites-enabled/your_ininja_site user@myVPS:~# sudo /etc/init.d/nginx restart
Questo è tutto. Hai installato correttamente Invoice Ninja sul tuo Debian VPS. Per ulteriori informazioni su Invoice Ninja, fare riferimento al sito Web di Invoice Ninja.
Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta. Puoi anche considerare di leggere il nostro post su Come installare Invoice Ninja su Debian 9 per ulteriori informazioni.
PS . Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.