Difference between revisions of "De DE/installation debian postgres8 1"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
(Installation von ADempiere ohne X11)
(Installation von ADempiere ohne X11)
Line 192: Line 192:
 
  ./RUN_silentsetup.sh
 
  ./RUN_silentsetup.sh
 
</code>
 
</code>
 +
 +
 +
== Installation von ADempiere mit Grafischem Installer ==

Revision as of 13:08, 28 September 2007

Installation der Pakete

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:

localhost:# cd /usr/local/src localhost:# 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

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