[[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