The OpenAdmin Tool

Das OpenAdmin Tool (AOT) von Informix ist eine feine Sache. Bis auf die Installation, aber das ist bei einem GUI-Tool nicht anders zu erwarten. Aus diesem Grunde hier ein paar Tips, die es bei der Installation zu beachten gilt.

Wir setzen voraus, daß der Apache-Webserver, PHP sowie IDS 11.50 und das CL-SDK bereits laufen. Der Systemadministrator sollte also wissen, wo er die PHP-, Apache- und Informix-Dateien findet.

  • Bevor man das OAT herunterlädt, benötigt man ein anderes Tool von der Seite
    http://pecl.php.net/package/PDO_INFORMIX, nämlich den PHP-Modul "pdo_informix".

    Dieser wiederum setzt den PHP-Modul "pdo" voraus, der in der Regel zusammen mit PHP installiert wird. Wenn also "pdo" installiert ist, lädt man sich pdo_informix von der o.a. Seite herunter. Dort ist derzeit (03.01.2010) die letzte "stable" Version die Nummer 1.2.6.

  • Jetzt wird die eben genannte Version von pdo_informix installiert. Eine gute Beschreibung findet man bei Kellen Bombardier auf
    dieser Seite. Es funktioniert allerdings nicht alles so, wie es dort in den Scripten steht. Meine Änderungen gelten ausschließlich für das Betriebssystem Suse 11.2. und die Informix Version 11.50.

    pdo_informix wird in Form eines "tgz"-Files geliefert. Dieses muß nur noch entzipt werden und sollte dann in das Verzeichnis

    /usr/include/php5/ext
    

    enttart werden. Das dadurch entstehende Unterverzeichnis habe ich in "pdo_informix" umbenannt.
    Als nächstes muß man das Programm "phpize" aufrufen. phpize ist Bestandteil des Pakets "php5-dev", welches man zusätzlich installieren muß.

  • Die Ausgabe von phpize sieht dann so aus:
    cd /usr/include/php5/ext/pdo_informix
    vonhaeften:/usr/include/php5/ext/pdo_informix # phpize
    Configuring for:                                      
    PHP Api Version:         20090626                 
    Zend Module Api No:      20090626                     
    Zend Extension Api No:   220090626                    
    configure.in:150: warning: AC_CACHE_VAL(lt_prog_compiler_static_works, ...): 
    .....
    aclocal.m4:4641: _LT_AC_TAGCONFIG is expanded from...              
    

    Jetzt kommt die nächste Hürde:

    vonhaeften:/usr/include/php5/ext/pdo_informix #
    ./configure
    checking for grep that handles long lines and -e...
    /usr/bin/grep
    checking for egrep... /usr/bin/grep
    -E
    checking for Informix driver for PDO... yes, shared
    checking for PDO includes... configure: error: Cannot find php_pdo_driver.h.
    

    "configure" findet also die Datei "php_pdo_driver.h" nicht. Diese Datei ist allerdings schon vorhanden, nämlich im Verzeichnis /usr/include/php5/ext/pdo/php_pdo_driver.h. Die Frage ist, warum wird sie nicht gefunden?
    In diesem Fall liegt es daran, daß das Script "configure" einen falschen Pfad angibt. Dort heißt es nämlich:

      if test -f $abs_srcdir/include/php/ext/pdo/php_pdo_driver.h; then
        pdo_inc_path=$abs_srcdir/ext
      elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then
        pdo_inc_path=$abs_srcdir/ext
      elif test -f $prefix/include/php/ext/pdo/php_pdo_driver.h; then
        pdo_inc_path=$prefix/include/php/ext
      else
        { { $as_echo "$as_me:$LINENO: error: Cannot find php_pdo_driver.h." >&5
    
    

    Es fehlt also überall eine "5" hinter dem "php"!!! Richtig muß es in dem
    Script heißen:

      if test -f $abs_srcdir/include/php5/ext/pdo/php_pdo_driver.h; then
        pdo_inc_path=$abs_srcdir/ext
      elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then
        pdo_inc_path=$abs_srcdir/ext
      elif test -f $prefix/include/php5/ext/pdo/php_pdo_driver.h; then
        pdo_inc_path=$prefix/include/php5/ext
      else
        { { $as_echo "$as_me:$LINENO: error: Cannot find php_pdo_driver.h." >&5
    

    Führt man das Script nach dieser Änderung aus, so bekommt man folgende Ausgabe:

    vonhaeften:/usr/include/php5/ext/pdo_informix
    ./configure
    checking for grep that handles long lines and -e...
    /usr/bin/grep
    
    checking for egrep... /usr/bin/grep -E
    ........................
    creating libtool
    appending configuration tag "CXX" to libtool
    configure: creating ./config.status
    config.status: creating config.h
    
  • Im nächsten Schritt kommt "make":
    vonhaeften:/usr/include/php5/ext/pdo_informix # make
    /bin/sh /usr/include/php5/ext/pdo_informix/libtool.......
    Build complete.
    Don't forget to run 'make test'.
    
  • Weitere Änderungen betreffen das php.ini-file im Verzeichnis /etc/php5/apache2 sowie die Konfigurationsdatei der Apache-Webservers. Im php.ini-file sind in der Section "Dynamic Extensions" zwei Zeilen einzufügen:
    extension=pdo.so
    extension=pdo_informix.so
    

    In der Konfigurationsdatei der Apache-Webservers /etc/apache2/default-server.conf müssen die Umgebungsvariablen von Informix stehen:

    PassEnv LD_LIBRARY_PATH
    PassEnv INFORMIXDIR
    PassEnv INFORMIXSERVER
    PassEnv INFORMIXSQLHOSTS
    PassEnv ONCONFIG
    

    Danach den Apache neustarten: rcapache2 restart.

  • Zur Installation des OpenAdmin Tools sollte man die tar-Version downloaden:

    Informix IDS OpenAdmin Tool for tar file. Diese dann in ein geeignetes Verzeichnis enttarren, auf das der Webserver Zugriff hat. In der Datei README.TXT steht eine brauchbare Anleitung zur Installation, nach deren Durchführung man das Tool im Firefox aufrufen kann:

    http://servername/OPENADMIN/install/
    

    Dann noch ein paar Klicks, und man sieht, ob OPENADMIN alle erforderlichen PHP-Module gefunden hat. Falls pdo_informix.so nicht gefunden wurde, dann diesen Modul kopieren:

    cp /usr/include/php5/ext/pdo_informix/modules/pdo_informix.so \\
        /usr/lib64/php5/extensions
    

    Als letztes könnte dann noch der PHP-Modul "soap" fehlen. Dieser kann mittels
    yast von der Suse 11.2-CD nachinstalliert werden (suche nach "php5-soap").