Inhaltsverzeichnis
Apache
Apache und PHP installiert:
Unter Debian Lenny:
sudo apt-get install apache2 php5 libapache2-mod-php5
Unter Ubuntu Server:
sudo apt-get install apache2 php5
SSL
Dann SSL aktiviert und neu gestartet:
sudo a2enmod ssl sudo /etc/init.d/apache2 restart # aeltere Systeme sudo service apache2 restart # neuere Systeme
Zertifikate eingerichtet:
sudo openssl req -new -nodes -keyout server.key -out server.csr -newkey rsa:2048
sudo openssl req -new -nodes -sha256 -keyout server.key -out server.csr -newkey rsa:4096 # Sollte SHA256 liefern
Zertifikat selber signieren:
sudo openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
Bitte beachten: Es ist relativ Wurscht, was man in die Felder bei Key einträgt - lediglich das Feld
Common Name (eg, your name or your server's hostname)
ist zentral und MUSS die Subdomain und Domain und Toplevel-Domain des Servers enthalten. Also entweder:
www.kvfg.info
oder
karlchen.kvfg.info
Die Zertifikatdateien müssen nun noch an den richtigen Platz:
sudo mkdir -p /etc/apache2/ssl sudo mv server.key /etc/apache2/ssl sudo mv server.crt /etc/apache2/ssl
Die Apachekonfiguration muss angepasst werden, damit der Indianer weiß, wo die Zertifikate zu finden sind:
sudo vi /etc/apache2/sites-available/default-ssl
Wie das geht ist inzwischen weiter unten dokumentiert und unterscheidet sich je nach eingesetztem Betriebssystem etwas.
Im Verzeichnis /etc/apache2/sites-enabled dann einen Link setzen
sudo ln -s ../sites-available/default-ssl 000-default-ssl
default-ssl unter Ubuntu 10.04
Hier ein Auszug aus der default-ssl für Ubuntu 10.04 LTS Server:
NameVirtualHost ip.des.servers:443 <IfModule mod_ssl.c> <VirtualHost kvfg.info:443> ServerAdmin webmaster@localhost ServerName kvfg.info:443 ServerAlias www.kvfg.info:443 ServerAlias www.kvfg.info:443 ServerAlias kvfg.info:443 ... SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/certs/server.key ServerSignature On ...
default-ssl unter Ubuntu 12.04
Ab Ubuntu 12.04 funktioniert das obige Verfahren nicht mehr so glatt, weil der Apache beim Starten motzt. Hier einige Code-Schnipsel mit Informationen zur Einrichtung:
NameVirtualHost ip.des.servers:443 <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin admin@domain.tpl ServerName karlchen.kvfg.info:443 ServerAlias karlchen.kvfg.info:443 ServerAlias www.karlchen.kvfg.info:443 SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/certs/server.key ServerSignature On DocumentRoot /var/www/dokuwiki <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options -Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> ... # Ab hier kommen die Eintraege fuer Eure Unterverzeichnisse Alias /mediag /var/www/mediag # Ab hier die Eintraege fuer gesicherte Verzeichnisse <Directory /usr/lib/cgi-bin/> AuthType Basic AuthName "AwStats auf Karlchen - Protected Area" AuthUserFile /etc/apache2/htaccess/awstats.auth require valid-user </Directory>
Wenn der ServerName nicht in der apache2.conf steht, dann muss noch in
/etc/apache2/conf.d
eine Datei mit dem Namen fqdn angelegt werden, die den ServerName enthält:
ServerName karlchen.kvfg.info
Dann den Apachen neu starten und es sollte funktionieren.
StartSSL
Am 06.01.2011 wurde bei https://startssl.com ein kostenloses, für ein Jahr gültiges SSL Zertifikat eingefangen, das auch gleich aktiviert wurde. Die Apache Konfiguration hat sich hierdurch wie folgt verändert:
# SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on SSLCertificateFile /etc/apache2/ssl/kvfginfo.cert SSLCertificateKeyFile /etc/apache2/ssl/kvfginfo.key SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem SSLCACertificateFile /etc/apache2/ssl/ca.pem #SSLCertificateFile /etc/ssl/certs/server.crt #SSLCertificateKeyFile /etc/ssl/certs/server.key ServerSignature On
Die SSL Dateien gehören root und dürfen vom Apachen lediglich gelesen werden.
Beachte: Bei SHA256 Zertifikaten müssen andere intermediäre Zertifikate verwendet werden, die StartSSL hier zur Verfügung stellt: http://www.startssl.com/certs/class2/sha2/pem/sub.class2.server.sha2.ca.pem
Tests
Zum Testen der Einstellungen und auch zum Testen der nun kommenden Mailserverkonfiguration wurde „auf die Schnelle“ ein DokuWiki installiert und damit man das Ding auch findet, die Startseite von https://www.kvfg.info bzw. https://karlchen.kvfg.info angepasst.
php.ini
Die php.ini ist im folgenden Ordner zu finden:
/etc/php5/apache2/php.ini
Hier können Anpassungen für PHP vorgenommen werden, die nach einem Restart des Apachen dann auch gelten.
Sonstige Änderungen
Da einige Verzeichnisse mit .htaccess-Dateien arbeiten, wurde die Unterstützung dafür in folgender Konfigurationsdatei des Apache-Servers aktiviert:
/etc/apache2/site-enabled/000-default /etc/apache2/site-enabled/000-default-ssl
Eintrag:
Options -Indexes AllowOverride All