InvoicePlane ist eine kostenlose, selbst gehostete Open-Source-Anwendung zur Verwaltung Ihrer Angebote, Rechnungen, Kunden und Zahlungen. Es wird von vielen Organisationen und Freiberuflern verwendet, um ihre Zahlungen und Rechnungen zu verwalten. Es bietet benutzerdefinierte Vorlagen, Designs und andere Tools, mit denen Sie die Funktionalität von InvoicePlane erweitern können. Es unterstützt auch mehrere Sprachen und mehrere Zahlungsanbieter wie Paypal, Stripe oder sogar Bitcoin über Coinbase.
In diesem Tutorial zeigen wir Ihnen, wie Sie InvoicePlane mit Apache auf Debian 11 installieren.
Voraussetzungen
- Ein Server mit Debian 11.
- Ein gültiger Domainname, auf den Ihre Server-IP verweist.
- Auf dem Server ist ein Root-Passwort konfiguriert.
Installieren Sie Apache, PHP und MariaDB
Zuerst müssen Sie den Apache-Webserver, den MariaDB-Datenbankserver, PHP und andere erforderliche PHP-Erweiterungen auf Ihrem Server installieren. Sie können alle installieren, indem Sie den folgenden Befehl ausführen:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql wget unzip php-cli php-zip php -curl -y
Sobald alle Pakete installiert sind, bearbeiten Sie die PHP-Konfigurationsdatei und ändern Sie die Standardeinstellungen:
nano /etc/php/7.4/apache2/php.ini
Ändern Sie die folgenden Zeilen:
memory_limit =256Mupload_max_filesize =128Mmax_execution_time =360date.timezone =UTC
Speichern und schließen Sie die Datei und starten Sie dann den Apache-Dienst neu, um die Änderungen zu übernehmen:
systemctl startet Apache2 neu
Erstellen Sie eine Datenbank für InvoicePlane
Als Nächstes müssen Sie die MariaDB-Installation sichern und eine Datenbank und einen Benutzer für InvoicePlane erstellen.
Sichern Sie zunächst die MariaDB-Installation mit dem folgenden Befehl:
mysql_secure_installation
Beantworten Sie alle Fragen wie unten gezeigt:
Root-Passwort setzen? [Y/n] YAnonyme Benutzer entfernen? [J/n] yRoot-Anmeldung aus der Ferne verbieten? [J/n] yTestdatenbank und Zugriff darauf entfernen? [J/n] yBerechtigungstabellen jetzt neu laden? [J/n] ja
Verbinden Sie sich als Nächstes mit dem folgenden Befehl mit der MariaDB-Shell:
mysql -u root -p
Sobald Sie verbunden sind, erstellen Sie mit dem folgenden Befehl eine Datenbank und einen Benutzer für InvoicePlane:
MariaDB [(keine)]> CREATE DATABASE invplanedb;
MariaDB [(keine)]> CREATE USER 'invplane'@'localhost' IDENTIFIED BY 'password';
Als nächstes erteilen Sie InvoicePlane alle Privilegien mit dem folgenden Befehl:
MariaDB [(keine)]> GEWÄHREN SIE ALLE PRIVILEGIEN AUF invplanedb.* TO 'invplane'@'localhost';
Führen Sie als Nächstes den Befehl FLUSH PRIVILEGES aus, damit die Berechtigungstabelle von MariaDB neu geladen wird:
MariaDB [(keine)]> FLUSH-RECHTE;
Verlassen Sie schließlich die MariaDB-Shell:
MariaDB [(keine)]> BEENDEN
InvoicePlane installieren
Laden Sie zunächst die neueste Version von InvoicePlane mit dem folgenden Befehl herunter:
wget -c -O v1.5.11.zip https://invoiceplane.com/download/v1.5.11
Sobald der Download abgeschlossen ist, erstellen Sie ein Verzeichnis für InvoicePlane und extrahieren Sie die heruntergeladene Datei in das InvoicePlane-Verzeichnis:
mkdir /var/www/html/invoiceplane
unzip v1.5.11.zip -d /var/www/html/invoiceplane
Navigieren Sie als Nächstes zum InvoicePlane-Verzeichnis und benennen Sie die Konfigurationsdatei und die .htaccess-Datei um:
cd /var/www/html/invoiceplane
cp ipconfig.php.example ipconfig.php
cp htaccess .htaccess
Bearbeiten Sie als Nächstes die Datei ipconfig.php mit dem folgenden Befehl:
nano-ipconfig.php
Definieren Sie Ihre Website-URL und Datenbankeinstellungen wie unten gezeigt:
IP_URL=http://invoice.example.comDB_HOSTNAME=localhostDB_USERNAME=invplaneDB_PASSWORD=passwordDB_DATABASE=invplanedbDB_PORT=3306
Legen Sie als Nächstes die richtige Berechtigung und den Besitz für das InvoicePlane-Verzeichnis fest:
chown -R www-data:www-data /var/www/html/invoiceplane/
chmod -R 755 /var/www/html/invoiceplane/
Apache für InvoicePlane konfigurieren
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Apache-Host für InvoicePlane erstellen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/apache2/sites-available/invoiceplane.conf
Fügen Sie die folgenden Zeilen hinzu:
ServerAdmin [email protected] DocumentRoot /var/www/html/invoiceplane ServerName invoice.example.com Options +FollowSymlinks AllowOverride All Erfordern alle gewährt ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log kombiniert
Speichern und schließen Sie die Datei und aktivieren Sie dann das Apache Virtual Host and Rewrite-Modul mit dem folgenden Befehl:
a2ensite invoiceplane.conf
a2enmod neu schreiben
Starten Sie als Nächstes den Apache-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl startet Apache2 neu
Führen Sie den folgenden Befehl aus, um den Apache-Status zu überprüfen:
systemctl-Status apache2
Sie erhalten die folgende Ausgabe:
Zugriff auf die InvoicePlane-Web-Benutzeroberfläche
Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://invoice.example.com auf die InvoicePlane-Weboberfläche zu . Sie sollten die folgende Seite sehen:
Klicken Sie auf Einrichtung Taste. Sie sollten die Seite Sprachauswahl sehen:
Wählen Sie Ihre Sprache und klicken Sie auf Weiter Taste. Sie sollten die Seite mit den Voraussetzungen sehen:
Klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:
Geben Sie die Informationen zu Ihrem Admin-Benutzerkonto und Ihre Adresse ein und klicken Sie auf Weiter Taste. Sobald InvoicePlane installiert wurde, sollten Sie die folgende Seite sehen:
Klicken Sie auf Anmelden Taste. Sie sollten die folgende Seite sehen:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie dann auf Anmelden Taste. Sie sollten das InvoicePlane-Dashboard auf der folgenden Seite sehen:
Sicheres InvoicePlane mit Let's Encrypt SSL
Es ist immer eine gute Idee, Ihre Website mit Let's Encrypt SSL zu sichern. Sie müssen den Certbot-Client installieren, um SSL zu installieren und zu verwalten. Sie können es mit dem folgenden Befehl installieren:
apt-get install python3-certbot-apache -y
Führen Sie nach der Installation von Certbot den folgenden Befehl aus, um Ihre Website mit Let’s Encrypt SSL zu sichern:
certbot --apache -d rechnung.example.com
Sie werden aufgefordert, Ihre E-Mail-Adresse anzugeben und die Nutzungsbedingungen wie unten gezeigt zu akzeptieren:
Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.logAusgewählte Plugins:Authenticator standalone, Installer NoneGeben Sie die E-Mail-Adresse ein (wird für dringende Verlängerungs- und Sicherheitshinweise verwendet) (Geben Sie „c“ zum Abbrechen ein):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen zustimmen, um sich beim ACME-Server unter https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - zu registrieren - - - - - - - - - - - - - - -(A)gree/(C)cancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot entwickelt, zu teilen? Wir möchten Ihnen E-Mails über unsere Arbeit zur Verschlüsselung des Internets, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)o:YPlugins ausgewählt:Authenticator Apache, Installer ApacheErhalt eines neuen ZertifikatsDurchführung der folgenden Herausforderungen:http-01-Herausforderung für Rechnung.Beispiel. comApache Rewrite-Modul aktiviertWarten auf Verifizierung...Challenges bereinigenSSL-vhost unter /etc/apache2/sites-available/invoice-le-ssl.conf erstelltApache socache_shmcb-Modul aktiviertApache SSL-Modul aktiviertApache-SSL-Modul aktiviertBereitstellung des Zertifikats auf VirtualHost /etc/apache2/sites-available/ invoice-le-ssl.conf Verfügbare Seite aktivieren:/etc/apache2/sites-available/invoice-le-ssl.conf
Wählen Sie als Nächstes aus, ob der HTTP-Datenverkehr wie unten gezeigt an HTTPS umgeleitet werden soll:
Bitte wählen Sie aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht, und den HTTP-Zugriff entfernen.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Keine Umleitung – Nehmen Sie keine weiteren Änderungen an der Webserver-Konfiguration vor.2:Umleitung – Alle Anfragen werden auf sicheren HTTPS-Zugriff umgeleitet. Wählen Sie dies für neue Websites oder wenn Sie sicher sind, dass Ihre Website auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen):2
Geben Sie 2 ein und drücken Sie die Eingabetaste, um Let's Encrypt SSL für Ihre Website zu installieren:
Enabled Apache rewrite moduleRedirecting vhost in /etc/apache2/sites-enabled/invoice.conf to ssl vhost in /etc/apache2/sites-available/invoice-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Herzliche Glückwünsche! Sie haben https://invoice.example.com erfolgreich aktiviert. Sie sollten Ihre Konfiguration testen unter:https://www.ssllabs.com/ssltest/analyze.html?d=invoice.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -WICHTIGE HINWEISE:- Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter:/etc/letsencrypt/live/invoice.example.com/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter:/etc/letsencrypt/live/invoice.example.com/privkey.pem Ihre Das Zertifikat läuft am 23.04.2022 ab. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach certbot erneut mit der Option „certonly“ aus. Um *all* Ihre Zertifikate nicht interaktiv zu erneuern, führen Sie „certbot renew“ aus. Wenn Sie Certbot mögen, ziehen Sie bitte in Betracht, unsere Arbeit zu unterstützen, indem Sie:Spende an ISRG / Let’s Encrypt:https://letsencrypt.org/donate Spende an EFF:https://eff.org/donate-le
Schlussfolgerung
Herzliche Glückwünsche! Sie haben InvoicePlane mit Apache und Let's Encrypt SSL erfolgreich auf Debian 11 installiert. Sie können InvoicePlane jetzt in Ihrem Unternehmen implementieren und mit der Verwaltung Ihrer Zahlungen und Rechnungen über den Webbrowser beginnen.