SR-M Community
Computer | Software | Hardware | Netzwerk | Server | Clients



Home      Apache

Apache 2

Installation des Apache2 Webservers (Version 2.0.52) – including SSL

Installation 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.

© by www.sr-m.de