Installation von Apache, Oracle, LDAP und PHPauf Linux-Basis

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

Installation von Apache, Oracle, LDAP und PHPauf Linux-Basis

Postby ViperRT/10 » 01. April 2005 08:27

Hallo Leute,

da ich momentan an einem Projekt arbeite, in dem es um die Auswertung der Inventardatenbank (basiert auf Oracle 9iR2) mit PHP-Mitteln geht, habe ich mich dazu entschlossen diese kleine Anleitung zu schreiben.

Der Grund dafuer ist/war, dass XAMPP-Paket keine lauffaehige Umgebung fuer LDAP hat und sie auch nicht zum Laufen bewegen laesst. Hier im Forum habe ich auch keine Hilfe bekommen, deswegen habe ich es mit XAMPP sein lassen und es haendisch compiliert und konfiguriert.

Also nun los.

Benoetigte Software:
-> Oracle Client, damit man auf eine Oracle-Datenbank zugreifen kann. Dafuer habe ich den 10g-Client genommen.
-> Tar-Ball von www.apache.org, Version 1.3.33
-> Tar-Ball von www.php.net, Version 4.3.10
-> eine lauffaehige Entwicklungsumgebung, mit make, gcc etc.

So, als erstes installiert man den Oracle-Client auf der Maschine. Den bekommt man auf www.oracle.com, die Datei heisst ship.client.lnx32.cpio.gz und ist etwa 380MB gross. Dabei waehlt man bei der Installation "Administrator" Option auswaehlen, damit die Header- und Libfiles, die fuer PHP benoetigt sind, mitinstalliert werden.
Den Client installiert man als NICHT-ROOT, sonst bricht die Installation ab. Man braucht irgendeinen User anzulegen und mit su - user zu ihm wechseln.

Nach der Installation vom Oracle-Client beginnt man mit der Installation von Apache. Dazu entpackt man den Archiv in irgendein Verzeichnis und geht wie folgt vor (Apache Version 1.3.33):

Code: Select all
tar -xzvf apache_1.3.33.tar.gz
cd apache_1.3.33
./configure --prefix=/opt/apache --enable-module=so


Der Flag --enable-module=so ist sehr wichtig, ohne ihn wird die PHP-Oracle-Unterstuetzung nicht laufen. Nach dem Durchlaufen des Configscripts, folgt:

Code: Select all
make
make install


Dann startet man den Apache-Server und schaut nach ob alles tut:

Code: Select all
/opt/apache/bin/apachectl start


Man macht den Browser auf, und gibt als URL http://rechnername/. Wenn alles geklappt hat, sieht man eine Willkommensseite von Apache.

Dann faehrt man den Apache-Server wieder runter:

Code: Select all
/opt/apache/bin/apachectl stop


Nun faehrt man mit PHP fort (Version 4.3.10):

Code: Select all
tar -zxvf php-4.3.10.tar.gz
cd php-4.3.10


So, bevor man PHP compiliert, muss man ORACLE_HOME "exportieren". ORACLE_HOME hat man bei der Installation des Oracle-Clients festgelegt, nun muss man die Variable fuer den User root exportieren.

Also:

Code: Select all
export ORACLE_HOME=/opt/oraclient (bei mir ist es so)
./configure --with-oci8=$ORACLE_HOME \
--with-apxs=/opt/apache/bin/apxs \
--with-iconv \
--with-ldap \
--enable-sigchild


Nach dem Durchlaufen des Configscripts:

Code: Select all
make
make install
cp php.ini-dist /usr/local/lib/php.ini


So, damit ist PHP auch installiert, nun muss man dem Apache PHP beibringen. Dafuer muss man /opt/apache/conf/httpd.conf editieren.
Man sucht nach folgender Zeile:

Code: Select all
LoadModule php4_module libexec/libphp4.so


bei meiner Installation war sie schon vorhanden. Aber es fehlten weitere Zeilen.

Man sucht nach

Code: Select all
IfModule


und fuegt nach einem

Code: Select all
</IfModule>


folgende Zeilen ein:

Code: Select all
<IfModule mod_php4.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps
</IfModule>


Damit ist es installiert.

Was man noch braucht, ist ein Script, das die Umgebungsvariable setzt. Das habe ich wie mit einem Script mit folgendem Inhalt geloest:

Code: Select all
#!/bin/bash
ORACLE_HOME=/opt/oracleclient
export ORACLE_HOME
echo "Oracle Home: $ORACLE_HOME"
echo Starting Apache
./apachectl start


Abspeichern als zum Beispiel start_apache.sh, macht es mit

Code: Select all
chmod +x start_apache.sh


ausfuehrbar und startet das Ding.

So, nun will man natuerlich sehen, ob alles wirklich geklappt hat. Dafuer erstellt man unter /opt/apache/htdocs eine Datei mit folgendem Inhalt:

Code: Select all
<?php
 phpinfo();
?>


Abspeichern als test.php und im Browser aufrufen mit http://rechnername/test.php.

Das, was man sich erhofft zu sehen, sieht wie folgt aus:

fuer LDAP:

Code: Select all
ldap
LDAP Support    enabled
RCS Version    $Id: ldap.c,v 1.130.2.10 2004/06/01 21:05:33 iliaa Exp $
Total Links    0/unlimited
API Version    2004
Vendor Name    OpenLDAP
Vendor Version    20026


fuer Oracle:

Code: Select all
oci8
OCI8 Support    enabled
Revision    $Revision: 1.183.2.16 $
Oracle Version    10.1
Compile-time ORACLE_HOME    /opt/oraclient/
Libraries Used    no value


Wenn es so aussieht, ist alles cool.

Ich hoffe, dass ich damit denjenigen von Euch geholfen habe, die etwas mehr wollen, als XAMPP bietet.

Gruss Viper'
User avatar
ViperRT/10
 
Posts: 10
Joined: 29. March 2005 08:09

Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 2 guests