In diesem Tutorial zeigen wir Ihnen, wie Sie Invoice Ninja auf Ihrem CentOS 7 installieren und konfigurieren. Für diejenigen unter Ihnen, die es nicht wussten, Invoice Ninja ist kostenlos und Open Source webbasierte Anwendungssoftware, die für Rechnungsstellung, Zahlungen, Zeiterfassung und vieles mehr verwendet werden kann. Es ist die beste Lösung für die Rechnungsstellung und Abrechnung von Kunden. Sie können Rechnungen einfach und in Sekundenschnelle online erstellen und versenden. Mit Invoice Ninja können Sie Ihre eigene benutzerdefinierte Rechnung und zeigen Sie eine Live-Rechnung als PDF-Datei an.
Dieser Artikel geht davon aus, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und vor allem, dass Sie Ihre Website auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt Sie voraus im Root-Konto ausgeführt werden, wenn nicht, müssen Sie möglicherweise 'sudo
hinzufügen ‘ zu den Befehlen, um Root-Rechte zu erhalten. Ich zeige Ihnen die schrittweise Installation von Invoice Ninja auf einem CentOS 7-Server.
Ninjas Funktionen in Rechnung stellen
- Erstellen Sie Arbeitsaufgaben und verfolgen Sie die Zeit
- Erstellen Sie Rechnungen online in Sekunden
- Rechnungen per E-Mail versenden und online bezahlt werden
- Responsives Design für Mobilgeräte
- Integrieren Sie mehr als 45 Zahlungsgateways
- 10 frische Designs für Rechnungsvorlagen
- Live-Rechnungserstellung im PDF-Format ansehen
- Fügen Sie Ihr Firmenlogo zu Rechnungen hinzu
- Angebote werden in Rechnungen umgewandelt
- Automatische Abrechnung und wiederkehrende Rechnungen
- Mehrere Steuereinstellungen
- Mehrere Währungen werden unterstützt
- Kundenportal zum Anzeigen von Rechnungen
- Benachrichtigungen, wenn Rechnungen bezahlt werden
- Fälligkeitsdaten für Rechnungszahlungen festlegen
- Ausgaben importieren und Anbieter einrichten
Invoice Ninja auf CentOS 7 installieren
Schritt 1. Beginnen wir damit, sicherzustellen, dass Ihr System auf dem neuesten Stand ist.
yum clean all yum -y install epel-release yum -y update
Schritt 2. LEMP-Server installieren.
Ein CentOS 7 LEMP-Stack-Server ist erforderlich. Wenn Sie kein LEMP installiert haben, können Sie unserer Anleitung hier folgen. Installieren Sie auch die erforderlichen PHP-Module:
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
Sobald die Installation abgeschlossen ist, müssen Sie die Konfigurationsdatei php.ini ändern:
nano /etc/php.ini
Ändern Sie die folgende Zeile:
cgi.fix_pathinfo=0
Schritt 3. MariaDB für Invoice Ninja konfigurieren.
Standardmäßig ist MariaDB nicht gehärtet. Sie können MariaDB mit mysql_secure_installation
sichern Skript. Sie sollten jeden Schritt sorgfältig lesen und befolgen, der ein Root-Passwort festlegt, anonyme Benutzer entfernt, Remote-Root-Login verbietet und die Testdatenbank und den Zugriff auf die sichere MariaDB entfernt:
mysql_secure_installation
Konfiguriere es so:
- 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
Als Nächstes müssen wir uns bei der MariaDB-Konsole anmelden und eine Datenbank für den Invoice Ninja erstellen. Führen Sie den folgenden Befehl aus:
mysql -u root -p
Dadurch werden Sie zur Eingabe eines Passworts aufgefordert, geben Sie also Ihr MariaDB-Root-Passwort ein und drücken Sie die Eingabetaste. Sobald Sie sich bei Ihrem Datenbankserver angemeldet haben, müssen Sie eine Datenbank für erstellen Rechnungs-Ninja-Installation:
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. PHP-FPM konfigurieren.
Sie müssen den PHP-FPM-Pool für Nginx-Benutzer konfigurieren:
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 Sie die Datei und beenden Sie den Texteditor.
Als nächstes müssen Sie ein neues Verzeichnis für die PHP-Sitzung und die Socket-Datei erstellen:
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/
Starten Sie als Nächstes PHP-FPM und aktivieren Sie es mit den folgenden Befehlen, um beim Booten zu starten:
systemctl start php-fpm systemctl enable php-fpm
Schritt 5. Installation von Invoice Ninja.
Als Erstes müssen Sie auf die Download-Seite von Invoice Ninja gehen und die neueste stabile Version von Invoice Ninja herunterladen:
cd /var/www/html/ git clone https://github.com/hillelcoren/invoice-ninja.git ninja
Sie müssen Composer 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 Composer:
cd /var/www/html/ninja composer install --no-dev -o
Sobald die Installation abgeschlossen ist, benennen Sie die .env-Datei um und nehmen Sie einige Änderungen vor:
mv .env.example .env nano .env
Ändern Sie die Datenbankwerte entsprechend Ihrer Datenbank:
DB_DATABASE=ninja_db DB_USERNAME=ninja DB_PASSWORD=Y0urPa55w0rd
Speichern Sie die Datei und beenden Sie den Texteditor. Bearbeiten Sie als Nächstes die Datenbankkonfiguration im Konfigurationsverzeichnis:
nano config/database.php
Ändern Sie die folgenden Zeilen:
'database' => env('DB_DATABASE', 'ninja_db'), 'username' => env('DB_USERNAME', 'ninja'), 'password' => env('DB_PASSWORD', 'Y0urPa55w0rd'),
Speichern Sie die Datei und beenden Sie den Texteditor und bereiten Sie die Datenbank mit dem folgenden Befehl vor:
php artisan migrate
Sie werden aufgefordert, den Befehl auszuführen, geben Sie „yes“ ein und drücken Sie die Eingabetaste.
Füllen Sie als nächstes die Datenbank mit allen Datensätzen, wie unten gezeigt:
php artisan db:seed
Führen Sie den folgenden Befehl aus, um den Anwendungsschlüssel zu generieren, und notieren Sie sich diesen Anwendungsschlüssel:
php artisan key:generate
Bearbeiten Sie als Nächstes die app.php
Datei mit einem Nano-Texteditor:
nano config/app.php
Fügen Sie den Schlüssel wie unten gezeigt hinzu:
'key' => env('APP_KEY', 'y0urGenerated Key'),
Speichern und schließen Sie die Datei und ändern Sie auch einige Ordnerberechtigungen:
chown -R nginx:nginx /var/www/html/ninja/
Schritt 6. Konfigurieren Sie Nginx für Invoice Ninja.
Erstellen Sie ein SSL-Zertifikat und erstellen Sie eine neue virtuelle Hostkonfiguration für 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/*
Erstellen Sie als Nächstes eine neue virtuelle Host-Konfigurationsdatei in /etc/nginx/
Verzeichnis:
nano /etc/nginx/conf.d/ninja.conf
Fügen Sie die folgenden Zeilen hinzu:
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; } }
Speichern und schließen Sie die Datei. Starten Sie den Nginx-Dienst neu, damit die Änderungen wirksam werden:
systemctl restart nginx
Schritt 7. Konfigurieren Sie FirewallD Invoice Ninja.
Bevor Sie auf die Weboberfläche von Invoice Ninja zugreifen, müssen Sie den HTTP- und HTTPS-Dienst über die Firewall zulassen:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
Schritt 8. Zugriff auf Invoice Ninja.
Invoice Ninja ist standardmäßig auf HTTP-Port 80 verfügbar. Öffnen Sie Ihren bevorzugten Browser und navigieren Sie zu http://your-domain.com/
oder http://your-server-ip
und führen Sie die erforderlichen Schritte aus, um die Installation abzuschließen.
Herzlichen Glückwunsch! Sie haben Invoice Ninja erfolgreich installiert. Vielen Dank, dass Sie dieses Tutorial zur Installation von Invoice Ninja auf einem CentOS 7-System verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Ihnen, die offizielle Invoice Ninja-Website zu besuchen .