====== 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