Installeer Invoice Ninja

Hoe Invoice Ninja te installeren op Ubuntu 16.04

Hoe Invoice Ninja te installeren op Ubuntu 16.04

Invoice Ninja is een webgebaseerde open source-software voor facturering, betalingen, tijdregistratie en nog veel meer. U kunt binnen enkele seconden online facturen maken, communiceren met betalingsgateways zoals Stripe, PayPal, WePay en anderen. Invoice Ninja kan u een live factuurvoorbeeld in pdf-indeling laten zien. U kunt het bedrijfslogo in sjablonen eenvoudig zelf wijzigen. Invoice Ninja is gebaseerd op PHP, gebouwd met het Laravel Framework en kan geïnstalleerd worden op Linux en Windows.

In deze zelfstudie laat ik je zien hoe je Invoice Ninja op Ubuntu 16.04 kunt installeren. Ik zal Nginx gebruiken als de webserver en MariaDB als database-systeem.

Eerste vereiste

  • Ubuntu 16.04-server.
  • Rootprivileges.

Stap 1 - Installeer Nginx

In deze stap zullen we de Nginx-webserver installeren. Maak verbinding met je server met je ssh root-account (of log in met een andere gebruiker en gebruik 'sudo -s' om root te worden) en update de repository.

ssh [e-mail beveiligd]
apt-get update

Installeer Nginx met de opdracht apt hieronder:

apt-get installeer -y nginx

Wanneer de nginx-installatie is voltooid, start u Nginx en voegt u deze toe om te starten tijdens het opstarten.

systemctl start nginx
systemctl enable nginx

Zorg ervoor dat nginx actief is. Controleer de poort die wordt gebruikt door nginx, de standaardwebserverpoort is 80.

netstat -plntu

Nginx geïnstalleerd op Ubuntu 16.04

Stap 2 - MariaDB-server installeren en configureren

Na het installeren van Nginx, moeten we het pakket mariadb-server op het systeem installeren. Het is beschikbaar in de Ubuntu-repository. Installeer mariadb-server en zijn afhankelijkheden met de onderstaande opdracht.

apt-get installeer -y mariadb-server

Wanneer de installatie is voltooid, start u de mariadb-service en schakelt u deze in bij het opstarten met deze systemctl-opdrachten.

systemctl restart mysql
systemctl schakel mysql in

MariaDB is gestart, nu kun je het root-wachtwoord voor mariadb instellen met de onderstaande opdracht.

mysql_secure_installation

Stel je nieuwe MariaDB root-wachtwoord in.

Stel root-wachtwoord in? [Y / n] Y
Nieuw paswoord:
Voer nieuw wachtwoord opnieuw in:
Anonieme gebruikers verwijderen? [Y / n] Y
Geen root login op afstand toestaan? [Y / n] Y
Testdatabase verwijderen en er toegang toe hebben? [Y / n] Y
Reload-tabellen opnieuw laden nu? [Y / n] Y

Probeer vervolgens als root-gebruiker verbinding te maken met de mysql-shell.

mysql -u root -p
TYPE UW WORTELWACHTWOORD

Je zult MySQL shell zien als alles goed werkte.

Nu moeten we een nieuwe database en een nieuwe gebruiker voor Invoice Ninja maken. Ik zal een nieuwe database maken met de naam 'ninjadb', een nieuwe gebruiker'ninja'met wachtwoord'aqwe123'. Kies een ander en veilig wachtwoord voor uw installatie!

Maak ze met de onderstaande MySQL-vraag. Maak een nieuwe database, maak een nieuwe gebruiker en wachtwoord aan, verleen de database aan de nieuwe gebruiker met een wachtwoord.

maak database ninjadb;
gebruiker maken [beschermd per e-mail] geïdentificeerd door 'aqwe123';
verleen alle rechten op ninjadb. * aan [beschermd door e-mail] geïdentificeerd door 'aqwe123';
flush privileges;

Installeer en configureer MariaDB voor Invoice Ninja

MariaDB is geïnstalleerd en een nieuwe database en gebruiker voor Invoice Ninja zijn gemaakt.

Stap 3 - Installeer en configureer PHP7.0-FPM

Invoice Ninja is gebaseerd op PHP, dus we moeten PHP op het systeem installeren. We zullen PHP7.0-FPM gebruiken voor deze Invoice Ninja-installatie.

Installeer PHP7.0-FPM en andere PHP-uitbreidingen die nodig zijn voor Invoice Ninja met de onderstaande opdracht.

apt-get installeer -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

Ga na de installatie naar de PHP-configuratiedirectory en bewerk het php.ini-bestand.

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

Maak de onderstaande CGI-regel uncomment en wijzig de waarde in 0.

cgi.fix_pathinfo = 0

Opslaan en afsluiten.

Bewerk php.ini-bestand in de cli-map.

vim cli / php.ini

Maak de onderstaande CGI-regel uncomment en wijzig de waarde in 0.

cgi.fix_pathinfo = 0

Opslaan en afsluiten.

Start vervolgens PHP7.0-FPM en schakel het in tijdens het opstarten.

systemctl herstart php7.0-fpm
systemctl enable php7.0-fpm

PHP7.0-FPM wordt standaard uitgevoerd met een socketbestand, vink het aan met de onderstaande opdracht en je zult het PHP socketbestand zien zoals getoond in de screenshot.

netstat -pl

Configureer PHP7.0-FPM op Ubuntu 16.04

PHP7.0-FPM en alle extensies die nodig zijn voor Invoice Ninja zijn geïnstalleerd.

Stap 4 - Installeer en configureer factuur Ninja

In deze stap zullen we Invoice Ninja downloaden en configureren. Installeer eerst unzip op uw systeem.

apt-get installeer -y unzip

Ga naar de '/ Var / www' map en download de broncode van Invoice Ninja met de opdracht wget.

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

Pak het zipbestand van Invoice Ninja uit en ga naar de directory 'ninja'.

unzip ninja-v3.1.0.zip
cd ninja /

Voor het Laravel-project moeten we de Composer dependency manager voor PHP installeren. Het is beschikbaar in de Ubuntu-repository, dus we kunnen het installeren met de opdracht apt.

apt-get installeer -y componist

Installeer vervolgens de afhankelijkheden van Invoice Ninja met de onderstaande opdracht voor de componist.

composer install -no-dev -o

  • -no-dev : Schakelt de installatie van verplichte pakketten uit
  • -o : Optimaliseer de autoloader tijdens het dumpen van de autoloader

Wanneer de afhankelijkheidsinstallatie is voltooid, kopieert u het .env-bestand en bewerkt u met vim.

cp .env.voorbeeld .env
vim .env

Wijzig de waarde van onderstaande database-instellingen.

DB_DATABASE = ninjadb
DB_USERNAME = ninja
DB_PASSWORD = aqwe123

Opslaan en afsluiten.

omgeving instellen voor Invoice Ninja

Bewerk vervolgens de databaseconfiguratie in de configuratiemap.

vim config / database.php

We gebruiken de MariaDB / MySQL-database, ga naar de MySQL-lijn 55.

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

Vervang het wachtwoord door het wachtwoord dat u hebt ingesteld voor de ninja-gebruiker!

Opslaan en afsluiten.

Factuur Ninja databaseconfiguratie

Alle configuratiebestanden worden bewerkt. Migreer vervolgens de database met de onderstaande opdracht.

php artisan migreren

U wordt gevraagd om het commando uit te voeren, typ 'jaen druk op Enter.

Invoice Ninja Migrate Database

Zaai vervolgens de database met alle records.

php artisan db: zaad

Type 'jaen druk op Enter om te bevestigen.

Invoice Ninja Seed Tables

Genereer een nieuwe applicatiesleutel voor het Laravel-project Invoice Ninja.

php artisan key: genereren

U ziet de toepassingstoets.

Bewerk het app.php-bestand met vim.

vim config / app.php

Ga naar de regel APP_KEY 85 en plak de sleutel die we hebben gegenereerd.

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

Opslaan en afsluiten.

Wijzig ten slotte de eigenaar van '/ Var / www / ninja'map naar'www-data'gebruiker en groep.

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

Factuur Ninja is geconfigureerd en klaar voor de installatie.

Stap 5 - Configureer SSL en virtuele host

In deze stap zullen we een SSL-certificaatbestand genereren met de opdracht OpenSSL en een nieuwe virtuele hostconfiguratie maken voor Invoice Ninja. Als u op een live server werkt, kunt u een gratis SSL van Let's Encrypt gebruiken in plaats van een zelfondertekende SSL-cert met OpenSSL te genereren.

Maak een nieuw 'cert'map voor de SSL-bestanden.

mkdir -p / etc / nginx / cert /

Voer de opdracht openssl hieronder uit om de certificaatbestanden te genereren.

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

Wijzig de toestemming van de certificaatbestanden in '600'.

chmod 600 / etc / nginx / cert / *

Genereer een SSL-certificaat voor Invoice Ninja

Ga vervolgens naar de Nginx-directory en maak een nieuw virtueel host-configuratiebestand met de naam 'ninja'.

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

Plak hieronder de virtuele hostconfiguratie.

server {# Uw domeinnaam - hakase-labs.co luister 80; servernaam ninja.co www.ninja.co; # Herschrijf de omleiding naar https add_header Strict-Transport-Security max-age = 2592000; herschrijven ^ https: // $ server_name $ request_uri? permanent; } server {# Uw domeinnaam - hakase-labs.co luister naar de standaardinstelling van 443; servernaam ninja.co www.ninja.co; # SSL inschakelen voor Invoice Ninja ssl aan; 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 aan; # Invoice Ninja web root-bestanden root / var / www / ninja / public; index index.html index.htm index.php; charset utf-8; locatie / {try_files $ uri $ uri / /index.php?$query_string; } location = /favicon.ico {access_log off; log_not_found uit; } location = /robots.txt {access_log off; log_not_found uit; } # Access and Error Log voor Invoice Ninja access_log /var/log/nginx/ininja.access.log; error_log /var/log/nginx/ininja.error.log; sendfile uit; # Omgaan met PHP Applications-locatie ~ .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; } locatie ~ /.ht {ontken alles; }}

Opslaan en afsluiten.

Schakel de ninja virtuele host in en test de Nginx-configuratie, zorg dat er geen fout is.

ln -s / etc / nginx / sites-beschikbaar / ninja / etc / nginx / sites ingeschakeld /
nginx -t

Start nu de nginx-webserver opnieuw op.

systemctl herstart nginx

Invoice Ninja Virtual Host geïnstalleerd

De virtuele hostconfiguratie van Invoice Ninja is voltooid.

Stap 6 - De installatie en het testen voltooien

Open uw webbrowser en typ de URL van Invoice Ninja: ninja.co. U wordt doorgestuurd naar de https-verbinding en instellingenpagina.

Invoice Ninja Installation

Voer de applicatie-instellingen, databaseverbinding, e-mailinstellingen, gebruikersgegevens in en vink de TOS voor factuurninja aan.

Invoice Ninja Installatie Configuratie-instellingen

Klik 'Verzendenen je wordt doorgestuurd naar de inlogpagina van Invoice Ninja.

Voer uw e-mailadres en wachtwoord in en druk vervolgens op 'LOG IN'.

Je zult het Invoice Ninja Dashboard zien.

Invoice Ninja Admin Dashboard

Invoice Ninja-instellingenpagina.

Invoice Ninja-instellingenpagina

Factuur Ninja geïnstalleerd met Nginx en MariaDB op Ubuntu 16.04.

Referentienummer

bron