[[Vorlage(Getestet, focal)]]
{{{#!vorlage Wissen
[:Pakete installieren: Installation von Programmen]
[:Programme_starten: Starten von Programmen]
[:Terminal: Ein Terminal öffnen]
[:mit Root-Rechten arbeiten:]
[:Editor:Einen Editor nutzen]
}}}
[[Inhaltsverzeichnis(1)]]
[https://www.sql-ledger.com/ SQL Ledger] {en} ist ein sehr umfassendes [:ERP: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 [https://www.ledger123.com/category/ledgercart/ (LedgerCart)] {en}.
SQL Ledger wird unter anderem für Debian und Ubuntu in Launchpad [launchpad:ubuntu/+source/sql-ledger:paketiert].
= Installation =
SQL Ledger steht als Tarball unter [https://www.sql-ledger.com] {en} 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.
{{{#!vorlage Paketinstallation
ssh
acpid
apache2
postgresql
libdbi-perl
git-core
postfix
texlive
texlive-lang-german
libdbd-pg-perl, universe
mailutils, universe
gitweb, universe
}}}
= Absicherung der SQL Ledger Installation =
{{{#!vorlage Befehl
cd /var/www/html/sql-ledger
sudo chown -hR www-data.www-data users templates css spool
}}}
= Erstellen eines separaten Postgres-Nutzers =
{{{#!vorlage Befehl
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
{{{#!vorlage Befehl
exit
}}}
zu seinem normalen Benutzer zurück kehren.
= Alternative und offizielle Installation von SQL Ledger mit Hilfe des offiziellen Perlskripts =
{{{#!vorlage Befehl
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:
{{{#!code apache
# 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.
{{{#!code apache
Alias /sql-ledger /var/www/html/sql-ledger/
AllowOverride All
AddHandler cgi-script .pl
Options ExecCGI Includes FollowSymlinks
Order Allow,Deny
Allow from All
Order Deny,Allow
Deny from All
}}}
* Das Modul mod_perl ist serverseitig im Apache2 nicht aktiviert. Die Aktivierung geschieht über
{{{#!vorlage Befehl
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 =
* [https://www.sql-ledger.com/ Projektseite] {en}
* [https://www.sql-ledger-network.com/wiki/doku.php/demo_and_test_system Online-Demo] {en}
* [https://www.ledger123.com/category/ledgercart/ Ledgercart Onlineshop] {en}
* [https://www.sql-ledger-network.com SQL Ledger Network Association] {en} - mit Verzeichnis unabhängiger SQL Ledger Consultants
* [github:tapwag:Github Repository von Mankind75/tapwag]{en} - bietet bash-Installationsskripte für Ubuntuserver und CentOS.
#tag: ERP, Büro