In questo tutorial, ti mostreremo come installare e configurare Invoice Ninja sul tuo CentOS 7. Per chi non lo sapesse, Invoice Ninja è un programma gratuito e open source software applicativo basato sul Web che può essere utilizzato per fatturazione, pagamenti, monitoraggio del tempo e molti altri. È la soluzione migliore per la fatturazione e la fatturazione dei clienti. Puoi creare e inviare facilmente fatture online in pochi secondi. Invoice Ninja ti consente di creare il tuo possedere una fattura personalizzata e mostrare una fattura in tempo reale come file PDF.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice e presuppone che tu sono in esecuzione nell'account root, in caso contrario potrebbe essere necessario aggiungere 'sudo
' ai comandi per ottenere i privilegi di root. Ti mostrerò l'installazione passo passo di Invoice Ninja su un server CentOS 7.
Caratteristiche di Invoice Ninja
- Crea attività di lavoro e monitora il tempo
- Crea fatture online in pochi secondi
- Invia fatture e ricevi pagamenti online
- Design mobile responsive
- Integra oltre 45 gateway di pagamento
- 10 nuovi modelli di fattura
- Visualizza fattura in tempo reale .PDF creazione
- Aggiungi il logo della tua azienda alle fatture
- Le quotazioni si convertono in fatture
- Fatturazione automatica e fatture ricorrenti
- Impostazioni fiscali multiple
- Più valute supportate
- Portale clienti per visualizzare le fatture
- Avvisi quando le fatture vengono pagate
- Imposta le date di scadenza del pagamento della fattura
- Spese di importazione e configurazione dei fornitori
Installa Invoice Ninja su CentOS 7
Passaggio 1. Innanzitutto, iniziamo assicurandoci che il tuo sistema sia aggiornato.
yum clean all yum -y install epel-release yum -y update
Passaggio 2. Installa il server LEMP.
È richiesto uno stack server CentOS 7 LEMP. Se non hai installato un LEMP, puoi seguire la nostra guida qui. Inoltre, installa i moduli PHP richiesti:
yum install install php70w-fpm php70w-cli php70w-pear php70w-gd php70w-xml php70w-curl php70w-gmp php70w-pdo php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt
Una volta terminata l'installazione, dovrai modificare il file di configurazione php.ini:
nano /etc/php.ini
Cambia la seguente riga:
cgi.fix_pathinfo=0
Passaggio 3. Configurazione di MariaDB per Invoice Ninja.
Per impostazione predefinita, MariaDB non è protetto. Puoi proteggere MariaDB usando mysql_secure_installation
sceneggiatura. dovresti leggere attentamente e sotto ogni passaggio che imposterà una password di root, rimuoverà gli utenti anonimi, non consentirà l'accesso root remoto e rimuoverà il database di test e l'accesso per proteggere MariaDB:
mysql_secure_installation
Configuralo in questo modo:
- Set root password? [Y/n] y - 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
Successivamente, dovremo accedere alla console MariaDB e creare un database per Invoice Ninja. Esegui il seguente comando:
mysql -u root -p
Questo ti chiederà una password, quindi inserisci la tua password di root MariaDB e premi Invio. Una volta effettuato l'accesso al server del database, devi creare un database per Installazione di fattura Ninja:
MariaDB [(none)]> CREATE DATABASE ninja_db; MariaDB [(none)]> GRANT ALL PRIVILEGES ON ninja_db.* TO 'ninja'@'localhost' IDENTIFIED BY 'password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
Passaggio 4. Configura PHP-FPM.
Dovrai configurare il pool PHP-FPM per gli utenti Nginx:
nano /etc/php-fpm.d/www.conf
Cambia le seguenti righe:
user = nginx group = nginx listen = /var/run/php/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660 env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
Salva il file ed esci dall'editor di testo.
Avanti, dovrai creare una nuova directory per la sessione PHP e il file socket:
mkdir -p /var/lib/php/session mkdir -p /var/run/php/ chown -R nginx:nginx /var/lib/php/session/ chown -R nginx:nginx /var/run/php/
Successivamente, avvia PHP-FPM e abilitalo all'avvio all'avvio utilizzando i seguenti comandi:
systemctl start php-fpm systemctl enable php-fpm
Passaggio 5. Installazione di Invoice Ninja.
La prima cosa da fare è andare alla pagina di download di Invoice Ninja e scaricare l'ultima versione stabile di Invoice Ninja:
cd /var/www/html/ git clone https://github.com/hillelcoren/invoice-ninja.git ninja
Devi installare il compositore:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
Successivamente, installa tutte le dipendenze di Invoice Ninja usando il compositore:
cd /var/www/html/ninja composer install --no-dev -o
Una volta completata l'installazione, rinomina il file .env e apporta alcune modifiche:
mv .env.example .env nano .env
Cambia i valori del database in base al tuo database:
DB_DATABASE=ninja_db DB_USERNAME=ninja DB_PASSWORD=Y0urPa55w0rd
Salva il file ed esci dall'editor di testo. Quindi, modifica la configurazione del database nella directory config:
nano config/database.php
Cambia le seguenti righe:
'database' => env('DB_DATABASE', 'ninja_db'), 'username' => env('DB_USERNAME', 'ninja'), 'password' => env('DB_PASSWORD', 'Y0urPa55w0rd'),
Salva il file ed esci dall'editor di testo e prepara il database con il seguente comando:
php artisan migrate
Ti verrà chiesto di eseguire il comando, digita "yes" e premi Invio.
Quindi, semina il database con tutti i record come mostrato di seguito:
php artisan db:seed
Esegui il comando seguente per generare la chiave dell'applicazione e annota questa chiave dell'applicazione:
php artisan key:generate
Successivamente, modifica app.php
file con un editor di testo nano:
nano config/app.php
Aggiungi la chiave come mostrato di seguito:
'key' => env('APP_KEY', 'y0urGenerated Key'),
Salva e chiudi il file cambia anche i permessi di alcune cartelle:
chown -R nginx:nginx /var/www/html/ninja/
Passaggio 6. Configura Nginx per Invoice Ninja.
Crea un certificato SSL e crea una nuova configurazione di host virtuale per Invoice Ninja:
mkdir -p /etc/nginx/cert/openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.keychmod 600 /etc/nginx/cert/*
Quindi, crea un nuovo file di configurazione dell'host virtuale all'interno di /etc/nginx/
directory:
nano /etc/nginx/conf.d/ninja.conf
Aggiungi le seguenti righe:
server { listen 80; server_name idroot.us; add_header Strict-Transport-Security max-age=2592000; rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443 default; server_name 192.168.15.23; 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; root /var/www/html/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:/var/run/php/php-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 e chiudi il file. Riavvia il servizio Nginx per rendere effettive le modifiche:
systemctl restart nginx
Passaggio 7. Configura FirewallD Invoice Ninja.
Prima di accedere all'interfaccia web di Invoice Ninja, dovrai consentire il servizio HTTP e HTTPS tramite firewalld:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
Passaggio 8. Accesso a Invoice Ninja.
Invoice Ninja sarà disponibile sulla porta HTTP 80 per impostazione predefinita. Apri il tuo browser preferito e vai a http://your-domain.com/
o http://your-server-ip
e completa i passaggi richiesti per completare l'installazione.
Congratulazioni! Hai installato correttamente Invoice Ninja. Grazie per aver utilizzato questo tutorial per l'installazione di Invoice Ninja sul sistema CentOS 7. Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il sito Web ufficiale di Invoice Ninja .