Webserver Anleitung · 3 min read · Oct 26, 2025

Apache-mod_ssl-PHP-Howto

Apache-mod_ssl-PHP-Howto

Version 1.0
Author: Falko Timme

Dieses Dokument beschreibt, wie man einen Apache-Webserver (1.3.x) mit aktivierten mod_ssl und PHP 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 besorgen

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

cd /tmp
wget http://www.openssl.org/source/openssl-0.9.7c.tar.gz
wget http://www.apache.de/dist/httpd/apache_1.3.29.tar.gz
wget http://www.modssl.org/source/mod_ssl-2.8.16-1.3.29.tar.gz

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

2 Openssl installieren

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

3 mod_ssl und Apache konfigurieren und installieren

cd /tmp
tar xvfz apache_1.3.29.tar.gz
tar xvfz mod_ssl-2.8.16-1.3.29.tar.gz
cd mod_ssl-2.8.16-1.3.29
./configure –with-apache=../apache_1.3.29 –with-ssl=/usr/local/ssl/ –prefix=/usr/local/apache –enable-module=most –enable-shared=max –logfiledir=/var/log/httpd –htdocsdir=/usr/local/httpd/htdocs –bindir=/usr/bin –sbindir=/usr/sbin –sysconfdir=/etc/httpd
(1 Zeile!)

(Die Option –htdocsdir=/usr/local/httpd/htdocs gibt an, dass der Standardstandort für Dokumente, die von diesem Webserver geliefert werden, in /usr/local/httpd/htdocs liegt.

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

./configure –help

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

cd ../apache_1.3.29
make
make certificate TYPE=custom

<- Signaturalgorithmus: R
<- Ländername: Geben Sie den Namen Ihres Landes ein (z.B. DE für Deutschland)
<- Name des Bundeslandes oder der Provinz: z.B. Niedersachsen, Kalifornien, etc.
<- Ortsname: z.B. Lüneburg, Los Angeles, Paris, London, etc.
<- Name der Organisation: z.B. der Name Ihres Unternehmens
<- Name der organisatorischen Einheit: z.B. IT-Abteilung
<- Allgemeiner Name: z.B. My Company CA
<- E-Mail-Adresse: z.B. [email protected]
<- Gültigkeit des Zertifikats: z.B. 365 (ein Jahr)
<- Zertifikatsversion: 3
<- Ländername: siehe oben
<- Name des Bundeslandes oder der Provinz: siehe oben
<- Ortsname: siehe oben
<- Name der Organisation: siehe oben
<- Name der organisatorischen Einheit: siehe oben
<- Allgemeiner Name: der vollqualifizierte Domainname (FQDN) Ihres Servers, z.B. www.example.com
<- E-Mail-Adresse: siehe oben
<- Gültigkeit des Zertifikats: siehe oben
<- Zertifikatsversion: 3
<- Soll der private Schlüssel jetzt verschlüsselt werden? n
<- Soll der private Schlüssel jetzt verschlüsselt werden? n

( Bitte beachten: Es ist sicher, die Standardwerte für alle oben genannten Fragen zu akzeptieren, 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 erwerben.

make install

4 PHP installieren

cd /tmp
tar xvfz php-4.3.4.tar.gz
cd php-4.3.4
./configure –with-apxs=/usr/sbin/apxs –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
(1 Zeile!)

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

./configure –help

um eine Liste aller verfügbaren Konfigurationsoptionen zu erhalten! Wenn Sie die Option –with-mysql[=DIR] nicht angeben, wird die gebündelte MySQL-Bibliothek verwendet. Dies funktioniert in den meisten Fällen.

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 Kommandozeile aus ausgeführt werden kann, sowie ein Apache-Modul.

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

cp /tmp/php-4.3.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 den folgenden Eintrag in /etc/httpd/httpd.conf hinzufügen (im Abschnitt, in dem Dokumenttypen behandelt werden; dort sollten Einträge wie AddHandler oder AddType vorhanden sein):

AddType application/x-httpd-php .php .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 Ihren Apache:

/etc/init.d/httpd start

6 Testen Sie Ihre Konfiguration

netstat -tap

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

Gehen Sie jetzt zu /usr/local/httpd/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). Die Ausgabe sollte ähnlich wie dieser Screenshot aussehen:

Links

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

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

mod_ssl: http://www.modssl.org/

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

Ursprünglicher Standort dieses Dokuments:

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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.