Stichwort: Apache
Google Page Speed
Erstellt am Donnerstag, dem 11. November 2010, geändert am Donnerstag, dem 25. November 2010
Ein von Google entwickeltes Modul names Page Speed für den Apache HTTP Server 2.2 soll Webseiten schneller vom Browser laden lassen. Das Modul liegt derzeit in 32 und 64 Bit für die Betriebssyteme CentOS/Fedora und Debian/Ubuntu vor. Das ganze ist Open Source und für Entwickler gibt es auch ein SDK zum Download.
Zusätzlich bietet Google auch das gleichnamige Add-on für den Firefox, welches Stand Alone arbeitet oder sich, falls installiert, in den Firebug integriert. Das Add-on gibt anhand eines Rankings Aufschluss über die Geschwindigkeit einer Webseite und stellt zudem die aufgetretenen Probleme, nach Priorität geordnet, inklusive möglicher Lösungen dar.
Das Modul und das Add-on können hier runtergeladen werden. Ebenfalls findet man dort und bspw. bei golem.de weitere Informationen dazu.
Zum Artikel Kommentar schreiben
SSL Zertifikat
Erstellt am Montag, dem 12. Juli 2010, geändert am Freitag, dem 16. Dezember 2011
In diesem Artikel wird beschrieben wie man ein SSL-Zertifikat erstellt und unter Apache 2.x auf Debian 5 installiert. Zuerst erzeugt man mit OpenSSL den Private-Key.
Falls OpenSSL noch nicht installiert ist, wird dies mit diesem Befehl nachgeholt:
apt-get install openssl
Erstellen eines SSL-Zertifikats
Einen 1024 Bit RSA Private-Key erzeugt man über:
openssl genrsa -out /pfad/zum/private-key/dateiname.key 1024
Natürlich kann auch ein anderer Verschlüsselungsalgorithmus, bspw. DSA, oder eine andere Verschlüsselungsstärke, bspw. 2048 Bit (zwingend erforderlich für Extended-Validation-Zertifikate), gewählt werden.
Nun wird das CSR (Certificate Signing Request) erzeugt. Dazu bitte folgende Zeile in die Konsole eingeben:
openssl req -new -key /pfad/zum/private-key/dateiname.key -out /pfad/zur/csr-datei/dateiname.csr
Nun werden ein paar Informationen abgefragt die man wahrheitsgemäß angegeben sollte.
Country Name (2 letter code) [AU]: (Zweistelliger Ländercode, bspw. DE für Deutschland)
State or Province Name (full name) [Some-State]: (Vollständiger Name des Bundeslandes/Staates, bspw. Schleswig-Holstein)
Locality Name (eg, city) []: (Vollständiger Name der Stadt, bspw. Berlin)
Organization Name (eg, company) [Internet Widgits Pty Ltd]: (Vollständiger Firmen-/Personenname)
Organizational Unit Name (eg, section) []: (Vollständiger Abteilungs-/Bereichsname)
Common Name (eg, YOUR name) []: (Vollständiger Domainname, bspw. www.example.com, subdomain.example.com)
Email Address []: (Gültige E-Mail-Adresse)
A challenge password []: (Optional: Passwort)
An optional company name []: (Optional: Zusätzlicher Firmen-/Personenname)
Auf die unter dem Common Name angegebene Domain wird das Zertifikat validiert und gilt ausschließlich nur für diese Adresse. Es kann jedoch auch ein sogenanntes Wildcard-Zertifikat ausgestellt werden, indem man anstatt der Subdomain (www ist auch nur eine Subdomain) einfach ein Sternchen (*) angibt. Bspw:
Common Name (eg, YOUR name) []: *.example.com
Dieses Zertifikat würde dann für alle Subdomains gelten. Wenn Sie bei A challenge password ein Passwort eintragen, kann der Apache nach der Einbindung des Zertifikats nur noch nach Eingabe des Passworts gestartet werden.
Das CSR überprüft man mit folgendem Befehl:
openssl req -noout -text -in /pfad/zur/csr-datei/dateiname.csr
Wenn das CSR die vollständig richtigen Angaben enthält, können Sie dieses nun an eine Zertifizierungsstelle weitergeben. Bei normalen Zertifikaten erfolgt dann eine E-Mail-Validierung. Das bedeutet, es wird eine E-Mail an die im CSR angegebene Adresse geschickt, welche einen Link zu Bestätigung enthält. Hat man das Zertifikat bestätigt, bekommt man selbiges von der Zertifizierungsstelle zugesand und kann es anschließend in den Apache integrieren. Kostenlose Zertifikate werden z. Bsp. von StartCom angeboten. Dafür ist eine Anmeldung und die Angabe der persönlichen Daten, wie Name und Anschrift notwendig.
Sollte man kein offizielle Zertifikat benötigen, bspw. für eine Entwicklungsumgebung, kann man es auch selbst signieren. Selbstsignierte Zertifikate erzeugen bei den meisten Browsern eine Warnung und der Besucher muss eine Ausnahme hinzufügen, um die Seite verschlüsselt ansehen zu können.
So signiert man ein 1 Jahr gültiges Zertifikat selbst:
openssl x509 -req -days 365 -in /pfad/zur/csr-datei/dateiname.csr -signkey /pfad/zum/private-key/dateiname.key -out /pfad/zum/zertifikat/dateiname.crt
Man kann natürlich den Zeitraum auch verkürzen oder verlängern.
Nun wird das CSR nicht mehr benötigt und kann gelöscht werden. Vom Private-Key sollte man nun ein Backup erstellen, damit bei Verlust oder Umzug ohne Probleme ein neues Zertifikat erstellt werden kann.
Einrichten eines SSL-Zertifikats
Es wird davon ausgegangen, dass eine Konfiguration für einen (virtuellen) Host bereits existiert und dieser nun zusätzlich noch über SSL erreichbar gemacht werden soll. Dazu muss lediglich die Konfigurationsdatei kopiert und folgende Änderungen umgesetzt werden:
NameVirtualHost *
<VirtualHost *:80> [wird zu] <VirtualHost *:443>
ServerName www.exampl.com [wird zu] ServerName www.exampl.com:443
Das Sternchen kann natürlich durch eine IP ersetzt werden. Optional können, für eine bessere Zugriffsübersicht, separate Log-Dateien angelegt werden.
Nun werden der Pfad zum Private-Key, zum Zertifikat, sowie die Aktivierung des SSL-Modus hinzugefügt.
SSLEngine on
SSLCertificateKeyFile /pfad/zum/private-key/dateiname.key
SSLCertificateFile /pfad/zum/zertifikat/dateiname.crt
Abschließend muss nur noch der Apache neu gestartet bzw. die Konfiguration neu geladen werden. Das geschieht über folgenden Befehl:
/etc/init.d/apache2 reload
Sollten die Einstellungen nicht übernommen worden sein wiederholen Sie den Befehl, ersetzen aber reload durch restart.
Als Hinweis ist noch zu sagen, dass pro Domain/Zertifikat eine IP erforderlich ist. Ein Wildcard-Zertifikat gilt nur für alle Subdomains einer Domain.
Zum Artikel Kommentar schreiben
Eigene Fehlerseiten
Erstellt am Samstag, dem 10. Juli 2010, geändert am Freitag, dem 16. Dezember 2011
Eigene Fehlerseiten erhöhen die Benutzerfreundlichkeit einer Webseite enorm, da immer die Möglichkeit besteht, dass z. Bsp. eine Seite nicht angezeigt werden kann oder dem Besucher der Zugriff auf eine Seite nicht erlaubt ist. In diesem Artikel wird beschrieben, wie man die Standardfehlerseiten von Apache, ab Version 2.0 (für ältere Versionen siehe unten) unter Debian 5, durch eigene ersetzt.
Man benötigt dazu das Recht die Konfigurationsdatei des Apache, zu finden unter /etc/apache2/, bearbeiten zu können. Eine Konfiguration über eine .htacces-Datei ist leider nicht möglich, da diese nicht global, sondern nur ordnerspezifisch arbeitet. Fehlerseiten können für jeden (virtuellen) Host definiert werden. Dazu muss man folgende Zeilen in die Konfiguration des entsprechenden (virtuellen) Host eintragen:
ErrorDocument 401 ‘Zugriff verweigert!’
ErrorDocument 403 ‘<p style=”color: red;”>Aktion nicht erlaubt!</p>’
ErrorDocument 404 /pfad/zu/den/eigenen/fehlerseiten/fehler_500.html
ErrorDocument 500 http://interner_fehler.example.com/
Die Direktive ErrorDocument ### (Die Rauten stehen für einen HTTP-Statuscode) teilt dem Apache mit, dass wenn der Fehler mit diesem Statuscode eintritt, soll entweder eine einfache Textmeldung, ein mit CSS formatierter HTML-Text, eine eigene Fehlerseite oder eine beliebige URL angezeigt werden.
Abschließend muss nur noch der Apache neu gestartet bzw. die Konfiguration neu geladen werden. Das geschieht über folgenden Befehl auf der Konsole:
/etc/init.d/apache2 reload
Sollten die eigenen Fehlerseiten nicht angezeigt werden wiederholen Sie den Befehl, ersetzen aber reload durch restart.
Bei der Version 1.3 des Apache ist zu beachten, dass die beginnenden/beendenden Zeichen keine doppelten (“”) einfachen (”), sondern einfache (”) doppelte (“”) Anführungszeichen sein müssen. Ansonsten ist die Syntax identisch.
UPDATE (17.08.2010): Bei meinen Tests haben die absoluten Pfadangaben nicht funktioniert. Erst als ich einen Alias für den Ordner, in dem sich die Fehlerseiten befanden, angelegt hatte lies sich der Apache neu starten. Ebenfalls kam bei den Tests heraus, dass es anscheinend nicht möglich ist bei einem 401er-Fehler eine Weiterleitung zu einer vollständigen URL anzugeben. Bei den anderen ging dies jedoch problemlos.
Zum Artikel 1 Kommentar