Sametime op Linux Deel 1 – Domino Installatie

Na een aantal high level artikelen over social software is het nu tijd voor een echt technisch artikel. In dit geval over hoe je een stuk social software, Lotus Sametime, kunt installeren op Linux. Een tijd geleden heb ik voor mezelf thuis Sametime geïnstalleerd op Linux. De meesten die zich met Lotus producten bezig houden hebben waarschijnlijk al wel Domino geïnstalleerd op Windows en misschien ook zelfs Sametime op Windows, maar Domino/Sametime installeren op Linux doen de meesten niet zo vaak. Ook op Linux is het niet moeilijk om een Sametime server te installeren, maar er zijn toch een aantal dingen om rekening mee te houden en het is handig om standaard start/stop scripts etc te kunnen gebruiken. Om die reden wil ik eens uitgebreid beschrijven hoe je Sametime installeert op Linux. Dit doe ik in 2 delen. Voor je Sametime kunt installeren heb je een werkende Domino server nodig, dus ik beschrijf eerst hoe je Domino installeert op Linux. Vervolgens ga ik in deel 2 Sametime installeren op die machine. Deel 2 zal overigens pas volgende maand komen.

Waarom Domino op Linux
Voor ik laat zien hoe de installatie in zijn werk gaat even een paar puntjes over waarom je eigenlijk Domino op Linux zou installeren:

  • Voor Linux hoef je geen licentiekosten te betalen en een service contract is goedkoper (en ook niet persé nodig)
  • De uptime van een Linux is hoger om de doodsimpele reden dat je bij het installeren van updates, kernel updates uitgezonderd, je machine niet hoeft te herstarten. Aangezien kernel updates niet zo vaak gedaan hoeven te worden, hoeft je Linux machine beduidend minder vaak gereboot te worden dan de maandelijkse reboot bij Windows
  • Domino op Linux draait erg stabiel. Bij mij thuis draaien mijn 2 Domino servers die op Linux draaien beduidend stabieler dan de server die op Windows draait, al heeft dat ook wel een beetje met de taken te maken die op die servers draaien (mail & Sametime server vs Domino Web Server)
  • Linux is makkelijker veilig te configureren. Van huis uit is Linux veiliger dan Windows omdat processen in het algemeen geen root rechten hebben. Ook is de firewall van Linux erg makkelijk in te stellen


Welke Linux distributie?

Bij Windows is het nogal eenvoudig. Je hebt of Windows 2000 SP4 of Windows 2003 SP1+ nodig om Sametime te kunnen installeren (Geen 64 bit OS dus). Bij Linux is de keuze wat groter. Supported zijn:

  • Red Hat Enterprise Linux (RHEL) Advanced Server (AS) xSeries 4.0, Update 4, with Domino 7.x
  • Red Hat Enterprise Linux (RHEL) Advanced Server (AS) xSeries 5.0, with Domino 8.x
  • SUSE Linux Enterprise Server (SLES) xSeries 10.0, Service Pack (SP) 1

Naast deze supported distributies, zijn er nog talloze distributies waar je het ook werkend op kunt krijgen. Ubuntu Server bijvoorbeeld. Dan moet je alleen iets meer moeite doen om de juiste packages te krijgen en de Sametime installer ervan te overtuigen om gewoon te gaan installeren. Ik heb voor mijn Linux installaties gekozen voor de distributie CentOS 5.2. CentOS staat voor Community Enterprise OS en is een binary compatible kloon van Red Had Enterprise Linux. De versienummers lopen ook gelijk.

Linux installeren
Over de installatie van Linux ga ik niet veel vertellen. Zorg in ieder geval dat je zo weinig mogelijk overbodige zaken mee installeert. Geen OpenOffice, geen web server, geen mail server etc. Samba is wel handig om je bestanden naar je server te krijgen (kan ook via FTP). Installeer ook Java en de development tools. Daarnaast vind ik het als niet Linux guru ook erg handig om wel een grafische schil mee te installeren. Bij CentOS/RedHat is dat standaard Gnome.

Waar ik wel wat over wil zeggen is de indeling van je partities. Bij Linux heb je altijd één grote directory structuur ongeacht of je de boel in partities hebt verdeeld of niet. Het is waarschijnlijk ook niet echt noodzakelijk om de boel in partities te verdelen, maar ik hou nog altijd de partitie indeling aan van het Domino 6 for Linux Redbook. Iemand met meer Linux kennis dan ik is van harte uitgenodigd om hier wat zinvols over te roepen. Mijn partitie-indeling is:

/ – 4 GB
/var – 512MB
/translogs – 600 MB
SWAP – 1024 MB
/local – minimaal 4GB

Voor de translogs directory die bedoeld is voor de Transactional logs is het handig voor productieservers om die op een andere schijf op een andere controller te plaatsen. Ik installeer alles binnen VMWare en daar is dat geen optie, tenzij je externe schijven aan je VM gaat koppelen. Bij deze setup zal je /var overigens zo nu en dan vollopen, maar da’s een goede reminder dat je de overblijfselen van de updates even moet verwijderen.
Mocht je CentOS of Red Hat gebruiken binnen VMWare dan is het handig om als extra boot parameters de opties “divider=10 noapic” mee te geven. De eerste verhoogt de performance van je VM (het zorgt dat ie minder zinloos interrupts doet) en de tweede scheelt je een aantal foutmeldingen.

Na de initiële Linux installatie kom je in het Welkomst scherm waar je o.a. je firewall moet instellen. De poorten die je op moet zetten zijn:
SSH (voor server onderhoud)
WWW (HTTP) : 80
Secure WWW (HTTPS) : 443
Samba of FTP (naar gelang wat je wilt gebruiken om je installatiefiles op je machine te krijgen)
SMTP als je Domino server ook SMTP mail moet kunnen ontvangen
1352 (NRPC)
1533 (Sametime poort)
1516 (Sametime server – server poort. Ook nodig voor iNotes met Sametime)
2050 (Domino controller. Alleen als je de controller gebruikt)
8585 (Tijdelijk om de Remote Server installer te kunnen gebruiken)

IBM raadt aan om SELinux (RedHat/CentOS) uit te zetten bij een Domino/Sametime installatie.

Linux configureren
Als je Linux distributie is geïnstalleerd is het tijd om een aantal paketten te installeren en een aantal wijzigingen te doen om je installatie klaar te maken voor Domino.
Een aantal stappen om te nemen:

  • Installeer alle updates (vergelijkbaar met Windows Updates, maar dan van alle pakketten)
  • Schakel onnodige services uit. Zelfs als je goed hebt opgelet welke pakketten je wilde installeren heb je kans dat er onnodige services zoals Bluetooth service, smart card service etc zijn. Gelukkig zijn de meeste services in Linux vrij goed omschreven en kun je dus vrij goed raden welke je veilig uit kunt zetten
  • Installeer VMWare Tools als je de boel binnen VMWare draait (vergeet niet om time synchonization aan te zetten)
  • Als je nog geen gebruiker en groep voor je Domino server hebt aangemaakt. Doe dat dan nu. Meestal wordt hier als gebruikers en groepsnaam “notes” voor gebruikt
  • Kopieer de linux server installatie bestanden naar je /local drive (even in een aparte dit zetten) of zorg dat Linux er goede toegang toe heeft
  • Om Domino (en Sametime) in grafische mode te kunnen installeren heb je nog een extra pakket nodig:
    To successfully install the  Domino server in graphical mode on supported RedHat platforms,  install the
    following RPM:
    libXp-1.0.0-8.i386.rpm
    (or later)
    ook wel bekend als X.Org X11 libXp runtime library
  • Om Domino werkend te krijgen, moet je controleren of je de volgende packages allemaal geinstalleerd hebt (uit de Release Notes):
    The following packages are required for server support on xSeries (32/64-bit) /System z (64-bit) SLES 10
    (equivalent required for RHEL 5 – which may mean additional RPMs including compatible RPMs)*:
    glibc-32bit-2.4-31.2
    libgcc-4.1.0-28.4
    libstdc++-4.1.0-28.4
    in addition, due to Java, the following packages are required for the server :
    alsa-32bit-1.0.11-32.2
    atk-32bit-1.10.3-15.2
    cairo-32bit-1.0.2-27.4
    compat-libstdc++-5.0.7-22.2
    expat-32bit-2.0.0-13.2
    fontconfig-32bit-2.3.94-18.5
    freetype2-32bit-2.1.10-18.5
    glib-32bit-1.2.10-609.2
    glib2-32bit-2.8.5-21.2
    glibc-32bit-2.4-31.2
    glitz-32bit-0.4.4-21.2
    gtk-32bit-1.2.10-907.2
    gtk2-32bit-2.8.10-39.12
    libgcc-4.1.0-28.4
    libpng-32bit-1.2.8-19.2
    43 IBM Lotus Notes, Domino, Domino Designer 8.0.2  Release Notes
    pango-32bit-1.10.2-23.2
    resmgr-32bit-0.9.8_SVNr75-18.4
    unixODBC-32bit-2.2.11-21.4
    xorg-x11-libs-32bit-6.9.0-50.14
    zlib-32bit-1.2.3-15.2
    * These names are from the library dependency lists on a SLES 10 64bit xSeries system, which is why some of the
    RPMs say “32bit” in their name.  The names may change slightly if you are running any other version of Linux, but the
    “gist” remains the same: you need the given package (such as libstdc++) and the given level (4.1.0).  Sometimes a
    higher level is OK, but other times you need the given level or a compatible level (C++ is an example where you need
    the given level or compatible RPM, like compat-libstdc++-5).  For example, on RHEL 5 you need
    compat-libstdc++-33 and compat-libstdc++-296 to get the correct C++ level of libraries for both Java and Domino.  If
    there is no comparable patch available for RHEL, for example, then you should be ok with not applying the
    patch/package.
    Als je bij de installatie van Linux Java en development tools hebt geinstalleerd zul je de meeste packages overigens wel hebben. Ik moest zelf compat-libstdc++-33, compat-libstdc++-296, glib, gtk+  en unixODBC extra installeren.


Domino installeren

In principe ben je nu klaar om Domino te installeren. Open hiervoor een terminal venster. Ga naar de directory waar de Domino installatie bestanden staan (/local/linux/domino) en doe: ./install

Het venster wat je nu ziet is exact hetzelfde venster als onder Windows en de installatieprocedure is ook vrijwel gelijk. Program Files staan onder Linux standaard in /opt/ibm/lotus en de Notes data directory staat standaard in /local/notesdata.
Linux is overigens beter geschikt dan Windows om partitioned servers te draaien.


Bij de username kun je de gekozen Notes user en groep invoeren. Standaard dus notes:notes
Het volgende scherm geeft je de mogelijkheid om te kiezen wat er moet gebeuren na de installatie. Of je meteen de configuratie in wilt en zo ja of je dat lokaal of remote wilt doen. Ik ben altijd een fan van remote, maar lokaal kan natuurlijk ook.

De hierna volgende stappen zijn exact hetzelfde als bij een installatie op Windows en die sla ik dan ook over. Als alles goed is gegaan, krijg je het volgende scherm:

Domino Setup
Bij het opstarten van Domino komt nu de volgende foutmelding langs:
WARNING: the maximum number of file handles (ulimit -n) allowed for Domino is 1024.
See Release Notes and set the allowable maximum to 20000.
Dit lossen we later op. Eerst de server setup.
Als je je Domino server een additional server gaat maken, moet je het server id naar de /local/notesdata directory kopiëren. Het is daarbij van belang dat dit id de juiste owner heeft. Elk bestand in de /local/notesdata directory moet als owner notes:notes hebben (als dat tenminste het door jou gekozen id is). Om dit te bereiken kun je bijvoorbeeld een chown notes:notes /local/notesdata/* doen.
Overigens is het bij een additional server handig om voor de setup de configuratie van de server te doen (in het server document in de Domino Directory op de Administration Server). Zorg er in ieder geval voor dat de nieuwe server toegang heeft tot de administration server.

Linux verder configureren
Als je de server setup doorlopen hebt is het tijd om Linux verder te configureren. Als je de remote server setup gebruikt hebt en die poort (8585) dus in de firewall had open gezet is het nu tijd om die weer dicht te zetten. Vervolgens moeten we een aantal configuratiebestanden aanpassen die je beschreven kunt vinden in de Domino 8 Release Notes onder het kopje Configuration Notes – Domino for Linux on x86 configuration. Hier wordt beschreven dat het afhankelijk is van hoe je Domino start, als program of als service, welke bestanden je moet aanpassen. Aangezien je nooit weet of je een keer Domino per ongeluk als program gaat starten is het het handigste om beiden te doen:
Open als root het bestand  /etc/security/limits.conf en voeg daar de volgende 2 regels toe:
notes soft nofile 20000
notes hard nofile 49152
(ervan uitgaande dat je Notes user id “notes” is)
Vervolgens moet je de volgende regel
session  required  pam_limits.so
toevoegen aan het juiste bestand in de  /etc/pam.d/ directory. Als je Domino gewoon vanuit de grafische shell runt is dat het /etc/pam.d/login bestand. Als je Linux via ssh benadert is dat het bestand  /etc/pam.d/sshd

De wijzigingen die gedaan moeten worden als Domino als service wordt gestart, gaan we aanpakken via een start/stop script.
Dé authoriteit op het gebied van start/stop scripts voor Domino op *nix is Daniel Nashed. Via deze pagina kun je de laatste versie bij hem aanvragen (je krijgt een auto-reply met de scripts).
Zijn script bestaat uit 3 files die in de volgende directories geplaatst moeten worden
rc_domino_script -> /opt/ibm/lotus/
rc_domino -> /etc/init.d/
rc_domino_config_notes -> /etc/sysconfig/
Het rc_domino_config_notes script is de enige die je aan moet passen. Aan de hand van de instructies op Daniels webpagina kun je kijken welke instellingen voor jou het beste zijn. Dit is de inhoud van mijn config script:
# mandatory configuration

LOTUS=/opt/ibm/lotus
DOMINO_DATA_PATH=/local/notesdata
DOMINO_LANG=nl_NL
DOMINO_SHUTDOWN_TIMEOUT=600
DOMINO_CONFIGURED=”yes”
USE_JAVA_CONTROLLER=”yes”

# — remove loadmon.ncf on startup
DOMINO_RESET_LOADMON=”yes”

# — Shared DPOOLSIZE for Linux Tuning
DOMINO_SHARED_DPOOLSIZE=20971520

# — remove temp-files on startup
#DOMINO_REMOVE_TEMPFILES=”yes”

# — output/input log directory
DOMINO_LOG_DIR=/local/log

# — backup log directory
DOMINO_LOG_BACKUP_DIR=/local/log/backup

De taal instelling duidt op de regionale instellingen die o.a. je datum formaat getal separator bepalen, dus daarvoor zul je voor servers in Nederland die nl_NL instelling moeten doen. Als je de log directories definieert moet je ook de log directories aanmaken en notes:notes eigenaar maken. Verder ben ik persoonlijk een grote fan van de Java Controller voor Domino (ik ben een van de weinigen geloof ik), dus die heb ik ook in mijn script staan.
Vervolgens moet je zorgen dat de scripts de juiste rechten hebben. Voer daarom de volgende commando’s uit:

chmod 755 /etc/init.d/rc_domino
chmod 755 /opt/ibm/lotus/rc_domino_script
chmod 644 /etc/sysconfig/rc_domino_config_domnotes
chown notes:notes /opt/ibm/lotus/rc_domino_script

Vervolgens moet je het start script nog aan de linux opstartservices toevoegen. Dit doe je (in RedHat/CentOS) via het commando: chkconfig rc_domino on
Tenslotte moeten we nog de translogs directory aan de juiste gebruiker toewijzen:
chown notes:notes /translogs
en is het handig om in het kader van de aanstaande Sametime installatie alvast de servlet directory aan te maken (anders krijg je foutmeldingen als je HTTP taak loopt)
mkdir /local/notesdata/domino/servlet
chown notes:notes /local/notesdata/domino/servlet

Domino starten
We zijn zover om de boel te gaan testen. Laten we eerst Domino een keer als program opstarten. Doe daarvoor de commando’s:
su notes
cd /local/notesdata
/opt/ibm/lotus/bin/server

Als alles lijkt te werken, kun je de server stoppen (q) en de service opstarten.

Dat is het. Je hebt zojuist Domino op Linux geïnstalleerd!

Links
CentOS
Domino 8 Release Notes
Domino Start/Stop Script

Advertenties
Tagged with: , , , , , ,
Geplaatst in Blogs

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s

Archief
%d bloggers liken dit: