Wie installiere ich Akaunting mit Apache und Let’s Encrypt SSL auf Ubuntu 22.04

Akaunting ist eine Open-Source und selbst gehostete Buchhaltungssoftware für kleine Unternehmen und Freiberufler. Sie wurde mit Laravel, Bootstrap, jQuery und RESTful API entwickelt. Mit ihr kannst du Rechnungen, Angebote und Finanzen über einen Webbrowser erstellen und verwalten. Es bietet einen großartigen App Store für Nutzer und Entwickler, um die Funktionen von Akaunting zu erweitern.

In diesem Tutorial zeige ich dir, wie du die Buchhaltungssoftware Akaunting mit Apache und Let’s Encrypt SSL auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Installiere Apache, MariaDB und PHP

Zunächst musst du Apache, MariaDB, PHP und andere PHP-Erweiterungen sowie curl auf deinem Server installieren. Du kannst sie alle installieren, indem du den folgenden Befehl ausführst:

apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-imap php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-bcmath php-ldap php-zip php-curl unzip curl -y

Nachdem du alle Pakete installiert hast, bearbeite die PHP-Konfigurationsdatei und ändere die Standardeinstellungen:

nano /etc/php/8.1/apache2/php.ini
Change the following lines:
memory_limit = 256M
upload_max_filesize = 16M
post_max_size = 16M
max_execution_time = 300
date.timezone = UTC

Speichere und schließe die Datei und starte den Apache-Dienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart apache2

MariaDB-Datenbank konfigurieren

Akaunting verwendet MariaDB/MySQL als Datenbank-Backend. Daher musst du eine Datenbank und einen Benutzer für Akaunting einrichten.

Melde dich zunächst mit folgendem Befehl bei MariaDB an:

mysql

Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer für Akaunting mit dem folgenden Befehl:

MariaDB [(none)]> CREATE DATABASE akaunting_db;
MariaDB [(none)]> CREATE USER 'akaunting_user'@'localhost' IDENTIFIED BY 'password';

Als Nächstes erteilst du der Akaunting-Datenbank mit dem folgenden Befehl alle Berechtigungen:

MariaDB [(none)]> GRANT ALL ON akaunting_db.* TO 'akaunting_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Lösche die Berechtigungen und verlasse MariaDB mit dem folgenden Befehl:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Akaunting installieren

Gehe zunächst auf die offizielle Download-Seite von Akaunting und lade die neueste Version mit folgendem Befehl herunter:

wget -O Akaunting.zip https://akaunting.com/download.php?version=latest

Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei in das Apache-Web-Root-Verzeichnis:

mkdir -p /var/www/html/akaunting
unzip Akaunting.zip -d /var/www/html/akaunting

Als Nächstes änderst du die Eigentums- und Zugriffsrechte für das Akaunting-Verzeichnis:

chown -R www-data:www-data /var/www/html/akaunting/
chmod -R 755 /var/www/html/akaunting/

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Apache für Akaunting konfigurieren

Als Nächstes musst du eine Konfigurationsdatei für einen virtuellen Apache-Host für Akaunting erstellen. Du kannst sie mit dem folgenden Befehl erstellen:

nano /etc/apache2/sites-available/akaunting.conf

Füge die folgenden Zeilen ein:

<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/akaunting
ServerName akaunting.example.com
DirectoryIndex index.html index.php
<Directory /var/www/html/akaunting/>
Options +FollowSymlinks
AllowOverride All
Require all granted

</Directory>

ErrorLog ${APACHE_LOG_DIR}/akaunting_error.log
CustomLog ${APACHE_LOG_DIR}/akaunting_access.log combined

</VirtualHost>

Speichere und schließe die Datei und aktiviere dann den virtuellen Apache-Host und das Rewrite-Modul mit dem folgenden Befehl:

a2ensite akaunting
a2enmod rewrite

Starte anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Du kannst nun den Status des Apache mit folgendem Befehl überprüfen:

systemctl status apache2

Du erhältst die folgende Ausgabe:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-11-12 13:45:47 UTC; 10s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16032 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 16036 (apache2)
      Tasks: 6 (limit: 464122)
     Memory: 14.2M
     CGroup: /system.slice/apache2.service
             ??16036 /usr/sbin/apache2 -k start
             ??16037 /usr/sbin/apache2 -k start
             ??16038 /usr/sbin/apache2 -k start
             ??16039 /usr/sbin/apache2 -k start
             ??16040 /usr/sbin/apache2 -k start
             ??16041 /usr/sbin/apache2 -k start

Nov 12 13:45:47 ubuntu22041 systemd[1]: Starting The Apache HTTP Server...

Akaunting mit Let’s Encrypt SSL sichern

Als Nächstes ist es ratsam, deine Website mit Let’s Encrypt SSL zu sichern. Installiere zunächst den Certbot-Client mit dem folgenden Befehl:

apt-get install certbot python3-certbot-apache -y

Nach der Installation führst du den folgenden Befehl aus, um deine Website mit Let’s Encrypt SSL zu sichern:

certbot --apache -d akaunting.example.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): hitjethva1981@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for akaunting.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/akaunting-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/akaunting-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/akaunting-le-ssl.conf

Als Nächstes wählst du aus, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gib 2 ein und drücke die Eingabetaste, um Let’s Encrypt SSL für deine Website zu installieren:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/akaunting.conf to ssl vhost in /etc/apache2/sites-available/akaunting-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://akaunting.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=akaunting.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/akaunting.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/akaunting.example.com/privkey.pem
   Your cert will expire on 2023-02-12. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Zugriff auf Akaunting Web Interface

Öffne nun deinen Webbrowser und rufe die Akaunting-Weboberfläche über die URL http://akaunting.example.com auf. Du wirst den folgenden Bildschirm sehen:

Sprache wählen

Wähle deine Sprache und klicke auf die Schaltfläche Weiter. Du erhältst den Bildschirm zur Konfiguration der Datenbank:

Datenbank-Einstellungen

Gib deine Datenbankdetails ein und klicke auf die Schaltfläche Weiter. Du erhältst den Bildschirm zur Erstellung eines Admin-Benutzerkontos:

Einstellungen des Unternehmens

Gib deinen Firmennamen, deine E-Mail-Adresse und dein Passwort ein und klicke auf die Schaltfläche Weiter. Du erhältst den Anmeldebildschirm von Akaunting:

Anmeldung

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Anmelden. Du erhältst den folgenden Bildschirm:

Unternehmen

Klicke auf die Schaltfläche Überspringen. Du erhältst den Bildschirm Währungen:

Währungen

Aktiviere deine Währungen und klicke auf die Schaltfläche Weiter. Du erhältst den Plugin-Bildschirm:

Akaunting Armaturenbrett

Installiere deine benötigten Module und klicke auf die Schaltfläche Weiter. Du erhältst den folgenden Bildschirm:

Neue Rechnung erstellen

Jetzt kannst du deine erste Rechnung erstellen.

Fazit

Herzlichen Glückwunsch! Du hast Akaunting mit Apache und Let’s Encrypt SSL erfolgreich auf dem Ubuntu 22.04 Server installiert. Du kannst Akaunting jetzt in deinem Unternehmen hosten, um deine Rechnungen, Angebote und Finanzen von überall aus zu verwalten. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …