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:
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.