Invoice Ninja Installation auf Ubuntu 16.04 LTS

Invoice Ninja ist eine webbasierte Open-Source-Software für die Rechnungsstellung, Zahlungen, Zeiterfassung und vieles mehr. Sie können Rechnungen in Sekundenschnelle online erstellen und mit Zahlungs-Gateways wie Stripe, PayPal, WePay und anderen interagieren. Invoice Ninja kann Ihnen eine Live-Vorschau der Rechnungen im PDF-Format anzeigen. Sie können das Firmenlogo in Vorlagen einfach selbst ändern. Invoice Ninja basiert auf PHP, ist mit dem Laravel Framework erstellt und kann unter Linux und Windows installiert werden.

In diesem Tutorial zeige ich Ihnen, wie Sie Invoice Ninja auf Ubuntu 16.04 installieren. Ich werde Nginx als Webserver und MariaDB als Datenbanksystem verwenden.

Voraussetzung

  • Ubuntu 16.04 Server.
  • Root-Privilegien.

Schritt 1 – Nginx installieren

In diesem Schritt werden wir den Nginx-Webserver installieren. Verbinden Sie sich mit Ihrem ssh-Root-Konto mit Ihrem Server (oder melden Sie sich mit einem anderen Benutzer an und verwenden Sie’sudo -s‘, um root zu werden) und aktualisieren Sie das Repository.

ssh [email protected]
apt-get update

Installieren Sie Nginx mit dem Befehl apt unten:

apt-get install -y nginx

Wenn die nginx-Installation abgeschlossen ist, starten Sie Nginx und fügen Sie es hinzu, um es beim Booten zu starten.

systemctl start nginx
systemctl enable nginx

Stellen Sie sicher, dass nginx läuft. Überprüfen Sie den von nginx verwendeten Port, der Standardport des Webservers ist 80.

netstat -plntu

Nginx installiert auf Ubuntu 16.04

Schritt 2 – MariaDB Server installieren und konfigurieren

Nach der Installation von Nginx müssen wir das Paket mariadb-server auf dem System installieren. Es ist im Ubuntu-Repository verfügbar. Installiere den mariadb-server und seine Abhängigkeiten mit dem folgenden Befehl.

apt-get install -y mariadb-server

Wenn die Installation abgeschlossen ist, starten Sie den mariadb-Dienst und ermöglichen Sie ihm, mit diesen systemctl-Befehlen beim Booten zu starten.

systemctl restart mysql
systemctl enable mysql

MariaDB ist gestartet, jetzt können Sie das Root-Passwort für mariadb mit dem Befehl unten festlegen.

mysql_secure_installation

Legen Sie Ihr neues MariaDB-Root-Passwort fest.

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

Als nächstes versuchen Sie, sich mit der mysql-Shell als root-Benutzer zu verbinden.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Sie werden die MySQL-Shell sehen, wenn alles korrekt funktioniert hat.

Jetzt müssen wir eine neue Datenbank und einen neuen Benutzer für Invoice Ninja erstellen. Ich werde eine neue Datenbank namens‘ninjadb‚ erstellen, einen neuen Benutzer‘ninja‚ mit dem Passwort‘aqwe123‚. Bitte wählen Sie für Ihre Installation ein anderes und sicheres Passwort!

Erstellen Sie sie mit der untenstehenden mysql-Abfrage. Erstellen Sie eine neue Datenbank, erstellen Sie einen neuen Benutzer und ein neues Passwort, gewähren Sie dem neuen Benutzer die Datenbank mit einem Passwort.

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

MariaDB for Invoice Ninja installieren und konfigurieren

MariaDB wurde installiert und eine neue Datenbank und ein neuer Benutzer für Invoice Ninja erstellt.

Schritt 3 – Installation und Konfiguration von PHP7.0-FPM

Invoice Ninja basiert auf PHP, daher müssen wir PHP auf dem System installieren. Wir werden PHP7.0-FPM für diese Invoice Ninja Installation verwenden.

Installieren Sie PHP7.0-FPM und andere PHP-Erweiterungen, die von Invoice Ninja benötigt werden, mit dem folgenden Befehl.

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

Gehen Sie nach der Installation in das PHP-Konfigurationsverzeichnis und bearbeiten Sie die Datei php.ini.

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

Entkommentieren Sie die CGI-Zeile darunter und ändern Sie den Wert auf 0.

cgi.fix_pathinfo=0

Speichern und beenden.

Bearbeiten Sie die Datei php.ini im Verzeichnis cli.

vim cli/php.ini

Entkommentieren Sie die CGI-Zeile darunter und ändern Sie den Wert auf 0.

cgi.fix_pathinfo=0

Speichern und beenden.

Als nächstes starten Sie PHP7.0-FPM und aktivieren Sie es so, dass es beim Booten startet.

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

Standardmäßig läuft PHP7.0-FPM mit einer Socket-Datei, überprüfen Sie dies mit dem folgenden Befehl und Sie werden die PHP-Socket-Datei wie im Screenshot gezeigt sehen.

netstat -pl

PHP7.0-FPM auf Ubuntu 16.04 konfigurieren

PHP7.0-FPM und alle von Invoice Ninja benötigten Erweiterungen sind installiert.

Schritt 4 – Installation und Konfiguration des Invoice Ninja

In diesem Schritt werden wir Invoice Ninja herunterladen und konfigurieren. Zuerst installieren Sie unzip auf Ihrem System.

apt-get install -y unzip

Gehen Sie in das Verzeichnis‘/var/www‘ und laden Sie den Invoice Ninja Quellcode mit dem Befehl wget herunter.

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

Entpacken Sie die Zip-Datei Invoice Ninja und gehen Sie in das Verzeichnis ’ninja‘.

unzip ninja-v3.1.0.zip
cd ninja/

Für das Laravel-Projekt müssen wir den composer Dependency Manager für PHP installieren. Es ist im Ubuntu-Repository verfügbar, so dass wir es mit dem Befehl apt installieren können.

apt-get install -y composer

Als nächstes installieren Sie die Abhängigkeiten von Invoice Ninja mit dem Befehl composer unten.

composer install --no-dev -o
  • no-dev : Deaktiviert die Installation von require-dev-Paketen.
  • -o : Optimieren des Autoloaders während des Autoloader-Dumps

Wenn die Installation der Abhängigkeit abgeschlossen ist, kopieren Sie die.env-Datei und bearbeiten Sie sie mit vim.

cp .env.example .env
vim .env

Ändern Sie den Wert der folgenden Datenbankeinstellungen.

DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123

Speichern und beenden.

Umgebungs-Setup für Invoice Ninja

Bearbeiten Sie anschließend die Datenbankkonfiguration im Konfigurationsverzeichnis.

vim config/database.php

Wir verwenden die MariaDB/MySQL-Datenbank, gehen Sie zur MySQL-Zeile 55.

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

Ersetze das Passwort durch das, das du für den Ninja-Benutzer festgelegt hast!

Speichern und beenden.

Rechnung Ninja Datenbank Konfiguration

Alle Konfigurationsdateien werden bearbeitet. Als nächstes migrieren Sie die Datenbank mit dem folgenden Befehl.

php artisan migrate

Sie werden aufgefordert, den Befehl auszuführen, geben Sie „yes“ ein und drücken Sie die Eingabetaste.

Rechnung Ninja Migrate Datenbank

Als nächstes legen Sie die Datenbank mit allen Datensätzen fest.

php artisan db:seed

Geben Sie „yes“ ein und drücken Sie zur Bestätigung die Eingabetaste.

Rechnung Ninja Saatgut-Tabellen

Generieren Sie einen neuen Anwendungsschlüssel für das Laravel-Projekt Invoice Ninja.

php artisan key:generate

Sie sehen den Anwendungsschlüssel.

Bearbeiten Sie die app.php-Datei mit vim.

vim config/app.php

Gehen Sie zur APP_KEY-Zeile 85 und fügen Sie den von uns erzeugten Schlüssel ein.

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

Speichern und beenden.

Ändern Sie schließlich den Besitzer des Verzeichnisses ‚/var/wwww/ninja‚ in den Benutzer und die Gruppe‘www-data‚.

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

Invoice Ninja ist konfiguriert und bereit für die Installation.

Schritt 5 – SSL und virtuellen Host konfigurieren

In diesem Schritt erstellen wir eine SSL-Zertifikatsdatei mit dem Befehl OpenSSL und erstellen eine neue virtuelle Host-Konfiguration für Invoice Ninja. Wenn Sie sich auf einem Live-Server befinden, können Sie ein kostenloses SSL von Let’s Encrypt verwenden, anstatt ein selbstsigniertes SSL-Zertifikat mit OpenSSL zu generieren.

Erstellen Sie ein neues‘cert‚-Verzeichnis für die SSL-Dateien.

mkdir -p /etc/nginx/cert/

Führen Sie den folgenden Befehl openssl aus, um die Zertifikatsdateien zu generieren.

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

Ändern Sie die Berechtigung der Zertifikatsdateien auf’600′.

chmod 600 /etc/nginx/cert/*

SSL-Zertifikat für Rechnung Ninja generieren

Als nächstes gehen Sie in das Nginx-Verzeichnis und erstellen eine neue Konfigurationsdatei für den virtuellen Host mit dem Namen „ninja„.

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

Fügen Sie die Konfiguration des virtuellen Hosts unten ein.

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

Speichern und beenden.

Aktivieren Sie den virtuellen Ninja-Host und testen Sie die Nginx-Konfiguration, stellen Sie sicher, dass kein Fehler vorliegt.

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

Starten Sie nun den nginx-Webserver neu.

systemctl restart nginx

Rechnung Ninja Virtual Host installiert

Die Konfiguration des virtuellen Hosts von Invoice Ninja ist abgeschlossen.

Schritt 6 – Abschluss der Installation und Prüfung

Öffnen Sie Ihren Webbrowser und geben Sie die Rechnungs-Ninja-URL: ninja.co ein. Sie werden auf die https-Verbindungs- und Einrichtungsseite weitergeleitet.

Rechnung Ninja Installation

Geben Sie die Anwendungseinstellungen, die Datenbankverbindung, die E-Mail-Einstellungen, die Benutzerdetails ein und überprüfen Sie die Rechnung Ninja TOS.

Rechnung Ninja Installation Konfiguration Konfiguration Einrichtung

Klicken Sie auf‘Absenden‚ und Sie werden auf die Login-Seite von Invoice Ninja weitergeleitet.

Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie dann auf „LOGIN„.

Du wirst das Invoice Ninja Dashboard sehen.

Rechnung Ninja Admin Dashboard

Rechnung Ninja Einstellungen Seite.

Rechnung Ninja Einstellungsseite

Rechnung Ninja installiert mit Nginx und MariaDB auf Ubuntu 16.04.

Referenz

Das könnte Dich auch interessieren …