InvoiceNinja auf Ubuntu Server 22.04 Installieren

In diesem Video installieren wir die OpenSource Buchhaltungs- und CRM Software "InvoiceNinja" auf einem blanken Ubuntu 22.04. vServer in der Hetzner Cloud. Alle Befehle befinden sich in diesem Artikel.

# System & Paketquellen aktualisieren

sudo apt update & sudo apt upgrade

# Installation Apache2

Installation der Grundpakete

sudo apt install -y apache2 apache2-utils unzip nano certbot python3-certbot-apache

Start des Dienstes

sudo systemctl start apache2

Autostart des Dienstes festlegen

sudo systemctl enable apache2

Rechte für /var/www/html setzen

sudo chown www-data:www-data /var/www/html/ -R

# Installation Datenbankserver / MariaDB

Installation der Pakete

sudo apt install mariadb-server mariadb-client

Start des Dienstes

sudo systemctl start mariadb

Autostart des Dienstes

sudo systemctl enable mariadb

MySQL Secure Installation ausführen

sudo mysql_secure_installation

# Installation PHP 8.1 + Erweiterungen

Installation der Pakete

sudo apt install php8.1 php-common php8.1-fpm libapache2-mod-php8.1 php8.1-mysql php8.1-cli php8.1-common php8.1-opcache php8.1-readline php8.1-mbstring php8.1-xml php8.1-gd php8.1-curl php-imagick php8.1-common php8.1-gd php8.1-curl php8.1-zip php8.1-xml php8.1-mbstring php8.1-bz2 php8.1-intl php8.1-gmp php8.1-bcmath

PHP 8.1 Standardmäßig deaktivieren, Fast-CGI und SetEnvIF aktivieren

sudo a2dismod php8.1

sudo a2enmod proxy_fcgi setenvif

sudo a2enconf php8.1-fpm

sudo systemctl restart apache2

# Installation InvoiceNinja

Download der aktuellen Version – bitte vorher das GitHub nach neuem Release durchsuchen!

wget https://github.com/invoiceninja/invoiceninja/releases/download/v5.5.5/invoiceninja.zip

Verzeichnis erstellen und Daten entpacken

sudo mkdir -p /var/www/invoiceninja/
sudo unzip invoiceninja.zip -d /var/www/invoiceninja/

Rechte setzen

sudo chown www-data:www-data /var/www/invoiceninja/ -R

# Datenbank Konfigurieren

In die mySQL Shell einloggen

sudo mysql

Datenbank erstellen

create database invoiceninja;

Datenbankbenutzer erstellen

create user ninja@localhost identified by 'DEINPASSWORT';

Rechte für Benutzer vergeben und Shell verlassen


grant all privileges on invoiceninja.* to ninja@localhost;
flush privileges;
exit;

# InvoiceNinja Umgebung konfigurieren

Datei aus Example kopieren

cd /var/www/invoiceninja/
sudo cp .env.example .env

Danach .env Datei bearbeiten in Nano

sudo nano .env

Datenbankdaten eingeben und Datei mit STRG + O speichern und mit STRG + X schließen.

Rechte nun für die .ENV Datei setzen

sudo chown www-data:www-data /var/www/invoiceninja/.env

Application Key generieren und yes zur Bestätigung eingeben, danach ENTER drücken

sudo php8.1 /var/www/invoiceninja/artisan key:generate

Datenbank migrieren und yes zur Bestätigung eingeben, danach ENTER drücken

sudo php8.1 /var/www/invoiceninja/artisan migrate:fresh --seed

# Apache2 VirtualHost einrichten

Datei erstellen und Bearbeiten.

sudo nano /etc/apache2/sites-available/invoice-ninja.conf

Anschließend mit folgendem Inhalt füllen:


<VirtualHost *:80>
ServerName DEINEDOMAIN
DocumentRoot /var/www/invoiceninja/public

<Directory /var/www/invoiceninja/public>
DirectoryIndex index.php
Options +FollowSymLinks
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/invoiceninja.error.log
CustomLog ${APACHE_LOG_DIR}/invoiceninja.access.log combined

</VirtualHost>

Den Hostname dabei mit deinem ersetzen. Danach mit STRG+O speichern und STRG+X verlassen.

Nun die Konfiguration aktivieren und die Standard Konfiguration deaktivieren. Außerdem aktivieren wir den Rewrite Mod.

sudo a2ensite invoice-ninja.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
sudo a2dissite 000-default.conf

# Mit SSL absichern

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email DEINEMAIL -d DEINEDOMAIN

# CronJobs anlegen

sudo -u www-data crontab -e

Folgendes einfügen:

 #InvoiceNinja
0 8 * * * /usr/bin/php8.1 /var/www/invoiceninja/artisan ninja:send-recurring > /dev/null
0 8 * * * /usr/bin/php8.1 /var/www/invoiceninja/artisan ninja:send-reminders > /dev/null

Dann speichern & verlassen.

# SetuP durchlaufen & RECHTE SETZEN

Nun das Setup unter https://DEINEDOMAIN/setup aufrufen und die Ersteinrichtung beenden.

Danach einmal die Schreibrechte für den Cache korrigieren:

cd /var/www/invoiceninja/storage/framework

chown -R www-data:www-data *

Danach einmal abschließend den Cron erstausführen:

sudo /usr/bin/php8.1 /var/www/invoiceninja/artisan ninja:send-recurring

Leave a Reply

Write what you are looking for, and press enter to begin your search!

Shopping Cart (0)