SQL Ledger
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
SQL Ledger 🇬🇧 ist ein sehr umfassendes ERP-System, welches zahlreiche Funktionen zur Automatisierung und Integration von Unternehmensprozessen bietet. Unternehmensdaten werden in einer PostgreSQL-Datenbank gespeichert und über die Skriptsprache Perl für den Zugriff per Webbrowser aufbereitet. Das System ist browserbasierend, jedoch können auch textbasierte Konsolenbrowser wie beispielsweise Lynx verwendet werden. Bezüglich der Finanzbuchhaltung basiert SQL Ledger auf doppelter Buchführung und bietet für den deutschen Markt den Standardkontenrahmen SKR 03. Das System eignet sich insbesondere für Intranets mit mehreren Benutzern und wurde laut offizieller FAQ nicht entworfen direkt im Internet eingesetzt zu werden.
SQL Ledger wird von der kanadischen Firma DWS Systems entwickelt und wird einmal als GPL-Version als auch in einer kostenpflichtigen Enterprise Edition vermarktet, die zusätzliche Funktionalität bietet. Ein unabhängiger Zusammenschluss von SQL Ledger Consultants unterstützt die Verbreitung des Systems und konzentriert sich dabei weitgehend auf den Aspekt der freien Software, sprich der GPL-Version. Dabei hat sich auch ein eigener Fork mit dem Codenamen "Enhanced SQL Ledger" entwickelt und es gibt Angebote wie Shopsysteme (LedgerCart) 🇬🇧.
SQL Ledger wird unter anderem für Debian und Ubuntu in Launchpad paketiert.
Installation¶
SQL Ledger steht als Tarball unter https://www.sql-ledger.com 🇬🇧 zum Download bereit und es gibt die Möglichkeit eines weitgehend automatisierten Installationskripts, welches in Perl programmiert wurde. Vorab sollte man folgende Pakete noch installieren.
ssh
acpid
apache2
postgresql
libdbi-perl
git-core
postfix
texlive
texlive-lang-german
libdbd-pg-perl (universe)
mailutils (universe)
gitweb (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install ssh acpid apache2 postgresql libdbi-perl git-core postfix texlive texlive-lang-german libdbd-pg-perl mailutils gitweb
Oder mit apturl installieren, Link: apt://ssh,acpid,apache2,postgresql,libdbi-perl,git-core,postfix,texlive,texlive-lang-german,libdbd-pg-perl,mailutils,gitweb
Absicherung der SQL Ledger Installation¶
cd /var/www/html/sql-ledger sudo chown -hR www-data.www-data users templates css spool
Erstellen eines separaten Postgres-Nutzers¶
sudo su postgres createuser -d -P sql-ledger
Die beiden folgenden Fragen kann man mit "n" beantworten, man sollte sich aber das Passwort für die Rolle merken.
Danach sollte man noch mit dem Befehl
exit
zu seinem normalen Benutzer zurück kehren.
Alternative und offizielle Installation von SQL Ledger mit Hilfe des offiziellen Perlskripts¶
sudo mkdir /var/www/sql-ledger/ cd /var/www/sql-ledger sudo wget https://sql-ledger.com/source/setup.pl sudo perl setup.pl
Checking for latest version number .... www.sql-ledger.com ... ok SQL-Ledger ERP Installation (i)nstall 3.0.4 (from Internet) (d)ownload 3.0.4 (no installation) Enter: i Enter httpd owner [] : www-data Enter httpd group [] : www-data Status Downloading sql-ledger-3.0.4.tar.gz .... www.sql-ledger.com .... ok Decompressing sql-ledger-3.0.4.tar.gz ... done Unpacking sql-ledger-3.0.04.tar ... done cleaning up ... done This is a new installation. Webserver directives were written to /etc/apache2/sql-ledger-httpd.conf Please add # SQL-Ledger Include /etc/apache2/sql-ledger-httpd.conf to your httpd configuration file and restart the web server. Display README (Y/n) : n
Wie in der Ausgabe andeutet, muss man noch Konfigurationen an den Webserverdirektiven vornehmen. Dazu öffnet man die Datei /etc/apache2/apache2.conf mit einem Editor[5] mit Root-Rechte[4] und fügt hinzu:
1 2 | # SQL-Ledger Include /etc/apache2/sql-ledger-httpd.conf |
Konfiguration von SQL Ledger¶
Wurde SQL Ledger lokal auf dem Rechner installiert, sollte man sich nun über http://localhost/sql-ledger/admin.pl
in die Administrationsoberfläche einloggen können. Ein Administrator-Passwort ist für den ersten Login nicht gesetzt. Man kann den Bildschirm durch einfachen Klick auf "Login" überspringen. Eine neue Firma (Mandanten) legt man durch Klick auf "Add Dataset" an. Das folgende Formular kann man wie folgt ausfüllen:
Host -> localhost bzw. die IP-Adresse des PostgreSQL-Servers Port -> 5432 User -> Postgresnutzer, wie unter "Erstellen eines separaten Postgres-Nutzers" angegeben Passwort -> wie unter "Erstellen eines separaten Postgres-Nutzers" angegeben Connect to -> template1
Wenn alles geklappt hat, kann man im folgenden Bildschirm einen Namen für seine Datenbank (Dataset) sowie einen Firmennamen (Company) vergeben und schon Grundeinstellungen treffen.
Der erste Login¶
Sobald man die erste Firma eingerichtet hat, kann man sich unter http://localhost/sql-ledger/login.pl
mit den Zugangsdaten "admin" - "admin" einloggen. Neue Benutzer kann man über die HR- (Human Resource) Funktion einrichten.
Fehlerbehebung und Problemlösung¶
Ein häufiger Fehler ist, dass beim Login die Perlskripte vom Server nicht ausgeführt werden und nur zum Download angeboten werden. Hier können die Ursachen wie folgt sein:
In der apache2.conf ist kein AddHandler eingetragen
Bei der Testinstallation hat das Installationsskript die Webverzeichnisse nicht richtig eingetragen. Nachfolgend ein angepasster Eintrag fuer die apache2.conf, der auf einem virtuellen Server sowie einem Desktopsystem getestet wurde.
1 2 3 4 5 6 7 8 9 10 11 12 13 | Alias /sql-ledger /var/www/html/sql-ledger/ <Directory /var/www/html/sql-ledger> AllowOverride All AddHandler cgi-script .pl Options ExecCGI Includes FollowSymlinks Order Allow,Deny Allow from All </Directory> <Directory /users> Order Deny,Allow Deny from All </Directory> |
Das Modul mod_perl ist serverseitig im Apache2 nicht aktiviert. Die Aktivierung geschieht über
sudo a2enmod cgi
Falls der deutsche SKR03-Kontenrahmen wegen einer fehlenden Kodierung nicht initialisiert werden kann, kann man auf die entsprechende Kodierung angepasste SQL-Skripte von folgender Adresse herunterladen:
https://github.com/Tekki/sql-ledger/blob/master/sql/
Fehlender Datenbanktreiber
Wenn man die admin.pl aufruft und die Fehlermeldung Database Driver missing! erhaelt, muss man das Paket libdbd-pg-perl aus den Universequellen nachinstallieren. Beim ersten Aufruf kann man das Passwort selbst setzen.
Aktualisierungen¶
Die jeweilige README-Datei in "SQL Ledger" gibt Hinweise bezüglich der Aktualisierung auf neue Version. Um den laufenden Betrieb zu sperren, ruft man die Administrationsoberfläche (admin.pl) auf und wählt "Lock System". Dies verhindert das Hinzufügen neuer Daten und sperrt das System. Als nächster Schritt reicht es mit Hilfe des tar-Befehls die neue Version über der alten Installation zu entpacken.
Weitere Hinweise bietet das Unterverzeichnis "doc". Die Datei UPGRADE in diesem Verzeichnis sollte dringends gelesen werden.
Im Januar 2016 erfolgte ein Versionssprung von 3.0 auf 3.2. Auch hier reicht es, den Tarball über das bestehende Verzeichnis zu entpacken, jedoch müssen für jeden Mandanten die Datenbanktabellen aktualisiert werden. Hier ist ein Login in die ERP-Software als Administrator nötig (login.pl). Es erscheint eine Meldung Upgrading to 3.2. Durch Klick auf Continue werden die Datenbanktabellen aktualisiert.
Links¶
Projektseite 🇬🇧
Online-Demo 🇬🇧
SQL Ledger Network Association 🇬🇧 - mit Verzeichnis unabhängiger SQL Ledger Consultants
Github Repository von Mankind75/tapwag🇬🇧 - bietet bash-Installationsskripte für Ubuntuserver und CentOS.