Installation von LedgerSMB (Open Source Buchhaltungsprogramm) auf Debian Etch

Version 1.0
Author: Falko Timme


LedgerSMB ist ein kostenloses (lizensiert unter GPL), webbasiertes Buchhaltungsprogramm, das doppelte Buchhaltung unterstützt; geschrieben in Perl, welches PostgreSQL zur Datensicherung benutzt. Es ist für kleine und mittlere Betriebe gedacht (SMB) und kann einfach über einen regulären Web Browser wir Firefox verwendet werden. Diese Anleitung erklärt die Installation von LedgerSMB auf einem Debian Etch System.

Ich übernehme keine Garantie dafür, dass dies auch bei Dir funktionieren wird!

1 Vorbemerkung

Ich habe dies auf einem unbeladenen Ebian Etch System (das heißt, nur das System, keine Web Server etc.) mit der IP Adresse 192.168.0.100 und Host Namen server1.example.com getestet. Bitte ersetze die IP Adresse/Host Namen mid Deinen eigenen Werten.

Dieses Anleitung sollte auch funktionieren, wenn Du Apache zusammen mit ein paar Websiten (auch wenn ich das nicht getestet habe) bereits installiert hast.

2 Installation benötigter Perl Module

LedgerSMB hängt von wenigen few Perl Modulen ab, die wir mit einem einzigen Befehl installieren können:

apt-get install libdata-dumper-simple-perl perl-modules liblocale-maketext-lexicon-perl libmd5-perl libdbi-perl libdbd-pg-perl libconfig-any-perl libmime-lite-perl libhtml-linkextractor-perl libnet-tclink-perl libparse-recdescent-perl libmodule-build-perl

Es gibt noch zwei andere Perl Module (libclass-std-perl and libconfig-std-perl), die wir brauchen und die nicht in der Debian Paketdatenbank vorhanden sind. Glücklicherweise bietet diese das LederSMB Projekt als .deb Pakete in der deb-prereq .tar.gz Datei, die hier runter geladen werden können SourceForge:

cd /tmp
wget http://mesh.dl.sourceforge.net/sourceforge/ledger-smb/deb-prereq-1.2.8.tar.gz
tar xvfz deb-prereq-1.2.8.tar.gz
cd deb-prereq-1.2
dpkg -i libclass-std-perl_0.0.8-1_all.deb libconfig-std-perl_0.0.4-1_all.deb

3 Installation von Apache

Apache kann wie folgt installiert werden:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert


4 Installation von PostgreSQL

LedgerSMB benötigt PostgreSQL 8.x. Die neuste PostgreSQL Version, die in der Debian Paketdatenbank enthalten ist, ist die Version 8.1, also installieren wir diese:

apt-get install postgresql-8.1 postgresql-client-8.1


5 Installation von LedgerSMB

Nun werden wir LedgerSMB von SourceForge runter laden und es im /usr/local/ledgersmb Verzeichnis installieren:

cd /tmp
wget http://switch.dl.sourceforge.net/sourceforge/ledger-smb/ledgersmb-1.2.8.tar.gz
tar xvfz ledgersmb-1.2.8.tar.gz
mv ledgersmb /usr/local/

Das /usr/local/ledgersmb Verzeichnis sollte dem Apache Benutzer (www-data on Debian) und der Gruppe (again www-data) gehören:

chown -R www-data:www-data /usr/local/ledgersmb/

Dann müssen wir postgres Nutzer werden:

su -m postgres

und uns ins PostgreSQL einloggen:

psql -U postgres

In der PostgreSQL Kommandozeile geben wir folgenden Befehl ein um das PostgreSQL Passwort für den postgres Nutzer zu ändern:

ALTER USER postgres WITH PASSWORD 'POSTGRESPASSWORD';

(Ersetze POSTGRESPASSWORD mit einem Passwort Deiner Wahl.)

Verlasse dann die PostgreSQL Kommandozeile:

q

Erstelle einen PostgreSQL Datenbankadministrator durch die wie folgt genannte Konvention ledgersmb:

createuser --no-superuser --createdb --no-createrole -U postgres --pwprompt --encrypted ledgersmb

Du wirst gefragt, ein Passwort anzugeben. Ich verwende hier MYROLEPASSWORD , aber Du solltest natürlich Dein eigenes verwenden.

Werde danach wieder Benutzer durch die Eingabe von:

exit

Nun erstellen wir den Systemnutzer ledgersmb:

adduser ledgersmb

Du wirst gefragt ein Passwort für diesen Nutzer und einige andere Details anzugeben.

Werde dann der ledgersmb Nutzer:

su -m ledgersmb

Erstelle eine zentrale Benutzerdatenbank, die vom LedgerSMB Administrator verwaltet wird ledgersmb:

createdb -U ledgersmb -O ledgersmb ledgersmb

Fülle als Nächstes die ledgersmb Datenbank:

psql -U ledgersmb -d ledgersmb -f /usr/local/ledgersmb/sql/Pg-central.sql

Der SQL Befehl des letzten Schrittes hat einen LedgerSMB-gemanagten Administrator erstellet, das heißt eine Zeile in der users und users_conf Tabelle. Nun musst Du das admin Benutzerpasswort in der Datei users_conf aktualisieren (das Standardpasswort wird also ersetzt):

psql -U ledgersmb -d ledgersmb

Dann gelangst Du zur PostgreSQL Kommandozeile, in der Du Folgendes laufen lässt

UPDATE users_conf SET password = md5('MYPASSWORD') WHERE id = 1;

um das Passwort zu ändern. Ersetze MYPASSWORD mit einem Passwort Deiner Wahl.

Tippe

q

um die PostgreSQL Kommandozeile zu verlassen

exit

und dann wieder Nutzer zu werden.

Als Nächstes müssen wir /usr/local/ledgersmb/ledgersmb.conf.default in /usr/local/ledgersmb/ledgersmb.conf umbenennen.

mv /usr/local/ledgersmb/ledgersmb.conf.default /usr/local/ledgersmb/ledgersmb.conf

Nun müssen wir /usr/local/ledgersmb/ledgersmb.conf öffnen und die Datenbankdetails anpassen (diese befinden sich ganz am Ende der Datei). Vergewissere Dich, dass MYROLEPASSWORD (oder das Passwort, welches Du ausgewählt hast) eingibst:

vi /usr/local/ledgersmb/ledgersmb.conf

[...]
[globaldb] # These paramaters *must* be set correctly # for LedgerSMB >= 1.2 to work DBname = ledgersmb DBhost = localhost DBport = 5432 DBUserName = ledgersmb DBPassword = MYROLEPASSWORD
Dem LedgerSMB Programm ist ein kurzes Skript beigefügt, das Apache automatisch konfiguriert. Lass Folgendes laufen:

cd /usr/local/ledgersmb/
sh configure_apache.sh

Es werden Dir zwei Fragen gestellt:

Which user does your web server run as? <-- www-Daten Where do we copy the ledgersmb-httpd.conf file to? <-- /etc/apache2/conf.d
Starte Apache danach neu:

/etc/init.d/apache2 restart

Lass uns nun unsere LedgerSMB Installation überprüfen indem wir dies laufen lassen:

cd /usr/local/ledgersmb
perl Build.PL

Die Ausgabe sollte wie folgt aussehen:

server1:/usr/local/ledgersmb# perl Build.PL
Creating new 'Build' script for 'LedgerSMB' version '1.2.8'
server1:/usr/local/ledgersmb#

Lass dies danach laufen.

./Build test

Es kann sein, dass ein paar Test fehlschlagen (z.B. wenn Dir soetwas am Ende der Ausgabe angegeben wird):

Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/10-form.t 255 65280 ?? ?? % ??
t/12-menu.t 255 65280 37 74 200.00% 1-37
Failed 2/6 test scripts, 66.67% okay. 37/1308 subtests failed, 97.17% okay.

Das kannst Du ignorieren und weiter machen.

Starte Apache erneut:

/etc/init.d/apache2 restart


0 Kommentar(e)

Zum Posten von Kommentaren bitte