Domino 7 Beta3 auf RedHat Fedora Core 3

  • Bei der Suche nach neuen Distro/Serverkombinationen konnte ich nach den anfaenglich unmöglichen Betrieb auf Fedora Core1 im neuen Fedora Core 3 mit 2.6.10er Kernel endlich saemtliche Operationen auf dem Server ausführen.


    Benötigt werden dafür bestimmte Parametrisierungen an Fedora Core 3, die ich Euch gerne veröffentlichen möchte.


    Die Anweisungen gelten selbstvertaendlich auch für alle stable Relaesaes ab Domino R6.


    Bei der Installation von Fedora muss zunaechst darauf geachtet werden, das man entsprechende Pakete unter 'Entwicklung Alt' mit auswaehlt - dies sind die sogenannten Kompatibilitaetsbibliotheken für Anwendungen, die RH 7.x/RH6 kompatibel sind.


    Leider scheint IBM hier in der Entwicklung nicht ganz zeitgemaess.
    Wenn Ihr andere Distros habt, sucht bei RPMfind.net:
    - compat-db-3.3.11-2.i386.rpm
    - compat-libstdc++-6.2-2.9.0.16.i386.rpm


    Dann sollte domino dennoch laufen.
    Desweiteren müsst Ihr entsprechende Java Runtime installieren.


    Für hieseig beschriebenes Domino 7 gehen aktuell Java2 RE's (1.4 oder neuer), für die stable Releases (6.5.3 und jünger) sollte man die (obsolete) Version 1.3.x der JRE installieren:
    http://java.sun.com/j2se/1.3/download.html


    Schnell noch den user 'notes' und die Gruppe 'notes' einrichten.


    Sind diese Schritte getan, so sollte man eine Standard Domino Installation wie gewohnt durchziehen können.


    Die Konfiguration startet man z.B. über einen anderen Rechner mit einer Remote Server Setup Console oder per Java Interface über Port 8585.


    Ein Tipp:
    Den Server als user 'notes' mit '/opt/lotus/bin/server -listen' starten ! Dann klappt auch die Konfiguration.


    Als naechstes geht es um die Benutzerprofilparameter des users 'notes' und Tweaks, um Domino 7 auf dem neuen Linux Kernel stabil zum laufen zu bekommen.


    Einmal als user 'notes' anmelden.
    Die Datei .bash_profile öffnen.


    Hier (zwingend !) folgenden Eintrag einfügen.
    export PATH=$PATH:/opt/lotus/bin:/./:/local/notesdata
    export LD_ASSUME_KERNEL=2.2.5


    Aendert bitte die entsprechende Ordnerverzeichnisse, wenn Ihr andere Ordner bei der Dominoinstallation angegeben habt.


    Dies gilt auch für das angepasste Domino Start-/Stopskript im Anhang (bitte ausführbar machen und root als Besitzer kontrollieren/korrigieren), welches Ihr unter
    /etc/init.d anlegt
    und mit dem (root) bash befehl
    'chkconfig --add domino' den Dienst aktivieren.


    Als naechstes kommen die Domino Tweaks für das System.


    Als root bitte in der Konsole einfach folgenden Befehl eingeben um die Ressourcen des Rechners für maximal mögliche gleichzeitig geöffnete Dateien anzeigen lassen:
    'more /proc/sys/fs/file-max' (bei meiner Kiste kommt z.B. ein Wert von 102752)


    Diese Zahl wird anschliessend an einigen Stellen eingetragen.
    Und zwar unter:


    '/etc/sysctl.conf'


    #ND6 Tweaks
    fs.file-max=102752 #(Dies ist der fs.file-max - Wert)
    kernel.shmmni=8192
    kernel.sem=250 12800032 1024
    kernel.threads-max=8192



    '/etc/security/limits.conf'


    #ND6 Tweaks
    * soft nofile 1024
    * hard nofile 102752 #(Dies ist der fs.file-max - Wert)


    Zum Schluss folgenden Eintrag in die .bash_profile des Users 'notes' hinzufügen:


    ulimit -n 102752 #(Dies ist der fs.file-max - Wert)
    export NOTES_PRIVATE_DPOOLSIZE=1000000


    Als wichtiger Hinweis sollte der für jedes System unterschiedliche Wert für 'fs.file-max' der über den oben genannten Bash - Befehl ermittelt wird eingetragen werden und keinesfalls überschritten werden.


    Ist dies getan, dann werden die systembedingten Unterschiede (u.a. die neuartige Behandlung der Swapfile) im 2.6er Kernel relativ elegant überwunden.


    Folgendes noch zu RedHat/Fedora:
    Durch das Feature, den IA32 microcode patch für den Kernel bei Intel CPUs im init.d einzuschalten, ist RH/Fedora auf Intel Rechnern ab Slot1 PIII CPU's bedeutend schneller (!) als auf gleich schnell getakten AMD Systemen.


    Möchte man RedHat/Fedora Core 3 für Domino nutzen, ist die Intel Plattform als Basis für einen Server auf jeden Fall zu bevorzugen.


    Viel Glück bei Eurer Installation!


    ./.

    "It's clearly a budget. It's got a lot of numbers in it."
    George W. Bush...

  • #!/bin/sh
    #
    # A startup script for the Lotus Domino 6 server
    #
    # chkconfig: 345 95 5
    # description: This script is used to start the domino \
    # server as a background process.\
    #
    # Usage /etc/init.d/domino start|stop|status|restart


    # Since RH9 includes better handling of the tweaks recommended by
    # IBM in their redbooks and this script was written for RH9 and Domino 6,
    # any reference to the tweaks have been removed. The modifications add the
    # status and restart options for the domino service.


    # This script is a combination of IBM's domino script and their startserver
    # script with slight modifications.


    # You should change the 3 following variables to reflect your environment.


    # DOM_HOME is the variable that tells the script where the Domino Data resides
    DOM_HOME=/opt/lotus/notesdata


    # DOM_USER is the Linux account used to run the Domino 6 server
    DOM_USER=notes


    # DOM_PROG is the location of the Domino executables
    DOM_PROG=/opt/lotus/bin


    # Source function library
    . /etc/rc.d/init.d/functions


    # Set the prog variable for the status line of the code
    prog=$DOM_PROG/server


    # Does the lock file exist?
    config () {
    if [ -f $DOM_HOME/.jsc_lock ]; then
    rm -f $DOM_HOME/.jsc_lock
    fi
    }


    # Let's start the server
    start() {
    echo -n "Starting domino: "
    config
    cd $DOM_HOME
    su - $DOM_USER -c "$DOM_PROG/server -jc -c > /dev/null 2>&1 &"
    return 0
    }


    # Let's stop the server
    stop() {
    echo -n "Stopping domino server: "
    su - $DOM_USER -c "$DOM_PROG/server -q"
    sleep 5
    echo -n "Is the controller running? If so, stopping it: "
    check_controller='netstat -an | grep " LISTEN" | grep 2050'
    if [ "$check_controller" ]
    then
    echo -n "Domino controller appears to be running - stopping..."
    echo Y | su - $DOM_USER -c "$DOM_PROG/server -jc -q";echo ''
    sleep 5
    fi
    return 0
    }


    # Let's stop and restart the server.
    restart() {
    echo -n "Beginning restart script..."
    check_controller='netstat -an | grep " LISTEN" | grep 2050'
    if [ "$check_controller" ]
    then
    echo -n "Domino controller appears to be running - stopping..."
    echo Y | su - $DOM_USER -c "$DOM_PROG/server -jc -q";echo ''
    sleep 5
    else
    check_server='ps -A | grep replica'
    if [ "$check_server" ]
    then
    echo -n "Domino server appears to be running - stopping..."
    su - $DOM_USER -c "$DOM_PROG/server -q"
    sleep 5
    fi
    fi
    echo -n "Starting Domino Controller and Server..."
    config
    cd $DOM_HOME
    su - $DOM_USER -c "$DOM_PROG/server -jc -c > /dev/null 2>&1 &"
    sleep 5
    echo -n "Domino Server restart complete..."
    }


    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    restart
    ;;
    status)
    status $prog
    ;;
    *)
    echo "Usage: domino {start|stop|status|restart}"
    exit 1
    esac

    "It's clearly a budget. It's got a lot of numbers in it."
    George W. Bush...

  • Weiterer Nachtrag:
    Bei dem start des Dominoservercontroller, um die Javaconsole auch lokal nutzen zu können, tritt eine Fehlermeldung auf:
    libawt.so: libXp.so.6:Kann die shared objects - Datei nicht öffnen...


    Bei RPMfindnet solltet ihr folgendes obsoletes Package nachinstallieren:
    xorg-x11-deprecated-libs-6.8.1-12.FC3.21.i386.rpm


    Die Java Libs von IBM erwarten Fragmente dieser shared libs....
    :roll:

    "It's clearly a budget. It's got a lot of numbers in it."
    George W. Bush...