Print Friendly  .  About this website   .  Search 

 

 

 

Index Data  >  ⁠Keystone DLS (TKL) (NO LONGER BEING ACTIVELY DEVELOPED)  >  Keystone Administration  >  Red Hat

Red Hat

Index Data provides some Red Hat 9.0 packages, and most of external packages, which our software depends on, can conveniently be installed by the RPM system. This approach is only tested on Red Hat 9.0 systems, although it should work on running Red Hat 8, or even 7.

You need to install the following official RPM packages: httpd, php, php-devel, tcl, tcp_wrappers, as well as the following packages from Index Data: libyaz, libyaz-devel, idzebra.

For the remaining components there are no official packages. PHP/YAZ as well as Sablotron and PHP/XSLT must be compiled and installed separately.

Install Sablotron first. It exists as a RPM package, but this one will not work with Keystone due to misconfiguring of the bundled Java interface. Therefore, get the tarball from Keystone support or from the official Sablotron site. Configure, make and make install as usual.

Warning

Unfortunately, the Sablotron packages version 1.0 have a nasty bug which segfaults the Keystone applications using the tkl-file xslt macro. This forces any Keystone installation to use the patched sablotron version 1:1.0.1-2 found at our web site. http://ftp.indexdata.dk/pub/sablotron/sablotron-1.0-ID-patched-1.tar.gz

The rest of this guide assumes installation of Sablotron in /usr/local.

For PHP/XSLT we need to make a PHP dynamic shared object (DSO) that links with the official RPM packages for PHP. Check the version number of PHP for RedHat (in Red Hat 9 the version is 4.2.2), and fetch a PHP source tarball of the same version number. You may download the 4.2.2 tarball from Keystone support, or from the PHP download area.

Then unpack the PHP source and do the following:

        cd ext/xslt
        vi config.m4
      

Remove the check for iconv in config.m4. iconv is installed already and is part of the running PHP! Remove or comment out the three following lines, starting at PHP_SETUP_ICONV.

     PHP_SETUP_ICONV(XSLT_SHARED_LIBADD, [], [
       AC_MSG_ERROR([iconv not found, in order to build sablotron you
                                              need the iconv library])
     ])
      

Now we have a proper config.m4, and can generate the configure script, and run it.

        phpize
        ./configure --enable-xslt --with-xslt-sablot=/usr/local
        make
        # su
        # make install
      

Make sure that the file /usr/lib/php4/xslt.so exists.

Now, we need to enable XSLT support in PHP. On a Red Hat 9 system using Apache version 2, we inject the following lines in the PHP included INI files like this:

        # echo 'extension=xslt.so' >/etc/php.d/xslt.ini
      

On a Red Hat 8 system, we add the following lines to the /etc/php.ini configuration file:

        extension=xslt.so
      

That's it. Restart/start apache and ensure that xml, domxml, xslt, and yaz are all enabled:

        # echo '<?phpinfo()?>' >/var/www/html/phpinfo.php
        # /etc/init.d/httpd stop
        # /etc/init.d/httpd start
      

Then open the url http://localhost/phpinfo.php and inspect the phpinfo() output.

Proceed to the section called “PHP/YAZ”.