Apache 2
Installation des Apache2 Webservers (Version 2.0.52) – including
SSLInstallation von Apache2
Konfiguration von Apache2
SSL
aktivieren
PHP aktivieren
Allgemeines:Im Gegensatz zu anderen Diensten gibt es in der Webserver
Welt nicht unbedingt sehr viel Open Source Auswahl, und selbst wenn es eine
geben würde denke ich nicht, dass es leicht wäre dem Apache2 den Rang streitig
zu machen. Er ist und bleibt auch vorläufig die einzig wahre Alternative,
deswegen fiel uns die Wahl auch nicht schwer.
Installation unter
Debian:
Zuerst machen wir ein apt update um sicher die aktuellste stable
version zu verwenden
# apt-get update
Nun installieren wir den Apache
selbst, in unserem Fall ohne diverse Module
# apt-get install apache2
Erster Funktionstest:Nach der Installation sollte die
Standardkonfiguration des Webservers bereits funktionsfähig sein Wir überprüfen
das in dem wir den Service starten
# /etc/init.d/apache2 start
Sollte ohne Fehlermeldung starten, um es nun auch praktisch zu testen
verwenden wir Lynx auf localhost.
# lynx localhost
es sollte nun die Standard Apache Seite angezeigt werden.
Konfiguration:
Das root Verzeichnis für unseren Webcontent befindet sich standardmässig in
/var/www/apache2-default/ den Inhalt den apache beim installieren dort
reinkopiert kann man getrost löschen und seinen eigenen Inhalt einfügen.
Würde man die Konfiguration nun so belassen, würde man beim Aufruf der
Website, in unserem Fall http://xxx.xxx.xxx.xxx/ automatisch auf
http://xxx.xxx.xxx.xxx/apache2-default/ weitergeleitet, da das aber optisch
nicht wirklich was hermacht, werden wir das nun in der entsprechenden Datei
ändern, man öffne die Datei default mit einem Editor # vim
/etc/apache2/sites-available/default dort ändert man folgende 2 Zeilen um:
DocumentRoot /var/www/ auf DocumentRoot /var/www/apache2-default/ RedirectMatch
^/$ /apache2-default/ diese Zeile wird auskommentiert (Weiterleitung)
Wenn man nun http://10.21.99.2/ aufruft wird unser Content sofort angezeigt
ohne die Weiterleitung. Als nächsten Schritt erweitern wir unseren Webserver mit
SSL um auch sicheren Zugriff anbieten zu können.
Erzeugen des SSL Zertifikates: # apache2-ssl-certificate Es folgt folgende
Ausgabe creating selfsigned certificate replace it with one signed by a
certification authority (CA) enter your ServerName at the Common Name prompt If
you want your certificate to expire after x days call this programm with -days x
Generating a 1024 bit RSA private key .....++++++ ...........++++++ writing new
private key to '/etc/apache2/ssl/apache.pem' ----- You are about to be asked to
enter information that will be incorporated into your certificate request. What
you are about to enter is what is called a Distinguished Name or a DN. There are
quite a few fields but you can leave some blank For some fields there will be a
default value, If you enter '.', the field will be left blank. -----
Es wird nun mit dem Dialog begonnen bei dem man seine Daten angibt welche am
Zertifikat sichtbar sind. Country Name (2 letter code) [GB]: AT State or
Province Name (full name) [Some-State]:OberÖsterreich Locality Name (eg, city)
[]:Hagenberg Organization Name (eg, company; recommended) []:Harz5
Organizational Unit Name (eg, section) []:Web Server Server name (eg.
ssl.domain.tld; required!!!) []:secure.example.com Email Address
[]:webmaster@example.com Aktivieren des SSL Zertifikates: # a2enmod ssl Module
ssl installed; run /etc/init.d/apache2 force-reload to enable
Nun müssen wir noch einige Konfigurationen am Apache durchführen damit alles
funktioniert. Als erstes erstellen wir im Ordner /etc/apache2/sites-available/
eine Kopie des vorhanden default und zwar # cp
/etc/apache2/sites-available/default /etc/apache2/sites-available/default-ssl
Aktivieren der default-ssl würde mit # a2ensite default-ssl (im verz.
Sites-available) funktionieren, werde aber die manuellen Schritte anführen.
Um diese Site manuell zu aktivieren machen wir einen Symlink in sites-enabled
# ln -s /etc/apache2/sites-available/default-ssl default-ssl in der eben
erstellten Datei ändern wir folgende Einträge:
# vim default-ssl NameVirtualHost * auf NameVirtualHost*:443
auf
hinzufügen von SSL # SSL STUFF (START)
++++++++++++++++++++++++++++++++++++++++++++++++++++ SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem # die nummer xxxxxx ist zu finden
in /etc/apache2/ssl/ SSLCertificateKeyFile /etc/apache2/ssl/xxxxxxx.0 # see
http://httpd.apache.org/docs-2.0/ssl/ssl_howto.html # for the meaning of below.
# The following enables only the seven strongest ciphers. SSLProtocol all
SSLCipherSuite HIGH:MEDIUM # SSL STUFF (END)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Das Verzeichnis belassen wir noch auf unser apache2-default. Damit Apache nun
auch auf den Port 443 hört, müssen wir noch die ports.conf aktualisieren # vim
/et c/apache2/ports.conf Listen 443 hinzufügen Restart # /etc/init.d/apache2
restart
Nun testen wir unsere Konfiguration mit folgender Eingabe apache2 -D SSL -S
folgende Ausgabe sollte erscheinen: VirtualHost configuration: wildcard
NameVirtualHosts and _default_ servers: *:443 is a NameVirtualHost default
server secure.example.com (/etc/apache2/sites-enabled/default-ssl:2) port 443
namevhost secure.example.com (/etc/apache2/sites-enabled/default-ssl:2) *:* is a
NameVirtualHost default server secure.example.com
(/etc/apache2/sites-enabled/000-default:2) port * namevhost secure.example.com
(/etc/apache2/sites-enabled/000-default:2) Syntax OK
Somit ist auch SSL aktiv und unsere Webseite ab sofort auch mit https://,
verschlüsselt zu erreichen. Zu guter letzt aktivieren wir noch das PHP4 Modul
für Apache # apt-get install libapache2-mod-php4 Das Modul aktiviert sich selbst
und erscheint sofort in mods-enabled und ist somit aktiv. |