De DE/installation debian posterita adempiere

From ADempiere
Revision as of 08:14, 5 October 2007 by Adem (Talk) (Installation der Datenbank)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Installation der Pakete

Wir laden PosteritaAdempiere3.2.zip direkt hier von [| sf.net herunter.

Wir benötigen java welches nur im non-free Zweig der Repositories vorhanden ist. Dazu erweitern wir unsere jetzigen source.list Einträge oder wir tragen folgende Zeilen in /etc/apt/sources.list ein

deb http://ftp.uni-erlangen.de/pub/Linux/debian/ etch main non-free contrib
deb-src http://ftp.uni-erlangen.de/pub/Linux/debian etch main non-free contrib

Danach führen wir folgenden Befehl aus um die folgenden Pakete zu installieren

aptitude update;aptitude install less ssh dpkg-dev unzip sun-java5-jdk postgresql-8.1 libpq-dev postgresql-server-dev-8.1 gcj java-gcj-compat-dev

Installation von PLjava

Nun benötigen wir PLjava, das als Java Backend für PostgreSQL verwendet wird. Da jedoch die mit Debian Etch mitgelieferte Variante einen Bug aufweist, werden wir PLjava aus dem Sourcecode selbst kompilieren (in dem Debian-Paket postgresql-8.1-pljava-gcj in der Version 1.3.0-1+b1 fehlt eine dynamische Bibliothek, was den Installationsprozess abbrechen lässt). Zunächst ist es notwendig, dass in der Konfigurationsdatei /etc/apt/sources.list die entsprechende Zeile für die Quellpakete vorhanden ist (in unserem Fall benutzen wir einen Mirror der Universität Erlangen):

deb-src http://ftp.uni-erlangen.de/pub/Linux/debian etch main

Anschliessend laden wir den entsprechenden Quellcode zu dem Paket postgresql-8.1-pljava-gcj herunter:

cd /usr/local/src
apt-get source postgresql-8.1-pljava-gcj

Damit liegt uns nun der Quellcode des Pakets im Verzeichnis /usr/local/src vor. Zunächst müssen wir das Makefile /usr/local/src/postgresql-pljava-1.3.0/src/C/pljava/Makefile an drei Stellen so anpassen, dass die fehlende dynamische Bibliothek libjvm.so mit eingebunden wird.

   * Zeile 71: SHLIB_LINK = -lgcj
     wird zu
     SHLIB_LINK = -lgcj -ljvm
   * Zeile 73: SHLIB_LINK += -lws2_32
     wird z
     SHLIB_LINK += -lws2_32 -ljvm
   * Zeile 79: SHLIB_LINK += -L. -framework JavaVM
     wird zu
     SHLIB_LINK += -L. -framework JavaVM -ljvm


Wir setzen wir einen symbolischen Link von /usr/lib/gcj-4.1/libjvm.so nach /usr/lib/libjvm.so, da das modifizierte Makefile die entsprechende Bibliothek benötigt:

ln -s /usr/lib/gcj-4.1/libjvm.so /usr/lib/libjvm.so

Nun installieren wir PLjava mittels:

export JAVA_HOME="/usr/lib/jvm/java-gcj"
cd /usr/local/src/postgresql-pljava-1.3.0
make
make install

Ist diese Prozedur ohne Fehler einmal durchlaufen, haben wir bereits ein funktionierendes PLjava Backend vor uns.

Konfiguration das PostgreSQL PLjava verwendet

Nun müssen wir noch PostgreSQL dazu anweisen, dieses zu verwenden. Damit das DBMS die entsprechenden Java Kommandos versteht, müssen wir zunächst der Konfigurationsdatei /etc/postgresql/8.1/main/postgresql.conf die folgenden Zeilen an das Ende anfügen:

custom_variable_classes = 'pljava'
pljava.classpath = '/usr/lib/postgresql/8.1/lib/pljava.jar'
pljava.statement_cache_size = 10
pljava.release_lingering_savepoint = true
pljava.vmoptions = 
pljava.debug = false

HINWEIS: nach pljava.vmoptions = kommen noch zwei einzelgänsefüschen, sieht man hier leider nicht.

Anschliessend müssen wir PostgreSQL mitteilen, an welcher Stelle das DBMS die Java VM findet. Dazu fügen wir die folgende Zeile der Konfigurationsdatei /etc/postgresql/8.1/main/environment an:

JAVA_HOME='/usr/lib/jvm/java-1.5.0-sun'

Anschliessend starten wir den Server neu:

reboot

Beim Hochfahren des Servers sollte nun auch das DBMS automatisch gestartet werden.

Nun müssen wir das gesamte Datenbank-Cluster main so konfigurieren, dass es PLjava verwendet. Dazu binden wir PLjava in die Datenbank template1 und alle darunterliegenden Datenbanken ein, so dass diese PLjava verwenden können. Mit der unten stehenden Anweisung wird nun jede Datenbank, die auf dem PostgreSQL Server installiert wird, so konfiguriert, dass sie PLjava als Backend verwendet:

su postgres -c "export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun; /usr/lib/postgresql/8.1/bin/psql -d template1 -f /usr/local/src/postgresql-pljava-1.3.0/src/sql/install.sql"

Nun fügen wir dem System einen neuen Benutzer adempiere hinzu, mit dessen Rechten wir auf die Applikation und die Datenbanken zugreifen werden:

adduser adempiere

Diesem Benutzer erlauben wir nun den Zugriff auf die Datenbank, wobei dieser unter der User-ID postgres ausgeführt wird. Der User postgres übernimmt dabei die Rolle eines Systemusers, was die Zugriffe auf alle PostgreSQL Resourcen angeht. Um nun dem Benutzer adempiere die beschriebenen Rechte zu erteilen, fügen wir der Konfigurationsdatei /etc/postgresql/8.1/main/pg_hba.conf folgende Zeilen hinzu:

host all postgres 192.168.1.0/24 md5
host all adempiere 192.168.1.0/24 md5

Nun setzen wir das Passwort des Benutzers postgres neu mittels:

su postgres
psql −−command "ALTER USER postgres PASSWORD 'MeinGeheimesPasswort'"

Das Passwort, das hier angegeben wird, wird lediglich von dem Installationsskript verwendet.

Wichtig: von nun an sollten alle Operationen als User adempiere ausgeführt werden!

Nun müssen wir die beiden Umgebungsvariablen JAVA_HOME und ADEMPIERE_HOME für den Benutzer adempiere setzen. Dies tun wir, indem wir der Konfigurationsdatei /home/adempiere/.bashrc die beiden folgenden Zeilen anhängen:

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
export ADEMPIERE_HOME=/home/adempiere/Adempiere

Anschliessend lesen wir diese Datei für die aktuelle Sitzung ein:

. ~/.bashrc

Installation von ADempiere ohne X11

Nun führen wir die eigentliche Installation des ERP-Systems durch. Dazu existieren zwei Möglichkeiten: einerseits ist eine interaktive Installation mittels einer GUI möglich, auf der anderen Seite eine rein textbasierte. Da wir einen großen Wert auf die Sicherheit unseres Systems legen und damit kein X11 auf dem Server verwenden, entscheiden wir uns an dieser Stelle für die textbasierte Installation mittels des Skripts /home/adempiere/Adempiere/RUN_silentsetup.sh. Dazu kopieren wir zunächst ein Template der zur Installation von Adempiere benötigten Konfigurationsdatei:

cp /home/adempiere/Adempiere/AdempiereEnvTemplate.properties /home/adempiere/Adempiere/AdempiereEnv.properties

und passen diese anschliessend unseren Anforderungen an:


#Adempiere home
ADEMPIERE_HOME=/home/adempiere/Adempiere
#Java home
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
#Type of jvm, sun|mac|
ADEMPIERE_JAVA_TYPE=sun
#Java runtime options
ADEMPIERE_JAVA_OPTIONS=-Xms64M -Xmx512M
#Type of database, postgresql|oracle|oracleXE|fyracle
ADEMPIERE_DB_TYPE=postgresql
#Database server host name
ADEMPIERE_DB_SERVER=adempiere.slashconcept.local
#Database port, oracle[1512], postgresql[5432], fyracle[3500]
ADEMPIERE_DB_PORT=5432
#Database name
ADEMPIERE_DB_NAME=adempiere
#Database system user password
ADEMPIERE_DB_SYSTEM=MeinGeheimesPasswort
#Database user name
ADEMPIERE_DB_USER=adempiere
#Database user password
ADEMPIERE_DB_PASSWORD=MeinGeheimesPasswort 
#Type of application server
ADEMPIERE_APPS_TYPE=jboss
#Application server host name
ADEMPIERE_APPS_SERVER=adempiere.slashconcept.local
#Application server port
ADEMPIERE_JNP_PORT=1099
ADEMPIERE_WEB_PORT=80
ADEMPIERE_SSL_PORT=443 
#Certificate details
#Common name, default to host name
ADEMPIERE_CERT_CN=adempiere.slashconcept.local
#Organization, default to the user name
ADEMPIERE_CERT_ORG=slashconcept GbR
#Organization Unit, default to ‘AdempiereUser’
ADEMPIERE_CERT_ORG_UNIT=Accounting
#town
ADEMPIERE_CERT_LOCATION=Goslar
#state
ADEMPIERE_CERT_STATE=Niedersachsen
#2 character country code
ADEMPIERE_CERT_COUNTRY=DE 

Anschliessend führen wir das Installationsskript aus:

cd ~/Adempiere
chmod a+x *.sh
./RUN_silentsetup.sh


Installation von ADempiere mit Grafischem Installer

Anmerkung: sollten wir an dieser Stelle diese Variante der Installtion bevorzugen, muss die Konfigurationsdatei /home/adempiere/Adempiere/AdempiereEnv.properties nicht angepasst werden. Stattdessen führt man hier das Setup-Skript RUN_setup.sh aus.

Nun navigiert man in das entpackte Adempiere Verzeichniss und führt folgenden Befehl aus

./RUN_setup.sh

Jetzt ercheint folgendes Fenster.

Adempiere server setup.png

Java Home:

  • Debian/Etch = /usr/lib/jvm/java-1.5.0-sun

Adempiere Home:

  • Debian/Etch = Das Verzeichniss wo Sie das Paket PosteritaAdempiere3.2.zip ausgepackt haben.

Application Server:

  • Der Name des Rechners oder die IP Adresse wo Adempiere installiert wird.

Server Type:

  • "jboss" wenn man kein tomcat und kein jboss installiert hat. Die option "tomcatOnly" scheint nur dafür zusein, das wenn man jboss schon installiert hat.

Deployment:

  • Debian/Etch = /var/lib/tomcat5.5

Web Port:

  • Man kann sich den Port aussuchen wo der Server laufen soll, z.b. Port 8888

Database Name:

  • In diesem Howto legen wir eine Datenbank mit Namen "adempiere" an.

Database Server:

  • Hier verwenden wir "localhost", oder wir ändern in der Datei /etc/postgresql/8.1/main/postgresql.conf die option listen_addresses

Database Type:

  • Hier wählen wir "postgresql"

System Password:

  • Das Passwort des Benutzers postgres

Dort trägt man alle relevanten Daten ein und klickt auf den Button "Test". Nun erscheint folgendes Fenster.

Key store dialog.png

Wenn diese Daten stimmen, klickt man auf den Button mit dem grünen Haken. Wenn im setup Fenster links-unten das Wort "OK" erscheint,dann ist das setup gut verlaufen. Es gibt zwar keine Haken in den checkboxen neben Web Port, SSL, Database Name, Database User und Database Passwort, aber dies ist ok wenn links-unten das Wort "OK" ercheint. Dann klicken wir auf den Button "Save". Daraufhin ercheint folgendes Fenster.

Lizenzvereinbarung.png

Dort klicken wir, wenn wir einverstanden sind, auf den Button "Ja, ich verstehe und akzeptiere". Dann ercheint folgendes Fenster.

Adempiere server setup1.png

Nachdem wir auf den Button "OK" geklickt haben, sehen wir folgende Ausgaben auf der Konsole

Server install.png

Installation der Datenbank

HINWEIS: Benutze bei psql-Kommandos anstatt den doppelten Gänsefüßchen, das einfache Gänsefüschen (rechts neben dem Ä).

Nun haben wir Adempiere soweit installiert, dass wir jetzt die entsprechende Datenbank aufbauen können. Dazu führen wir folgende Kommandos als Benutzer postgres aus:

psql -c “DROP DATABASE adempiere;”
psql -c “DROP USER adempiere;”
psql -c “CREATE ROLE adempiere SUPERUSER LOGIN PASSWORD ‘MeinGeheimesPasswort’”
psql -c “CREATE DATABASE adempiere WITH ENCODING=’UNICODE’ OWNER=adempiere;”

oder

createuser -U postgres -s adempiere -P
createdb adempiere -E UNICODE -O adempiere -U adempiere


Anschliessend testen wir als Datenbankadministrator postgres die Verbindung zu der von uns erstellten Datenbank mittels:

psql -h localhost -U adempiere -W adempiere

Damit starten wir die PostgreSQL eigene Konsole, in der wir bspw. folgende Kommandos absetzen können:

   * Alle von PostgreSQL verwalteten Datenbanken anzeigen:
    

\l 

(hier muss u.a. die Datenbank adempiere aufgelistet sein)

   * Alle von PostgreSQL verwalteten Datenbankbenutzer anzeigen:

\du 

(hier muss u.a. der Datenbankbenutzer adempiere augelistet sein)

Nun füllen wir die manuell erstellte Datenbank adempiere mit Inhalt auf.

psql -h localhost -d adempiere -U adempiere -c “drop schema sqlj cascade”
psql -h localhost -d adempiere -U adempiere -f /home/adempiere/Adempiere/data/cleandb_pg.dmp

oder man kann die Datenbank auch mit folgendem Befehl einspielen

pg_dump -U postgres adempiere < data/cleandb_pg.dmp

Anschliessend können wir uns den Inhalt der erstellten und mit Daten gefüllten Datenbank adempiere anschauen:

psql -h localhost -U adempiere -W adempiere

   * Alle innerhalb der Datenbank adempiere definierten Datenbanktabellen anzeigen:

\dt

   * Alle innerhalb der Datenbank adempiere definierten Datenbanktabellen, Views und Sequences anzeigen:

\dp 

Starten des Anwendungsservers

Wenn man den Swing-Client verwendet muss man den Anwendungsserver nicht starten.

cd /home/adempiere/Adempiere/utils
./RUN_Server2.sh

Starten der Anwendung (Swing-Client)

su
/RUN_Adempiere.sh

Nun ercheint folgendes Fenster

Login1.png

Es gibt einen Demonstrations Mandanten, dessen Admin Logindaten sind

Benutzer:GardenAdmin
Kennwort:GardenAdmin

dann gibt es noch einen User

Benutzer:GardenUser
Kennwort:GardenUser

und den ADempiere Administrator

Benutzer:System
Kennwort:System

Danach erscheint folgendes Fenster

Login2.png

Danach erscheint die Anwendung ADempiere.

Application.png

Dort können wir alle Menüpunkte erreichen indem wir den Reiter "Menu" anklicken.


Starten von Posterita (Web)

Nachdem man den Anwendungsserver gestartet hat, kann man sich über einen Webbrowser, z.b. Firefox an Posterita anmelden. Man geht auf

http://localhost:8888/posterita

wobei der Port der ist, den Sie im Adempiere Setup (./RUN_setup.sh) als "Web Port" angegeben haben. Nun ercheint folgendes Fenster

Posterita-no-store.png

Das ist nicht OK, da lief was mit der Datenbank import falsch. Wir sollten dieses Fenster sehen

Posterita-no-store1.png

Wir müssen aber noch einen Mandanten anlegen, dafür gehen wir auf

http://localhost:8888/posterita/Client.do

Posterita-clientdo.png

Dort füllen wir die Felder aus und legen somit einen neuen Client (englisch für Mandant) an. Dieser Prozess erstellt einige Datenbankobjekte und ist deshalb nur mit einem neuen Mandanten (client) am leichtesten zu installieren. Danach klicken wir auf den "Save" Button womit der client (Mandant) erstellt wird.

Wenn der Client (Mandant) erstellt ist, erscheint automatisch folgendes Fenster

Posterita-login.png

Dort geben wir als "Username" den Namen den wir bei Client.do in der sektion Administrator angegeben haben, ein. Als Passwort natürlich das auch von uns vergebene in der selben Sektion, oder Sie geben die PIN ein, die man im der selben Administrator sektion angeben musste. Dann klickt man auf den Button "Login" und es erscheint folgendes Fenster

Posterita-tilt-nr.png

Dort kann man die verschiedenen Terminals aussuchen, falls es welche gibt. Anfangs gibt es nur 1 Terminal zum auswählen. Nach dem klicken auf den Button "Continue" erscheint folgendes Fenster

Posterita-main.png

Nun sind Sie in Posterita eingeloggt.