PHP5 CentOS
Aus Root-Wiki
Inhaltsverzeichnis
Vorbereitung
Für mcrypt
Sonst kann das Paket "libmcrypt-devel" im nächsten Schritt nicht installiert werden.
rpm -ivh http://ftp.tu-chemnitz.de/pub/linux/fedora-epel/6/i386/epel-release-6-7.noarch.rpm
yum update
Benötigte Pakete installieren
yum install gcc gcc-c++ libxml2-devel openssl-devel curl-devel \ libjpeg-devel libpng-devel freetype-devel libc-client-devel \ libicu-devel libmcrypt-devel mysql-devel aspell-devel libxslt-devel \ bzip2-devel libtidy-devel
PHP herunterladen
Neuste Version gibt es hier zum Download: http://php.net/downloads.php#v5
wget http://de1.php.net/get/php-5.3.20.tar.gz/from/de3.php.net/mirror
tar -xf php-5.3.20.tar.gz
cd php-5.3.20
Kompilieren und installieren
'./configure' \ '--prefix=/package/php-5.3.20' \ '--with-libdir=lib' \ '--with-config-file-path=/package/php-5.3.20/etc' \ '--with-config-file-scan-dir=/package/php-5.3.20/etc/conf.d' \ '--with-mysql' \ '--with-mysqli' \ '--with-pdo-mysql' \ '--with-gd' \ '--with-jpeg-dir' \ '--with-tidy' \ '--enable-mbstring' \ '--with-imap' \ '--with-imap-ssl' \ '--with-mcrypt' \ '--with-curl' \ '--with-kerberos' \ '--enable-bcmath' \ '--with-zlib' \ '--with-freetype-dir=/usr' \ '--with-gettext' \ '--with-bz2' \ '--with-openssl' \ '--with-sqlite' \ '--with-xsl' \ '--with-pspell' \ '--with-xmlrpc' \ '--enable-soap' \ '--enable-pcntl' \ '--enable-xml' \ '--enable-zip' \ '--enable-intl' \ '--enable-sockets' \ '--enable-exif' \ '--enable-calendar' \ '--enable-shmop' \ '--enable-ftp' \ '--disable-posix'
make
make install
Bekannte Fehler
Wenn dieser Fehler kommt, fehlt die Verknüpfung zu der benötigten .so Datei.
/usr/bin/ld: cannot find -lltdl collect2: ld returned 1 exit status
yum install libtool-ltdl libtool
ln -s /usr/lib/libltdl.so.7.2.1 /usr/lib/libltdl.so
mod_fastcgi Installation
Benötigte Pakete installieren
yum install libtool httpd-devel apr-devel apr
mod_fastcgi herunterladen
wget http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz
tar -xf mod_fastcgi-current.tar.gz
cd mod_fastcgi-*
Kompilieren und installieren
cp Makefile.AP2 Makefile
32bit
make top_dir=/usr/lib/httpd
make install top_dir=/usr/lib/httpd
64bit
make top_dir=/usr/lib64/httpd
make install top_dir=/usr/lib64/httpd
fastcgi Modul laden
nano /etc/httpd/conf.d/mod_fastcgi.conf
Inhalt:
LoadModule fastcgi_module modules/mod_fastcgi.so
fcgi wrapper anlegen
nano /var/www/cgi-bin/php-fcgi-starter
Inhalt:
#!/bin/bash # Shell Script To Run PHP5 using mod_fastcgi under Apache 2.x ### Set PATH ### PHP_CGI=/package/php-5.3.20/bin/php-cgi PHP_FCGI_CHILDREN=4 PHP_FCGI_MAX_REQUESTS=1000 ### no editing below ### export PHP_FCGI_CHILDREN export PHP_FCGI_MAX_REQUESTS exec $PHP_CGI
Rechte setzen, damit die Datei ausgeführt werden darf.
chmod +x /var/www/cgi-bin/php-fcgi-starter
Apache beibringen, wie er .php Dateien ausführen soll.
nano /etc/httpd/conf.d/mod_fastcgi.conf
Folgenden Inhalt ganz unten hinzufügen:
<Directory "/var/www/html"> Options -Indexes FollowSymLinks +ExecCGI AllowOverride AuthConfig FileInfo AddHandler php5-fastcgi .php Action php5-fastcgi /cgi-bin/php-fcgi-starter DirectoryIndex index.php index.html Order allow,deny Allow from all </Directory>
Apache neustarten
service httpd restart