Installationsanleitung eSciDoc imeji CoNE

From MPDLMediaWiki
Revision as of 11:54, 20 June 2012 by Bastien (talk | contribs)
Jump to navigation Jump to search

eSciDoc 1.2 und imeji Installations Tutorial Video vom Zuse Internet Archive der FU: http://www.zib.de/zuse/video

eSciDoc / JBOSS Security[edit]

Tuturial / Help - SecureJBoss4.2
https://www.escidoc.org/wiki/SecureJBoss4.2

JBoss behind an Apache Webserver
https://www.escidoc.org/wiki/JBossBehindWebserver

UsingMod_proxyWithJBoss
http://community.jboss.org/wiki/UsingModproxyWithJBoss

Apache Module mod_proxy
https://httpd.apache.org/docs/2.2/mod/mod_proxy.html

Securing the JMX Console and Web Console (HTTP)
http://community.jboss.org/wiki/SecureTheJmxConsole

General Info - Introduction - hosting applications with JBoss Application Server
http://chiralsoftware.com/linux-system-administration/jboss-server-deployment.seam

Security Warning for eSciDoc Infrastructure version 1.3 and 1.4
Because of an JBoss issue the JMX console is only secured for GET and POST requests although authenticated access is configured. An attacker could trigger arbitrary actions in the operating system.
Please secure your JMX console like described at https://access.redhat.com/kb/docs/DOC-30741
If you do not use the console for administrative purpose, you can alternatively disable the JMX console.

eSciDoc 1.4 auf Scientific Linux 64bit[edit]

Java Development Kit (JDK) von Sun installieren[edit]

Es wird das JDK von Java Sun empfohlen.
Benötigt wird die aktuelle Version aus Java 6 (jdk-6u<version>-linux-x64.bin).
<version> meint die aktuelle Versionsnummer z.B. 33
Ein Downloadlink findet sich bei escidoc unter: https://www.escidoc.org/JSPWiki/en/InstallJavaForRelease1.4


Das heruntergeladene .bin-File lässt sich mit der Kommandozweile wie folgt installieren:

   su
   sh jdk-6u<version>-linux-x64.bin

und allem zustimmen.
Anschließend den Ordner an einen geeigneteren Ort kopieren. Hierfür kann man sich z.B. einen Ordner im "home" Verzeichnis anlegen. Wir wählen als Beispiel den Ordner "location": /home/<username>/location (hier soll später auch escidoc installiert werden).

Als nächstes sollte die Umgebungsvariable für das JDK konfiguriert werden:
Einen Editor starten

   vim .bashrc (/home/<username>/.bashrc)

dann folgendes ans Ende der .bashrc kopieren:

   # JAVA (JDK,JRE)
   export JAVA_HOME='/home/<username>/location/jdk1.6.0_<version>'
   PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

Speichern und schließen (:wq)
Danach müssen alle Kommandozeilen geschlossen werden, um die Einstellung zu übernehmen.

Die richtige Konfiguration kann mittels Java-Befehl getestet werden.
Dazu öffnet man eine Kommandozeile und trägt folgenden Befehl ein:

   java -version 

Es sollte nun z.B. folgendes ausgegeben werden:

   java version "1.6.0_33" Java(TM) SE Runtime Environment (build 1.6.0_33-b03)
   Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)

Falls der Befehl java -version das OpenJDK zurückgibt, muss das OpenJDK auf Java-Sun umgestellt werden.
Dies kann mit folgendem Befehl vorgenommen werden:

   update-alternatives --config java

Danach sollte java -version die eigens installierte Java-Version zurückgeben.

JAVA ist installiert :)

PostgreSQL installieren[edit]

Es wird Version 8.4 oder höher benötigt: https://www.escidoc.org/JSPWiki/en/InstallPostgreSQLForRelease1.4
Unter Scientific Linux kann PostgreSQL mit YUM installiert werden. Es werden der PostgreSQL Server und Contrib benötigt.
(contrib wurde bei eSciDoc 1.2 benötigt - wir installieren es um eventuellen Problemen vorzubeugen.)

PostgeSQL + Server + Contrib installieren:

   su
   yum install postgresql postgresql-server postgresql-contrib

PostgreSQL-DB initialisieren:

   service postgresql initdb

Die Konfigurationsdatei postgresql.conf editieren:

   vim /var/lib/pgsql/data/postgresql.conf
   #port = 5432 -> port = 5432 (kommentar weg)

Und speichern.

Die Konfigurationsdatei pg_hba.conf editieren:

   vim /var/lib/pgsql/data/pg_hba.conf

Nach den einführenden Kommentaren sollte die Datei wie folgt aussehen:

# Database administrative login by UNIX sockets
local   all         postgres                         ident


# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               ident
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

Und speichern.
Das Ersetzen von "ident" durch "md5" ermöglicht die Anmeldung mit einem md5-Passwort.

PostgreSQL-DB starten:

   service postgresql start

und PostgreSQL testen:

   su postgres
   psql
   \l (listet alle bestehenden datenbanken)

Wenn gewünscht, dann gleich das Postgres-root-Passwort ändern:

   \password postgres
   dann passwort eintragen


PostgreSQL mit den gewünschten Optionen ist installiert :)

eSciDoc 1.4 installieren[edit]

Installer herunterladen (aktuell Release 1.4) von https://www.escidoc.org/JSPWiki/en/InstallationForRelease1.4

PostgreSQL sicherheitshalber neustarten:

   su
   service postgresql restart

Hinweis: eSciDoc NICHT als root installieren!
(Ein potentieller Einbrecher über den JBoss Application Server hätte sonst root-Rechte.)

Installer ausführen mit:

   java -jar escidoc-core-1.4.1-installer.jar
  • Als Sprache kann Deutsch (deu) ausgewählt werden.
    OK
  • Weiter
  • Ja, ich stimme diesen Lizenzvereinbarungen zu.
    Weiter
  • Installationsvoraussetzungen
    Weiter
  • Neue eSciDoc-Infrastruktur installieren
    Weiter
  • Rechnername: localhost
    Portnummer: 8080
    Weiter
  • PostgreSQL
    Weiter
  • PostgreSQL-Datenbankverbindung
    Die voreingestellten Werte beibehalten.
    Weiter
  • postgres (root-Passwort)
    Weiter
  • Datenbankbenutzer escidoc (ist der Nutzer für die neue Postgres-Datenbank)
    Passwort eintragen
    Weiter
  • fedoraAdmin (Admin für Fedora, und ein weiterer PostgreSQL Benutzer, wird hauptsächlich intern benötigt)
    Passwort eintragen
    emailAdress: email (für Fehlermeldungen, Feld darf nicht leer sein, muss aber keine Adresse enthalten)
    Weiter
  • Verwende die JAVA_HOME Umgebungsvariable (vorgegebene Werte stimmen)
    Weiter
  • Installationspfad: /home/<username>/location/escidoc
    Weiter
  • Alles angehakt lassen
    Weiter
  • sysadmin (Hat Zugang zu allen Resourcen und kann Benutzer mit deren Rechten verwalten)
    Passwort eintragen
    Weiter
  • inspector (read-only, für Infrastruktur-internes wie Indexierung)
    Passwort eintragen
    Weiter
  • depositor (erstellen neuer Resourcen innerhalb der Infrastruktur - User für das meiste des Tagesgeschäfts)
    Passwort eintragen
    Weiter
  • JBoss-Benutzername: (Passwortgeschützter Zugriff auf JMX-Console des JBoss-Application-Servers)
    Passwort eintragen
    Weiter
  • Keystore für https
    Alle Felder frei lassen (kann auch später konfiguriert werden)
    Weiter
  • ESciDoc wird nun installiert
    Installationsfortschritt des Pakets: [Fertig]
    Overall installation progress: 14/14
    Weiter
  • Glückwunsch
    Weiter
  • Die Installation wurde erfolgreich durchgeführt!
    Ein Deinstallationsprogramm wurde in folgendem Dateipfad gespeichert: /home/<username>/location/escidoc/Uninstaller
    Wenn gewünscht kann ein automatisches Installationsscript generiert werden.
    Fertig

Hinweis:
Wenn ein fatal error auftritt, ist möglicherweise der Zugriff auf die PostgreSQL-DB nicht richtig konfiguriert. Die Einstellungen in der Konfigurationsdatei pg_hba.conf (/var/lib/pgsql/data/pg_hba.conf) sollten nocheinmal geprüft werden. Sind die Zugänge auf md5 gestellt? (siehe PostgreSQL installieren)

Fedora-Home Variable in der .bashrc setzen

   vim .bashrc (/home/<username>/.bashrc)

Folgendes ans Ende der .bashrc kopieren:

   # FEDORA
   export FEDORA_HOME='/home/<username>/location/escidoc/fedora'

Speichern und schließen (:wq) Danach Terminal neustarten

Hinweis für lokale Tests OHNE Sicherung der JMX-Console durch einen Apache-Server:
Wenn der Zugriff auf den JBoss erlaubt werden soll, muss der Port 8080 in IPTABLES eingetragen werden:

   iptables -I INPUT -m tcp -p tcp --dport 8080 -j ACCEPT


ESciDoc ist installiert :)