Webserver Anleitung · 5 min read · Oct 23, 2025

Apache2-SSL-PHP5-Howto (+ Zend Optimizer Und IonCube Loader)

Apache2-SSL-PHP5-Howto (+ Zend Optimizer Und IonCube Loader)

Version 1.0
Autor: Falko Timme

Dieses Dokument beschreibt, wie man einen Apache-Webserver (2.0.x) mit SSL und PHP5 (mit Zend Optimizer und ionCube Loader) installiert.

Dieses Howto ist als praktische Anleitung gedacht; es behandelt nicht die theoretischen Hintergründe. Diese werden in vielen anderen Dokumenten im Web behandelt.

Dieses Dokument kommt ohne jegliche Gewährleistung!

1 Quellen Beschaffen

Wir benötigen die folgende Software: openssl, apache (2.0.x) und PHP5. Wir werden die Software aus dem /tmp Verzeichnis installieren.

cd /tmp
wget http://www.openssl.org/source/openssl-0.9.7g.tar.gz
wget http://ftp.plusline.de/ftp.apache.org/httpd/httpd-2.0.53.tar.gz

Gehen Sie dann zu http://www.php.net und laden Sie die neueste PHP-Version (5.0.4 zum Zeitpunkt des Schreibens) herunter. Laden Sie sie in Ihr /tmp Verzeichnis.

2 Openssl Installieren

tar xvfz openssl-0.9.7g.tar.gz
cd openssl-0.9.7g
./config
make
make install

3 Apache2 Konfigurieren Und Installieren

cd /tmp
tar xvfz httpd-2.0.53.tar.gz
cd httpd-2.0.53/
./configure –enable-ssl –with-ssl=/usr/local/ssl/ –enable-suexec –with-suexec-docroot=/usr/local –enable-cgi –enable-rewrite –enable-so –enable-logio –prefix=/usr/local/apache –enable-module=most –enable-shared=max –bindir=/usr/bin –sbindir=/usr/sbin –sysconfdir=/etc/httpd
(1 Zeile!)

Bitte beachten Sie: Sie können den Konfigurationsbefehl an Ihre Bedürfnisse anpassen. Geben Sie ein

./configure –help

um eine Liste aller verfügbaren Konfigurationsoptionen zu erhalten!)

make
make install

Dies installiert Apache2 unter /usr/local/apache. Das Web-Stammverzeichnis ist /usr/local/apache/htdocs, das Protokollverzeichnis ist /usr/local/apache/logs.

Wenn wir unser Apache2 mit SSL-Unterstützung starten wollen, müssen wir die Datei /etc/httpd/ssl.crt/server.crt generieren, da wir sonst eine Fehlermeldung erhalten, wenn wir Apache2 starten.

mkdir /etc/httpd/ssl.crt
openssl genrsa -des3 -passout pass:asecretpassword -out /etc/httpd/ssl.crt/server.key.org 1024
openssl req -new -passin pass:asecretpassword -passout pass:asecretpassword -key /etc/httpd/ssl.crt/server.key.org -out /etc/httpd/ssl.crt/server.csr -days 3650
openssl req -x509 -passin pass:asecretpassword -passout pass:asecretpassword -key /etc/httpd/ssl.crt/server.key.org -in /etc/httpd/ssl.crt/server.csr -out /etc/httpd/ssl.crt/server.crt -days 3650
openssl rsa -passin pass:asecretpassword -in /etc/httpd/ssl.crt/server.key.org -out /etc/httpd/ssl.crt/server.key
mkdir /etc/httpd/ssl.key
mv /etc/httpd/ssl.crt/server.key /etc/httpd/ssl.key/server.key
chmod 400 /etc/httpd/ssl.key/server.key

( Bitte beachten Sie: Es ist sicher, die Standardwerte für alle Fragen zu akzeptieren, die Sie sehen, wenn Sie /etc/httpd/ssl.crt/server.crt erstellen, da Sie in jedem Fall eine Warnung in Ihrem Browser erhalten, wenn Sie versuchen, auf eine SSL-Seite auf Ihrem Server zuzugreifen:

Wenn Sie diese Warnung nicht erhalten möchten, müssen Sie ein „echtes“ SSL-Zertifikat z.B. von Let’s Encrypt erhalten.

4 PHP5 Installieren

cd /tmp
tar xvfz php-5.0.4.tar.gz
./configure –with-apxs2=/usr/sbin/apxs –with-mysql=/var/lib/mysql –enable-track-vars –enable-sockets –with-config-file-path=/etc –enable-ftp –with-zlib –with-openssl=/usr/local/ssl –enable-force-cgi-redirect –enable-exif –with-gd –enable-memory-limit –disable-debug –disable-rpath –disable-static –with-pic –with-layout=GNU –enable-calendar –enable-sysvsem –enable-sysvshm –enable-sysvmsg –enable-trans-sid –enable-bcmath –with-bz2 –enable-ctype –with-db4 –with-iconv –enable-filepro –with-gettext –enable-mbstring –enable-shmop –enable-wddx –disable-xml –with-xmlrpc –enable-yp –with-zlib –without-pgsql –enable-dbx –enable-experimental-zts –without-mm –enable-gd-native-ttf –with-imap-ssl –enable-soap –enable-dbase
(1 Zeile!)

( Bitte beachten Sie: Sie können den Konfigurationsbefehl an Ihre Bedürfnisse anpassen. Geben Sie ein

./configure –help

um eine Liste aller verfügbaren Konfigurationsoptionen zu erhalten! In PHP5 müssen Sie die Option –with-mysql[=DIR] angeben, andernfalls hat PHP5 keine MySQL-Unterstützung! Und ja, MySQL muss installiert sein, bevor Sie die ./configure Anweisung ausführen. Wenn Sie MySQL aus einem Paket (.rpm oder .deb) installieren, stellen Sie sicher, dass Sie auch das entsprechende mysql-devel-Paket installieren! Andernfalls wird die ./configure Anweisung mit einer Fehlermeldung abgebrochen.

Wenn Sie –with-gd verwenden und eine Fehlermeldung wegen einer fehlenden libpng-Bibliothek erhalten, installieren Sie sie und führen Sie dann den Konfigurationsbefehl erneut aus. Unter Debian,

apt-get install libpng-dev libpng2 libpng2-dev libpng3

hat bei mir gut funktioniert, um libpng zu installieren. Wenn Sie eine rpm-basierte Distribution verwenden, verwenden Sie http://www.rpmfind.net, um ein rpm für Sie zu finden, oder schauen Sie sich http://www.libpng.org/pub/png/libpng.html an.)

make
make install

Dies installiert eine PHP-Binärdatei (normalerweise unter /usr/local/bin/php), die von der Befehlszeile sowie als Apache-Modul ausgeführt werden kann.

Jetzt müssen wir /etc/php.ini erstellen. Der einfachste Weg ist, die zu nehmen, die mit den PHP-Quellen geliefert wird:

cp /tmp/php-5.0.4/php.ini-dist /etc/php.ini

Wenn Sie möchten, können Sie jetzt /etc/php.ini nach Ihren Bedürfnissen anpassen.

5 Apache Konfigurieren

Jetzt müssen wir die folgenden Einträge in /etc/httpd/httpd.conf hinzufügen (in dem Abschnitt, in dem Dokumenttypen behandelt werden; dort sollten Einträge wie AddHandler oder AddType vorhanden sein):

AddHandler cgi-script .cgi
AddHandler cgi-script .pl
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php .php5 .php4 .php3

Erstellen Sie /etc/init.d/httpd:

| #!/bin/sh case "$1" in start) /usr/sbin/apachectl startssl ;; stop) /usr/sbin/apachectl stop ;; restart) $0 stop && sleep 3 $0 start ;; reload) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac |

chmod 755 /etc/init.d/httpd

Um Ihren Apache beim Booten zu starten, tun Sie Folgendes:

ln -s /etc/init.d/ httpd /etc/rc2.d/S20 httpd
ln -s /etc/init.d/
httpd /etc/rc3.d/S20 httpd
ln -s /etc/init.d/
httpd /etc/rc4.d/S20 httpd
ln -s /etc/init.d/
httpd /etc/rc5.d/S20 httpd
ln -s /etc/init.d/
httpd /etc/rc0.d/K20 httpd
ln -s /etc/init.d/
httpd /etc/rc1.d/K20 httpd
ln -s /etc/init.d/
httpd /etc/rc6.d/K20 httpd*

Dann starten Sie Ihr Apache:

/etc/init.d/httpd start

6 Testen Sie Ihre Konfiguration

netstat -tap

sollte Ihnen zeigen, dass Apache2 die Ports 80 (http) und 443 (https) verwendet.

Gehen Sie jetzt zu /usr/local/apache/htdocs und erstellen Sie eine Datei namens info.php mit folgendem Inhalt:

| |

Versuchen Sie, darauf mit Ihrem Browser (z.B. unter Verwendung der IP-Adresse des Servers) über http (z.B. http://192.168.0.1/info.php) und https ( https://192.168.0.1/info.php) zuzugreifen. Die Ausgabe sollte ähnlich wie dieser Screenshot aussehen:

7 Zend Optimizer Und IonCube Loader Installieren

Wenn Sie PHP-Dateien ausführen möchten, die mit dem Zend Encoder codiert wurden, benötigen Sie den Zend Optimizer. Wenn Sie PHP-Dateien ausführen möchten, die mit dem ionCube PHP Encoder codiert wurden, benötigen Sie den ionCube Loader. Ich werde zeigen, wie man beide installiert.

IonCube Loader

Holen Sie sich die neueste Version des ionCube Loaders von http://downloads.ioncube.com/loader_downloads.

cd /tmp/
wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar xvfz ioncube_loaders_lin_x86.tar.gz
cd ioncube/
mkdir /usr/local/lib/ioncube
mv ioncube_loader_lin_5.0.so /usr/local/lib/ioncube/

Jetzt bearbeiten Sie /etc/php.ini und fügen Sie die Zeile zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.0.so gleich zu Beginn hinzu:

| [PHP] zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.0.so |

Zend Optimizer

Holen Sie sich die neueste Version des Zend Optimizers von http://www.zend.com/store/free_download.php und speichern Sie sie in Ihrem /tmp/ Verzeichnis.

cd /tmp/
tar xvfz ZendOptimizer-2.5.7-linux-glibc21-i386.tar.gz
cd ZendOptimizer-2.5.7-linux-glibc21-i386/data/5_0_x_comp/
mkdir /usr/local/lib/Zend
mv ZendOptimizer.so /usr/local/lib/Zend/

Bearbeiten Sie /etc/php.ini und fügen Sie zwei weitere Zeilen zum [PHP] Abschnitt der Datei am Anfang hinzu, sodass es so aussieht:

| [PHP] zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.0.so zend_extension=/usr/local/lib/Zend/ZendOptimizer.so zend_optimizer.optimization_level=15 |

Jetzt starten Sie Apache2 neu:

/etc/init.d/httpd restart

Wenn Sie Ihre info.php, die Sie in Schritt 6 erstellt haben, neu laden, sollten Sie jetzt sehen, dass der ionCube Loader und der Zend Optimizer auf der Seite erwähnt werden:

Links

Apache: http://www.apache.org/

OpenSSL: http://www.openssl.org/

PHP: http://www.php.net/

Zend: http://www.zend.com/

ionCube: http://www.ioncube.com/

Ursprünglicher Standort dieses Dokuments:

http://www.falkotimme.com/howtos/apache2_ssl_php5_zendoptimizer_ioncubeloader/

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.