So installieren Sie Invoice Ninja unter CentOS 7

Einführung

Invoice Ninja ist eine kostenlose Open-Source-Web-Base-Anwendungssoftware, die für Rechnungsstellung, Zahlungen, Zeiterfassung und vieles mehr verwendet werden kann. Es ist die beste Lösung für die Fakturierung und Abrechnung von Kunden. Sie können Rechnungen in Sekundenschnelle online erstellen und senden. Rechnung Mit Ninja können Sie Ihre eigene Rechnung erstellen und die Live-Rechnung als PDF-Datei anzeigen.

In diesem Tutorial werde ich Ihnen erklären, wie Sie Invoice Ninja auf dem CentOS 7-Server installieren.

Voraussetzungen

  • Eine CentOS 7 x64-Instanz mit 2 GB RAM installiert.
  • Ein Sudo-Benutzer .

Schritt 1: Aktualisieren Sie das System

Vor der Installation von Paketen auf einer CentOS-Serverinstanz wird empfohlen, das System zu aktualisieren. Melden Sie sich über SSH als sudo-Benutzer bei Ihrem Server an und führen Sie den folgenden Befehl aus:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

Schritt 2: Installieren Sie LEMP Server.

Bevor Sie beginnen, müssen Sie LEMP (Nginx, MariaDB und PHP) auf Ihrem Server installieren.

Installieren Sie zunächst Nginx und MariaDB mit dem folgenden Befehl:

sudo yum install nginx mariadb-server -y

Starten Sie nach Abschluss der Installation den Nginx- und MariaDB-Dienst und aktivieren Sie sie, um beim Booten zu starten:

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb

Als Nächstes benötigen Sie PHP7 und PHP7.0-FPM für die Installation von Invoice Ninja.

Fügen Sie zunächst das PHP7.0-Repository mit dem folgenden Befehl zum System hinzu:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installieren Sie als Nächstes PHP7.0-FPM und andere erforderliche PHP-Erweiterungen mit dem folgenden Befehl:

sudo 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 -y

Nach Abschluss der Installation müssen Sie die Konfigurationsdatei php.ini ändern:

sudo nano /etc/php.ini

Ändern Sie die folgende Zeile:

cgi.fix_pathinfo=0

Speichern und schließen Sie die Datei.

Schritt 3: Datenbank konfigurieren

Standardmäßig ist die MariaDB-Installation nicht gesichert, daher müssen Sie sie zuerst sichern. Sie können dies tun, indem Sie das sichere Installationsskript für MySQL ausführen :

sudo mysql_secure_installation

Beantworten Sie alle Fragen wie folgt:

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

Wenn alles erledigt ist, verbinden Sie sich mit dem folgenden Befehl mit der MySQL-Shell:

mysql -u root -p

Geben Sie Ihr Root-Passwort ein und drücken Sie die Eingabetaste. Die MySQL-Shell wird angezeigt:

Erstellen Sie als Nächstes eine neue Datenbank und einen neuen Benutzer für Invoice 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

Schritt 4: Konfigurieren Sie PHP-FPM

Als Nächstes müssen Sie den PHP-FPM-Pool für Nginx-Benutzer konfigurieren:

sudo nano /etc/php-fpm.d/www.conf

Ändern Sie die folgenden Zeilen:

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

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Als Nächstes müssen Sie ein neues Verzeichnis für die PHP-Sitzung und die Socket-Datei erstellen:

sudo mkdir -p /var/lib/php/session
sudo mkdir -p /var/run/php/
sudo chown -R nginx:nginx /var/lib/php/session/
sudo chown -R nginx:nginx /var/run/php/

Starten Sie abschließend den PHP7.0-FPM-Dienst und fügen Sie ihn hinzu, um ihn beim Booten zu starten:

sudo systemctl start php-fpm
systemctl enable php-fpm

Schritt 5: Laden Sie Invoice Ninja herunter und konfigurieren Sie es

Sie können die neueste stabile Version von Invoice Ninja mit dem folgenden Befehl aus dem GitHub-Repository herunterladen:

cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja

Sie müssen auch Dependency Manager für PHP (Composer) installieren. Sie können es mit dem folgenden Befehl installieren:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Installieren Sie als Nächstes alle Invoice Ninja-Abhängigkeiten mit dem Befehl composer wie unten gezeigt:

cd /var/www/html/ninja
sudo composer install --no-dev -o

Benennen Sie nach der Installation die .env-Datei um und nehmen Sie einige Änderungen vor:

sudo mv .env.example .env
sudo nano .env

Ändern Sie die Zeilen wie unten gezeigt:

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password

Speichern Sie die Datei, wenn Sie fertig sind, und führen Sie den folgenden Befehl aus, um die Datenbank vorzubereiten:

sudo php artisan migrate

Sie werden aufgefordert, den Befehl auszuführen, geben Sie "Ja" ein und drücken Sie die Eingabetaste.

Setzen Sie als Nächstes die Datenbank mit den folgenden Datensätzen ein:

sudo php artisan db:seed

Geben Sie "Ja" ein und drücken Sie die Eingabetaste.

Ändern Sie als Nächstes den Eigentümer des /var/www/html/ninjaVerzeichnisses:

sudo chown -R nginx:nginx /var/www/html/ninja/

Schritt 6: Konfigurieren Sie Nginx für Invoice Ninja

Als Nächstes müssen Sie ein SSL-Zertifikat erstellen und eine neue virtuelle Hostkonfiguration für Invoice Ninja erstellen.

Erstellen Sie zunächst ein Verzeichnis für SSL:

sudo mkdir -p /etc/nginx/cert/

Generieren Sie als Nächstes ein SSL-Zertifikat mit dem folgenden Befehl:

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

Geben Sie als Nächstes die richtige Berechtigung für die Zertifikatdatei:

sudo chmod 600 /etc/nginx/cert/*

Erstellen Sie als Nächstes eine neue Konfigurationsdatei für den virtuellen Host im Verzeichnis / etc / nginx /:

sudo nano /etc/nginx/conf.d/ninja.conf

Fügen Sie die folgenden Zeilen hinzu:

server {
    listen  80;
    server_name 192.168.15.23;
    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;
       }
    }

Speichern und schließen Sie die Datei und starten Sie den Nginx-Webserver neu:

sudo systemctl restart nginx

Schritt 7: Zugriff auf Rechnung Ninja

Bevor Sie auf die Invoice Ninja-Weboberfläche zugreifen können, müssen Sie den http- und https-Dienst über firewalld zulassen. Führen Sie die folgenden Befehle aus, um die Ports zu öffnen:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Öffnen Sie https://192.168.15.23abschließend Ihren Webbrowser, geben Sie die URL ein und führen Sie die erforderlichen Schritte aus, um die Installation abzuschließen.

Herzliche Glückwünsche! Wir haben Invoice Ninja erfolgreich mit Nginx und MariaDB auf dem CentOS 7-Server installiert.



Leave a Comment

So installieren Sie MODX Revolution auf einem CentOS 7 LAMP VPS

So installieren Sie MODX Revolution auf einem CentOS 7 LAMP VPS

Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Vultr bietet Ihnen eine hervorragende Konnektivität für private Netzwerke für Server, die am selben Standort ausgeführt werden. Aber manchmal möchten Sie zwei Server in verschiedenen Ländern

So installieren und konfigurieren Sie CyberPanel auf Ihrem CentOS 7-Server

So installieren und konfigurieren Sie CyberPanel auf Ihrem CentOS 7-Server

Verwenden Sie ein anderes System? Einführung CyberPanel ist eines der ersten Control Panels auf dem Markt, das sowohl Open Source als auch OpenLiteSpeed ​​verwendet. Was ist das?

Installieren Sie eSpeak unter CentOS 7

Installieren Sie eSpeak unter CentOS 7

Verwenden Sie ein anderes System? ESpeak kann TTS-Audiodateien (Text-to-Speech) generieren. Diese können aus vielen Gründen nützlich sein, z. B. um Ihr eigenes Turin zu erstellen

So installieren Sie Thelia 2.3 unter CentOS 7

So installieren Sie Thelia 2.3 unter CentOS 7

Verwenden Sie ein anderes System? Thelia ist ein Open-Source-Tool zum Erstellen von E-Business-Websites und zum Verwalten von Online-Inhalten, die in PHP geschrieben wurden. Thelia Quellcode i

So installieren Sie Cockpit unter CentOS 7

So installieren Sie Cockpit unter CentOS 7

Cockpit ist ein kostenloses Open Source-Programm für die Linux-Serververwaltung. Es ist sehr leicht und hat eine schöne, einfach zu bedienende Weboberfläche. Es erlaubt System

So richten Sie ein GitHub Style Wiki mit Gollum unter CentOS 7 ein

So richten Sie ein GitHub Style Wiki mit Gollum unter CentOS 7 ein

Gollum ist die Git-basierte Wiki-Software, die als Backend des GitHub-Wikis verwendet wird. Durch die Bereitstellung von Gollum können Sie ein GitHub-ähnliches Wiki-System auf Ihnen hosten

So stellen Sie Google BBR unter CentOS 7 bereit

So stellen Sie Google BBR unter CentOS 7 bereit

BBR (Bottleneck Bandwidth and RTT) ist ein neuer Algorithmus zur Überlastungskontrolle, der von Google zum Linux-Kernel-TCP-Stack hinzugefügt wird. Mit BBR an Ort und Stelle,

So installieren Sie YOURLS unter CentOS 7

So installieren Sie YOURLS unter CentOS 7

YOURLS (Your Own URL Shortener) ist eine Open-Source-Anwendung zur URL-Verkürzung und Datenanalyse. In diesem Artikel werden wir den Installationsprozess behandeln

Richten Sie Nginx-RTMP unter CentOS 7 ein

Richten Sie Nginx-RTMP unter CentOS 7 ein

Verwenden Sie ein anderes System? RTMP eignet sich hervorragend für die Bereitstellung von Live-Inhalten. Wenn RTMP mit FFmpeg gekoppelt ist, können Streams in verschiedene Qualitäten konvertiert werden. Vultr i

So installieren Sie LimeSurvey unter CentOS 7

So installieren Sie LimeSurvey unter CentOS 7

LimeSurvey ist ein kostenloses und Open-Source-Online-Umfragetool, das häufig zum Veröffentlichen von Online-Umfragen und zum Sammeln von Umfrage-Feedback verwendet wird. In diesem Artikel werde ich

Installieren Sie Java SE unter CentOS

Installieren Sie Java SE unter CentOS

Einführung Java ist eine beliebte Softwareplattform, mit der Sie Java-Anwendungen und -Applets in verschiedenen Hardwareumgebungen entwickeln und ausführen können. Es gibt

Installieren von Netdata unter CentOS 7

Installieren von Netdata unter CentOS 7

Verwenden Sie ein anderes System? Netdata ist ein aufstrebender Stern im Bereich der Echtzeitüberwachung von Systemmetriken. Im Vergleich zu anderen Tools der gleichen Art bietet Netdata:

So installieren Sie Just Cause 2 (JC2-MP) Server unter CentOS 7

So installieren Sie Just Cause 2 (JC2-MP) Server unter CentOS 7

In diesem Tutorial erfahren Sie, wie Sie einen Just Cause 2-Multiplayer-Server einrichten. Voraussetzungen Bitte stellen Sie sicher, dass das System vollständig aktualisiert ist, bevor Sie beginnen

So installieren Sie Starbound Server unter CentOS 7

So installieren Sie Starbound Server unter CentOS 7

Verwenden Sie ein anderes System? In diesem Tutorial werde ich erklären, wie ein Starbound-Server unter CentOS 7 eingerichtet wird. Voraussetzungen Sie müssen dieses Spiel besitzen

Installieren und Konfigurieren von ZNC unter CentOS 7

Installieren und Konfigurieren von ZNC unter CentOS 7

ZNC ist ein kostenloser Open-Source-IRC-Bouncer, der permanent mit einem Netzwerk verbunden bleibt, sodass Clients Nachrichten empfangen können, die gesendet werden, während sie offline sind. Thi

So installieren Sie Django unter CentOS 7

So installieren Sie Django unter CentOS 7

Django ist ein beliebtes Python-Framework zum Schreiben von Webanwendungen. Mit Django können Sie Anwendungen schneller erstellen, ohne das Rad neu zu erfinden. Wenn du willst

So richten Sie den ionCube Loader unter CentOS 7 ein

So richten Sie den ionCube Loader unter CentOS 7 ein

ionCube Loader ist eine PHP-Erweiterung, mit der ein Webserver PHP-Dateien ausführen kann, die mit ionCube Encoder codiert wurden und für deren Ausführung erforderlich sind

So installieren Sie PufferPanel (kostenlose Minecraft-Systemsteuerung) unter CentOS 7

So installieren Sie PufferPanel (kostenlose Minecraft-Systemsteuerung) unter CentOS 7

Einführung Installieren Sie in diesem Tutorial PufferPanel auf unserem Vultr VPS. PufferPanel ist ein Open Source-Bedienfeld, das Sie kostenlos verwalten können

So installieren Sie BoltWire CMS unter CentOS 7

So installieren Sie BoltWire CMS unter CentOS 7

Verwenden Sie ein anderes System? Einführung BoltWire ist ein kostenloses und leichtes Content-Management-System, das in PHP geschrieben wurde. Im Vergleich zu den meisten anderen Content Managern

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.