====== 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
FIXME
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
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
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
Options FollowSymLinks
AllowOverride None
Options -Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
...
# Ab hier kommen die Eintraege fuer Eure Unterverzeichnisse
Alias /mediag /var/www/mediag
# Ab hier die Eintraege fuer gesicherte Verzeichnisse
AuthType Basic
AuthName "AwStats auf Karlchen - Protected Area"
AuthUserFile /etc/apache2/htaccess/awstats.auth
require valid-user
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