Hi,
erstmal die Anmerkungen:
1.
Bei mir laufen die shared-Module (u.A. MySql) noch nicht.
Sobald ich das Problem gelöst habe mache ich ein Update.
(edit: jetzt läufts! Lösungen stehen unten.)
2.
Das ganze ist (wie immer bei mir) als Shell-Script gestalltet.
Bitte beachten, daß man dafür Ausführungsrechte und im Unix-Format speichern muß.
3.
Vorerst also nur die nötigen devel-Module.
(Flex ist ebenfalls included) Es sind alles RPMs für das installierte RedHat eines S4F-vServer!!! Bei andern Systemen können die Versionen abweichen.
(Falls es bei einem vServer-System zu Abweichungen kommt, dann bitte mich kontakten.)
Das Script ist zwei Bereiche geteilt:
- minimal (PHP-Core + MySQL + GD)
- weitere (so wie das vorinstallierte PHP des RH 7.3 auf dem vServer)
4.
Ich arbeite immer (wie es sich gehört) unter
/usr/local/src. Abweichungen sind im ersten
cd ... Befehl zu ändern.
Installiert wird PHP dann aber unter
/usr nicht unter
/usr/local.
5.
Die Konfiguration und weitere Installationsschritte von PHP sind dann weiter unten.
mind. Devel:
[code:1]#!/bin/sh
cd /usr/local/scr
# mind. nötige Devel und sonstige Packete:
wget ftp://ftp.uni-kl.de/pub/linux/redhat/redhat/updates/7.3/en/os/i386/apache-devel-1.3.27-3.i386.rpm
rpm -Uvh apache-devel-1.3.27-3.i386.rpm
wget ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/flex-2.5.4a-23.i386.rpm
rpm -Uvh flex-2.5.4a-23.i386.rpm
wget ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/gd-devel-1.8.4-4.i386.rpm
rpm -Uvh gd-devel-1.8.4-4.i386.rpm
wget ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/libjpeg-devel-6b-19.i386.rpm
rpm -Uvh libjpeg-devel-6b-19.i386.rpm
wget ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/updates/7.3/en/os/i386/libpng-devel-1.0.14-0.7x.4.i386.rpm
rpm -Uvh libpng-devel-1.0.14-0.7x.4.i386.rpm
wget ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/updates/7.3/en/os/i386/mysql-devel-3.23.58-1.73.i386.rpm
rpm -Uvh mysql-devel-3.23.58-1.73.i386.rpm[/code:1]
Weitere Devel:
[code:1]#!/bin/sh
cd /usr/local/src
# weitere Devel:
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/openssl-devel-0.9.6b-18.i386.rpm
rpm -Uvh openssl-devel-0.9.6b-18.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/bzip2-devel-1.0.2-2.i386.rpm
rpm -Uvh bzip2-devel-1.0.2-2.i386.rpm
#wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/curl-devel-7.9.5-2.i386.rpm
#rpm -Uvh curl-devel-7.9.5-2.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/8.0/en/os/i386/RedHat/RPMS/curl-7.9.8-1.i386.rpm
rpm -Uvh --nodeps curl-7.9.8-1.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/8.0/en/os/i386/RedHat/RPMS/curl-devel-7.9.8-1.i386.rpm
rpm -Uvh curl-devel-7.9.8-1.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/gdbm-devel-1.8.0-14.i386.rpm
rpm -Uvh gdbm-devel-1.8.0-14.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/db3-devel-3.3.11-6.i386.rpm
rpm -Uvh db3-devel-3.3.11-6.i386.rpm
#wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/libxml2-2.4.19-4.i386.rpm
#rpm -Uvh libxml2-2.4.19-4.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/libxml2-devel-2.4.19-4.i386.rpm
rpm -Uvh libxml2-devel-2.4.19-4.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/freetype-devel-2.0.9-2.i386.rpm
rpm -Uvh freetype-devel-2.0.9-2.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/gmp-devel-4.0.1-3.i386.rpm
rpm -Uvh gmp-devel-4.0.1-3.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/imap-devel-2001a-10.i386.rpm
rpm -Uvh imap-devel-2001a-10.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/updates/7.3/en/os/i386/krb5-libs-1.2.4-11.i386.rpm
rpm -Uvh krb5-libs-1.2.4-11.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/updates/7.3/en/os/i386/krb5-devel-1.2.4-11.i386.rpm
rpm -Uvh krb5-devel-1.2.4-11.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/updates/7.3/en/os/i386/openldap-devel-2.0.27-2.7.3.i386.rpm
rpm -Uvh openldap-devel-2.0.27-2.7.3.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/ncurses-devel-5.2-26.i386.rpm
rpm -Uvh ncurses-devel-5.2-26.i386.rpm
#wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/updates/7.3/en/os/i386/postgresql-libs-7.2.3-5.73.i386.rpm
#rpm -Uvh postgresql-libs-7.2.3-5.73.i386.rpm
#wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/updates/7.3/en/os/i386/postgresql-devel-7.2.3-5.73.i386.rpm
#rpm -Uvh postgresql-devel-7.2.3-5.73.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.2/en/os/i386/RedHat/RPMS/postgresql-devel-7.1.3-2.i386.rpm
rpm -Uvh postgresql-devel-7.1.3-2.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/pspell-devel-0.12.2-8.i386.rpm
rpm -Uvh pspell-devel-0.12.2-8.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/updates/7.3/en/os/i386/mm-devel-1.1.3-11.i386.rpm
rpm -Uvh mm-devel-1.1.3-11.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/updates/7.3/en/os/i386/ucd-snmp-devel-4.2.5-8.73.1.i386.rpm
rpm -Uvh ucd-snmp-devel-4.2.5-8.73.1.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/expat-devel-1.95.2-2.i386.rpm
rpm -Uvh expat-devel-1.95.2-2.i386.rpm
wget -nv ftp://ftp.leo.org/pub/comp/os/unix/linux/redhat/redhat/7.3/en/os/i386/RedHat/RPMS/unixODBC-devel-2.2.0-5.i386.rpm
rpm -Uvh unixODBC-devel-2.2.0-5.i386.rpm
[/code:1]
5.a
PHP-Sourcen holen mit:
[code:1]#!/bin/sh
cd /usr/local/src
wget http://de2.php.net/distributions/php-4.3.3.tar.bz2
bzip2 -d php-4.3.3.tar.bz2
tar -xvf php-4.3.3.tar
cd php-4.3.3[/code:1]
5.b
Die Konfiguration:
Minimal:
[code:1]./configure \
--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc \
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec \
--localstatedir=/var --enable-force-cgi-redirect --enable-sockets --with-apxs=/usr/sbin/apxs \
--enable-versioning --enable-track-vars=yes --enable-url-includes --enable-trans-sid \
--enable-sysvshm=yes --enable-sysvsem=yes --enable-ftp \
--with-config-file-path=/etc \
--with-gd=/usr/lib \
--with-mysql \
--with-zlib-dir=/usr/lib/ [/code:1]
Vollständig:
[code:1]./configure i386-redhat-linux \
--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc \
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec \
--localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man \
--infodir=/usr/share/info --prefix=/usr --with-config-file-path=/etc \
--enable-force-cgi-redirect --disable-debug --enable-pic --disable-rpath \
--enable-inline-optimization --with-bz2 --with-db3 --with-curl --with-dom=/usr \
--with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-png-dir=/usr --with-gd \
--enable-gd-native-ttf --with-ttf --with-gdbm --with-gettext --with-ncurses --with-gmp \
--with-iconv --with-jpeg-dir=/usr --with-mm --with-openssl --with-png --with-pspell \
--with-regex=system --with-xml --with-zlib --with-layout=GNU \
--enable-bcmath --enable-debugger --enable-exif --enable-ftp --enable-magic-quotes \
--enable-safe-mode --enable-sockets --enable-sysvsem --enable-sysvshm --enable-discard-path \
--enable-track-vars --enable-trans-sid --enable-yp --enable-wddx --without-oci8 \
--with-imap=shared --with-imap-ssl --with-kerberos=/usr/kerberos --with-ldap=shared \
--with-mysql=/usr --with-pgsql=shared --with-snmp=shared,/usr --with-snmp=shared \
--enable-ucd-snmp-hack --with-unixODBC=shared --enable-memory-limit --enable-bcmath \
--enable-shmop --enable-versioning --enable-calendar --enable-dbx --enable-dio \
--enable-mbstring --enable-mbstr-enc-trans --with-apxs=/usr/sbin/apxs[/code:1]
5.c
Evtl. das Makefile ändern (muß man dann nach jedem ./configure):
Suche nach '20020429' und ersetze das einemal durch 'php4'.
Compilieren mit 'make' und 'make install'.
6.
Module:
Nachsehen, ob die shared-Modules aus /usr/local/src/php-4.3.3/modules kopiert worden sind. Entweder nach /usr/lib/20020429 oder (falls Ihr die Änderungen im Makefile gemacht habt) /usr/lib/php4.
6.a
Das entsprechende Verzeichnis in /etc/ld.so.conf in eine neue Zeile eintragen und
/sbin/ldconfig aufrufen.
6.b
Kopieren von /usr/local/src/php.ini.dist nach /etc/php.ini und editieren:
- suchen nach 'extension_dir' und dort das o.g. Modul-Verzeichnis
eintragen.
- suchen nach 'extension=' und dort folgende Zeilen eintragen:
[code:1]extension=msql.so
extension=imap.so
extension=ldap.so
extension=odbc.so
extension=pgsql.so
extension=snmp.so[/code:1]
7.
Testen:
7.a
Commando-Zeile (PHP-cli):
[code:1]<?php
$db = mysql_connect("localhost", "web1", "password"
or die("Could not connect"
;
print("Connected successfully"
;
mysql_close($db);
?>[/code:1]
speichern unter z.B. als 'db.php'.
Starten mit
php db.php.
Sollte im erfolgsfall nur 'Connected successfully' ausgeben.
7.b
[code:1]<?php
$arr = get_loaded_extensions();
foreach ( $arr as $key=> $ext ) {
echo "$ext<BR>\n";
}
?>[/code:1]
speichern unter z.B. als 'extension.php'.
Starten mit
php extension.php.
Prüfen ob alle Module geladen worden sind.
7.c
Apache neu starten und sehen, ob z.B. Confixx und phpMyAdmin läuft.
Disclaimer:
Selbstverständlich erhebt dieses Tutorial kein Anrecht auf Vollständigkeit.
Über Schäden, Folgeschäden, etc. übernimmt der Autor keine Verantwortung.
Bei Fehler bitte ne Nachricht an mich, damit ich Fehler ausbessern kann.
huschi the husch