GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Invoice Ninja unter Ubuntu 16.04

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

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

Voraussetzung

  • Ubuntu 16.04-Server.
  • Root-Rechte.

Schritt 1 – Nginx installieren

In diesem Schritt installieren wir den Nginx-Webserver. 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 folgenden apt-Befehl:

apt-get install -y nginx

Wenn die Installation von nginx 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 ausgeführt wird. Überprüfen Sie den von nginx verwendeten Port, der Standardport des Webservers ist 80.

netstat -plntu

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. Installieren Sie 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, beim Booten mit diesen systemctl-Befehlen zu starten.

systemctl restart mysql
systemctl enable mysql

MariaDB ist gestartet, jetzt können Sie das Root-Passwort für MariaDB mit dem folgenden Befehl 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

Versuchen Sie als Nächstes, sich als Root-Benutzer mit der MySQL-Shell zu verbinden.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

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

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

Erstellen Sie sie mit der folgenden MySQL-Abfrage. Erstellen Sie eine neue Datenbank, erstellen Sie einen neuen Benutzer und ein neues Passwort, gewähren Sie dem neuen Benutzer eine 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 wurde installiert und eine neue Datenbank und ein neuer Benutzer für Invoice Ninja wurden erstellt.

Schritt 3 – PHP7.0-FPM installieren und konfigurieren

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

Installieren Sie PHP7.0-FPM und andere von Invoice Ninja benötigte PHP-Erweiterungen 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

Wechseln 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 unten und ändern Sie den Wert auf 0.

cgi.fix_pathinfo=0

Speichern und beenden.

Bearbeiten Sie die php.ini-Datei im cli-Verzeichnis.

vim cli/php.ini

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

cgi.fix_pathinfo=0

Speichern und beenden.

Starten Sie als Nächstes PHP7.0-FPM und aktivieren Sie es so, dass es beim Booten gestartet wird.

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

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

netstat -pl

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

Schritt 4 – Installieren und konfigurieren Sie Invoice Ninja

In diesem Schritt werden wir Invoice Ninja herunterladen und konfigurieren. Installieren Sie zunächst unzip auf Ihrem System.

apt-get install -y unzip

Gehen Sie zu '/var/www' Verzeichnis 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

Extrahieren Sie die ZIP-Datei von Invoice Ninja und wechseln 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, sodass wir es mit dem apt-Befehl installieren können.

apt-get install -y composer

Installieren Sie als Nächstes Invoice Ninja-Abhängigkeiten mit dem Composer-Befehl unten.

composer install --no-dev -o
  • --no-dev :Deaktiviert die Installation von require-dev-Paketen
  • -o :Autoloader während Autoloader-Dump optimieren

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 Datenbankeinstellungen unten.

DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123

Speichern und beenden.

Bearbeiten Sie als Nächstes 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'),

Ersetzen Sie das Passwort durch das, das Sie für den Ninja-Benutzer festgelegt haben!

Speichern und beenden.

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.

Als nächstes füttern Sie die Datenbank mit allen Datensätzen.

php artisan db:seed

Geben Sie „ja ein ' und drücken Sie zur Bestätigung die Eingabetaste.

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 Datei app.php mit vim.

vim config/app.php

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

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

Speichern und beenden.

Ändern Sie schließlich den Eigentümer von „/var/www/ninja ' Verzeichnis nach 'www-data ' Benutzer und Gruppe.

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 generieren wir eine SSL-Zertifikatsdatei mit dem OpenSSL-Befehl und erstellen eine neue virtuelle Hostkonfiguration 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 'Zertifikat ' Verzeichnis für die SSL-Dateien.

mkdir -p /etc/nginx/cert/

Führen Sie den folgenden openssl-Befehl 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/*

Gehen Sie als Nächstes in das Nginx-Verzeichnis und erstellen Sie eine neue virtuelle Host-Konfigurationsdatei 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

Die Konfiguration des virtuellen Hosts von Invoice Ninja ist abgeschlossen.

Schritt 6 – Installation und Test abschließen

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

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

Klicken Sie auf "Senden". ' und Sie werden auf die Anmeldeseite von Invoice Ninja weitergeleitet.

Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein und drücken Sie dann auf 'LOGIN '.

Sie sehen das Invoice Ninja Dashboard.

Ninja-Einstellungsseite für Rechnungen.

Invoice Ninja installiert mit Nginx und MariaDB auf Ubuntu 16.04.


Ubuntu
  1. So installieren Sie PHP 7.4 / 7.3 / 7.2 unter Ubuntu 18.04 / Ubuntu 16.04

  2. So installieren Sie PHP 7 unter Ubuntu 14.04

  3. So installieren Sie PHP 7 unter Ubuntu 15.04

  4. So installieren Sie PHP 7.3 auf Ubuntu 18.04

  5. So installieren Sie Invoice Ninja unter Ubuntu 18.04

Wie installiere ich GLPI auf Ubuntu 20.04?

So installieren Sie Invoice Ninja auf Ubuntu 18.04 LTS

So installieren Sie Invoice Ninja auf Ubuntu 20.04 LTS

So installieren Sie OwnCloud auf Ubuntu 18.04

So installieren Sie Joomla auf Ubuntu 18.04

So installieren Sie Invoice Ninja unter Debian 10