Technische Dokumentation Installation / Anpassung

Werbung
Technische Dokumentation
Installation / Anpassung
Version 2.0
Stand 02/2010
Inhaltsverzeichnis
Copyright..........................................................................................................................................3
Umgebung........................................................................................................................................4
Zu installierende Komponente.....................................................................................................4
Datenbank........................................................................................................................................5
Beispiel: Oracle unter Debian......................................................................................................5
Anlegen von Tablespaces und dem Schema-Admin....................................................................8
Import- und Export-Pfad der Datenbank......................................................................................9
Application Server (J2EE)..............................................................................................................10
Sun JavaTM Application Server / GlassFish..............................................................................11
Realm....................................................................................................................................11
JDBC-Treiber........................................................................................................................12
Einstellung der sprachabhängigen Formatierung..................................................................13
JDBC Connection Pool..........................................................................................................14
JDBC Resource....................................................................................................................15
Web GUI Installation.............................................................................................................16
Verzeichnisdienst..........................................................................................................................17
OpenLDAP................................................................................................................................17
Active Directory..........................................................................................................................17
Novell eDirectory.......................................................................................................................17
Direkter Aufruf über Urls.................................................................................................................18
Dienstleistungsklassen..............................................................................................................19
Lizenz.............................................................................................................................................20
Index..............................................................................................................................................21
Copyright
© Copyright 2005-2010 PrimeScale AG. All rights reserved.
PrimeCMDB® und PrimeScale® sind eingetragene Marken der:
PrimeScale AG Unternehmensberatung
Benno-Strauß-Straße 5
90763 Fürth
Deutschland
Oracle ist eine eingetragene Marke der Oracle Corporation.
Sun JavaTM System Application Server ist eine eingetragene Marke der Sun Corporation.
Microsoft Active Directory ist eine eingetragene Marke der Microsoft Corporation.
Novell eDirectory ist eine eingetragene Marke der Novell Corporation.
Debian, Glassfish, Nagios, OpenLDAP sind Open Source System unter der GPL.
Es wird darauf hingewiesen, dass die in der Dokumentation verwendeten Soft- und Hardwarebezeichnungen, sowie Markennamen und
Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken-, oder patentrechtlichem Schutz unterliegen.
Seite 3 von 22
Technische Dokumentation
© PrimeScale AG 2010
Umgebung
Die PrimeCMDB ist als Multi-Tier Applikation entwickelt worden, die eine Trennung von
Darstellung, Business-Logik und Datenhaltung realisiert:
Oracle RDBMS
PL/SQL
JDBC
Application
Server
J2EE 1.5
HTTP(S)
Web-Client
Für den Betrieb der PrimeCMDB werden folgende Komponenten gebraucht:
Datenbank: Oracle RDBMS >= 9i XE, Standard oder Enterprise Edition
Application Server: J2EE 1.5 compliant: Sun JavaTM Application Server 9 / GlassFish
Verzeichnisdienst für die Authentifizierung: OpenLDAP, Microsoft Active Directory , eDirectory
Zu installierende Komponente
PrimeCMDB.war
Seite 4 von 22
Web-Gui der PrimeCMDB, benötigt J2EE Application Server, Glassfish
oder Sun Enterprise Applicationserver in der jeweils aktuellen Version.
Technische Dokumentation
© PrimeScale AG 2010
Datenbank
Als Datenbank für die PrimeCMDB ist die Oracle RDBMS in der Version 9i / 10g / 11g notwendig.
Die freie Version Oracle Express Edition wird im Rahmen ihrer Limitierungen ebenfalls unterstützt.
Bei der Installation von Oracle RDBMS sei hier auf die entsprechende Dokumentation von Oracle
(http://technet.oracle.com) verwiesen. Als Zeichensatz der Instanz ist UTF-8 (Unicode)
Voraussetzung.
Bei entsprechender Nutzung sollten der MAX_OPEN_CURSORS Parameter auf einen höheren
Wert (z.B. 3000) eingestellt werden, da auch u.a. der Application Server Verbindungen cached.
Beispiel: Oracle unter Debian
Die Debian Distribution wird, obwohl im Serverumfeld sehr beliebt und verbreitet, von Oracle nicht
offiziell für die Standard- und Enterprise-Version als Linux-Plattform unterstützt. Mit nachfolgend
beschriebenen Anpassungen funktionieren Installation und Betrieb nach unserer Erfahrung
dennoch reibungslos. Wir weisen jedoch ausdrücklich darauf hin, dass Oracle als Hersteller dazu
keinen Support bietet. Eine Gewährleistung seitens PrimeScale ist ausgeschlossen.
Ausgehend von einem Debian 5.0 (Lenny) Grundsystem werden folgende Pakete zusätzlich
benötig:
•
•
•
•
•
•
•
ssh
build-essentials
lesstif2-dev
rpm
alien
libaio1
libdb3
apt-get install ssh build-essential rpm lesstif2-dev alien libaio1
...
Das Package libdb3 ist in der Debian 5.0 Distribution nicht enthalten und muss von einer älteren
Version bezogen und mit dpkg –i installiert werden
Danach sind folgende symbolischen Links anzulegen:
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
ln -s /usr/bin/basename /bin/basename
Seite 5 von 22
Technische Dokumentation
© PrimeScale AG 2010
Anlegen von user/group:
groupadd oinstall
groupadd dba
groupadd nobody
useradd -g oinstall -G dba,nobody -d /home/oracle -s /bin/bash oracle
passwd oracle
mkdir /home/oracle
chown -R oracle:oinstall /home/oracle
chmod -R 775 /home/oracle
mkdir /opt/oracle
chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle
Einträge in der Datei /etc/sysctl.conf:
kernel.shmall = 2097152
kernel.shmmax = 262144000 # bei 512 MB RAM (habler Speicher)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
Danach mit
/sbin/sysctl -p
übernehmen.
in die .bashrc bzw .profile von user oracle folgende Einträge setzen:
# Oracle Environmaent
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=CMDB
export ORACLE_HOME=/opt/oracle
Seite 6 von 22
Technische Dokumentation
© PrimeScale AG 2010
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
Als user oracle die Installation starten:
./runInstaller –ignoreSysPrereqs
Zwei Warnungen zu rpm können ignoriert werden, ansonsten verläuft die Installation wie in der
Dokumentation von Oracle beschrieben.
In der Datei /etc/oratab die Instanz von :N auf :Y setzen
Seite 7 von 22
Technische Dokumentation
© PrimeScale AG 2010
Anlegen von Tablespaces und dem Schema-Admin
Einrichten von 2 Tablespaces mit den Namen:
•
PRIMECMDB (>= 500MB, dynamisch wachsend empfohlen)
und
•
PRIMECMDB_IDX (>= 300MB, dynamisch wachsend empfohlen)
Im Tablespace PRIMECMDB_IDX werden alle Indexes abgelegt, so dass man durch die
Verteilung auf andere physikalische Datenträger den Zugriff auch für sehr große Systeme
skalieren kann. Zudem wird ein Admins-User für das Schema benötigt. Nachfolgend ein BeispielScript zum Anlegen:
CREATE TABLESPACE "PRIMECMDB" LOGGING DATAFILE '/opt/oracle/oradata/CMDB/primecmdb.dbf' size 500M
REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "PRIMECMDB_IDX" LOGGING DATAFILE '/opt/oracle/oradata/CMDB/primecmdb_idx.dbf'
size 300M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
CREATE USER CMADMIN IDENTIFIED BY ps DEFAULT TABLESPACE PRIMECMDB
QUOTA UNLIMITED ON PRIMECMDB QUOTA UNLIMITED ON PRIMECMDB_IDX
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
GRANT
/
ALTER
/
CONNECT TO CMADMIN WITH ADMIN OPTION
CREATE TABLE TO CMADMIN
CREATE VIEW TO CMADMIN
CREATE PROCEDURE TO CMADMIN
CREATE TRIGGER TO CMADMIN
CREATE SEQUENCE TO CMADMIN
CREATE TYPE TO CMADMIN
CREATE INDEXTYPE TO CMADMIN
CREATE ROLE TO CMADMIN
SCHEDULER_ADMIN TO CMADMIN
EXECUTE ON UTL_FILE TO CMADMIN
EXECUTE ON UTL_SMTP TO CMADMIN
EXECUTE ON UTL_TCP TO CMADMIN
SELECT ON SYS.DUAL TO CMADMIN WITH GRANT OPTION
SELECT ON DBA_ROLE_PRIVS TO CMADMIN
USER CMADMIN DEFAULT ROLE ALL
Seite 8 von 22
Technische Dokumentation
© PrimeScale AG 2010
Import- und Export-Pfad der Datenbank
Einige Automaten der PrimeCMDB verwendet die Dateischnittstelle von Oracle. Damit diese
funktioniert, muss im spfile von oracle folgender Eintrag exemplarisch erfolgen:
utl_file='/data/primecmdb','/data/primecmdb/import','/data/primecmdb/export'
Da der Parameter nicht dynamisch ist, muss die Datenbank danach neu gestartet werden. Oracle
benötigt für jedes Verzeichnis, auch Unterverzeichnisse, diesen Eintrag, wenn darauf Leseund/oder Schreib-Operationen erfolgen sollen. Natürlich sollte der Oracle User oder zumindest
seine Gruppe die ensprechende Berechtigung im Filesystem haben.
Seite 9 von 22
Technische Dokumentation
© PrimeScale AG 2010
Application Server (J2EE)
Derzeit sind die Installationen unter folgenden Application Servern ausgetestet:
•
Sun JavaTM Application Server 9.x
•
GlassFish V2 (https://glassfish.dev.java.net/)
Empfohlen wird der Einsatz von Sun JavaTM Application Server respektive GlassFish (Open Source
und Basis des Sun Servers), da diese im Gegensatz zu anderen Java Application Servern derzeit
eine vollständige J2EE 1.5 Implementation haben, die in aktuellen Versionen der PrimeCMDB
benötigt wird. Zudem wird hiermit die Basis für unser zukünftig integriertes Identity Management
gelegt.
Seite 10 von 22
Technische Dokumentation
© PrimeScale AG 2010
Sun JavaTM Application Server / GlassFish
Der Application Server übernimmt die Session-Verwaltung, die Authentifizierung an einem LDAPServer (JAAS/Realm) und den Zugang zur Datenbank (JDBC).
Realm
Für die Authentifizierung an Active Directory wird dazu ein eigenes von PrimeScale entwickelter
und optimierter "Custom Realm" installiert. Dies geschieht in folgenden Schritten.
1. Die jar-Datei PSRealm.jar in das Verzeichnis <appserver-installationpath>/domains/domain1/lib/classes kopieren.
2. Die Datei <appserver-installationpath>/domains/domain1/config/login.conf um folgenden Eintrag ergänzen:
PSRealm {
eu.primescale.psrealm.PSRealmLoginModule required;
};
3. In der Application Server Management Console im Bereich JVM-Settings/Path Settings
unter Classpath Suffix den Eintrag ${com.sun.aas.instanceRoot}/lib/classes/PSRealm.jar
vornehmen.
4. Den Application Server neu starten.
Seite 11 von 22
Technische Dokumentation
© PrimeScale AG 2010
5. Den Realm mit Parametern gemäß folgendem Beispiel einrichten:
Dabei ist darauf zu achten, dass die Werte für den Realm (CMDBRealm), den Claas Name
(eu.primescale.psrealm.PSRealm) und den Parameter jaas-context (PSRealm) notwendig
und in gleicher Schreibweise eingetragen werden müssen.
Der Parameter uid-name legt den LDAP-Schlüssel für die Auswahl des Users fest
(normalerweise: uid, unter MS Active Directory: sAMAccountName).
JDBC-Treiber
Der Oracle JDBC-Treiber (ojdbc5.jar) muss in das Verzeichnis <appserver-installationpath>/lib/ext des Application Servers kopiert werden. (domain)
Danach sind folgende Anpassungen im Application Server mittels Admin Console notwendig:
Seite 12 von 22
Technische Dokumentation
© PrimeScale AG 2010
Einstellung der sprachabhängigen Formatierung
Um die richtigen Währungssymbole und Zahlenformate unabhängig vom Betriebssystem
darzustellen, müssen im Applikationserver folgende Einstellungen vorgenommen werden:
Seite 13 von 22
Technische Dokumentation
© PrimeScale AG 2010
JDBC Connection Pool
Für die Datenbankkommunikation wird zunächst ein JDBC-Connection Pool angelegt:
Nachfolgend die Konfigurationsdaten:
Seite 14 von 22
Technische Dokumentation
© PrimeScale AG 2010
JDBC Resource
Für den Programmzugriff wird dann die JDBC-Ressource definiert:
Seite 15 von 22
Technische Dokumentation
© PrimeScale AG 2010
Web GUI Installation
Die WAR-Datei PrimeCMDB.war wird über die Sun JavaTM Application Server/GlassFish Admin
Console "installiert":
Der "Context Root" von PrimeCMDB.war sollte dabei auf /PrimeCMDB stehen und der "Context
Root" von PrimeCMDB-Attachements.war auf /PrimeCMDB-Attachements.
Die CMDB wird über den Server-URL aufgerufen, z.B. :
http://myserver.mydomain.de:8080/PrimeCMDB/
oder mit SSL-Verschlüsselung (Zertifikat notwendig):
https://myserver.mydomain.de:8181/PrimeCMDB/
Seite 16 von 22
Technische Dokumentation
© PrimeScale AG 2010
Verzeichnisdienst
Derzeit kann für die Authorisierung der Anwender des Web-Clients jeder beliebige LDAP-Dienst
hergenommen werden. Z.B. MS Active Directory, Novell eDirectory, Sun Directory und OpenLDAP.
OpenLDAP
Eine Authentifizierung gegen OpenLDAP funktioniert problemlos mit entsprechender Einstellung
des Glassfish / Sun JavaTM Application Server. Es wird zusätzlich der User (primecmdb) benötigt.
Dieser User muss nur für rein lesende Operationen (Directory Browsing) angelegt werden und
braucht außer dem Recht sich anmelden und browsen zu dürfen keine weiteren speziellen Rechte.
Active Directory
Für die Anmeldung und den Abgleich mit Active Directory wird ein User (primecmdb) benötigt.
Dieser User muss nur für rein lesende Operation (Directory Browsing) angelegt werden und
braucht außer dem Recht sich anmelden und browsen zu dürfen keine weiteren speziellen Rechte.
Wird eine schreibende Kopplung in das Active Directory eingerichtet, so muss die Kennung mit
enstsprechenden Rechten (Directory Admin) ausgestattet werden.
Aus Gründen der Sicherheit empfiehlt sich eine verschlüsselte Verbindung zwischen dem Server
der installierten PrimeCMDB-Server und dem Active Directory.
Novell eDirectory
Für die Anmeldung gegen Novell eDirectory wird ein User (primecmdb) benötigt. Dieser User muss
nur für rein lesende Operation (Directory Browsing) angelegt werden und braucht außer dem
Recht sich anmelden und browsen zu dürfen keine weiteren speziellen Rechte.
Seite 17 von 22
Technische Dokumentation
© PrimeScale AG 2010
Direkter Aufruf über Urls
Tickets und Projekte können auch direkt über Urls aufgerufen werden. Die Authentifizierung kann
damit alledings nicht umgangen werden.
Beispiel:
http://myserver.mydomain.de:8080/PrimeCMDB?Ticket=32
bzw.
http://myserver.mydomain.de:8080/PrimeCMDB?Project=1000
Seite 18 von 22
Technische Dokumentation
© PrimeScale AG 2010
Dienstleistungsklassen
Dienstleistungsklassen sind für die Abrechnung vorgegeben. Während der Name
(SERVICECATEGORY) verändert werden kann, muss die ID als Bezug fest eingestellt bleiben.
Die Erweiterung von Dienstleistungsklassen kann aufgrund ihrer komplexen Kausalität nur durch
Programmierung (PL/SQL / Package: pkClearing) erfolgen.
ID
1
2
3
4
5
6
7
8
9
DIENSTLEISTUNGSKLASSE
Aufträge
Komponentenklasse
TK-Klasse
Applikation
Projekt
Kennungen
Projekt-LW
Gruppen-LW
Home-LW
Seite 19 von 22
Technische Dokumentation
© PrimeScale AG 2010
Lizenz
Die PrimeCMDB und alle mitgelieferten Komponenten sind, sofern nicht explizit ausgeschlossen,
unter GPL V3 lizensiert.
Seite 20 von 22
Technische Dokumentation
© PrimeScale AG 2010
Index
A
Active Directory..........................................................................................................................4, 17
Anlegen von Tablespace..................................................................................................................8
Application Server Management Console......................................................................................11
C
Connection Pool.............................................................................................................................14
Context Root..................................................................................................................................16
D
Datenbank........................................................................................................................................5
Debian..............................................................................................................................................5
G
GlassFish.............................................................................................................................4, 10, 11
J
J2EE...............................................................................................................................................10
JDBC............................................................................................................................11, 12, 14, 15
JVM..........................................................................................................................................11, 13
L
LDAP..............................................................................................................................................17
M
Microsoft Active Directory...........................................................................................................4, 17
N
Nagios..............................................................................................................................................3
Novell eDirectory............................................................................................................................17
O
Oracle.........................................................................................................................4, 5, 6, 7, 9, 12
P
Parameter..................................................................................................................................9, 18
PrimeCMDB................................................................................................................4, 9, 10, 16, 17
PrimeCMDB.war.............................................................................................................................16
S
Sun JavaTM Application Server ................................................................................................4, 10
T
Tablespace.......................................................................................................................................8
Tablespaces.....................................................................................................................................8
V
Verzeichnisdienst.............................................................................................................................4
W
Seite 21 von 22
Technische Dokumentation
© PrimeScale AG 2010
WAR-Datei.....................................................................................................................................16
Seite 22 von 22
Technische Dokumentation
© PrimeScale AG 2010
Herunterladen