Installation von LedgerSMB (Open Source Buchhaltungsprogramm) auf Debian Etch
Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
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