Index
Um ein “self signed certificate” mit einem separaten Request zu erstellen, können Sie den Vorgang in drei Schritten druchführen:
^ Seitenanfang
Wie richte ich unter Linux einen Webserver ein?
Bei den meisten Linux-Distributionen wird er Apache Webserver mitgeliefert. Dieser ist der verbreitetste und meistgenutzte Webserver überhaupt und er zudem noch frei verfügbar (GPL). Wenn Sie Red-Hat-Linux besitzen, können Sie mit dem Kommando“rpm -q apache” auf Kommandozeilenebene sehr einfach überprüfen, ob und welche Version von Apache auf Ihrem System installiert ist.
rpm -q apache apache-1.3.23–11Falls der Apache Webserver wie im vorliegenden Falle bereits installiert ist, können Sie mit der Konfiguration beginnen. Standardmäßig befinden sich die Konfigurationsdateien unter
“/etc/httpd/conf”, wobei die Datei httpd.conf alle wesentlichen Einstellungen beinhaltet.
Eine wichtige Direktive in dieser Datei, die Sie auf jeden Fall ändern müssen ist:
#ServerName localhostWenn der Webserver nur lokal betrieben werden bzw. sichtbar sein soll, können Sie die Direktive so wie sie ist belassen (einfach nur das Kommentarzeichen “#” entfernen), oder an Stelle von
“localhost” die IP-Adresse “127.0.0.1″ setzen.
Falls der Webserver aber im Internet sichtbar sein soll, so fügen Sie die öffentliche IP-Adresse des Servers oder den im DNS eingetragenen Namen ein.
Damit der Web-Server weiß, welche Daten er freigeben soll, muss noch das sog. “DocumentRoot”-Verzeichnis definiert werden, welches normalerweise auf “/var/www/html” konfiguriert ist. Es ist ratsam, sich ein neues, zu dem vordefinierten paralleles Verzeichnis anzulegen und dort seine eigenen Dateien abzulegen.
mkdir /var/www/www.meinewebsite.com DocumentRoot /var/www/www.meinewebsite.comFalls Sie mehrere Webserver einrichten möchten, können Sie dies mit sog. virtuellen Servern tun. Dazu ist es unter anderem notwendig, mindestens folgende Direktiven anzupassen:
NameVirtualHost 127.0.0.1 #oder öffentliche IP-Adresse <VirtualHost 127.0.0.1> ServerAdmin ich@www.meinewebsite.com DocumentRoot /var/www/www.meinewebsite.com ServerName www.meinewebsite.com ErrorLog logs/www.meinewebsite.com-error_log CustomLog logs/www.meinewebsite.com-access_log common </VirtualHost>Damit Sie lokal gleich testen können, genügt ein Eintrag in die Datei
/etc/hosts:
127.0.0.1 www.meinewebsite.comVerschlüsselung mit Apache, Webserver mit SSL (HTTPS) Damit die Daten vom Surfer zum Server und umgekehrt verschlüsselt übertagen werden, können Sie einen virtuellen Webserver mit SSL konfigurieren. Hierfür ist das Erstellen eines Zertifikats notwendig, was mit ‘openssl’ gemacht werden kann. Mit dem folgenden Skript wird zuerst ein “privater Schlüssel” erstellt, dann das eigentliche Zertifikat, welches ein sog. “self signed certificate” ist.
#zertifikat.sh /usr/bin/openssl genrsa 1024 > $1.key /usr/bin/openssl req -new -key $1.key -x509 -nodes -days 900 -out $1.crtDem Aufruf des Skripts ist der gewünschte Dateiname hinzuzufügen:
./zertifikat.sh www.meinewebsite.comMit der Option
‘-days’ wird die Dauer der Gültigkeit des Zertifikates angegeben, in gezeigten Beispiel 900 Tage.
Diese sollte nicht zu hoch gewählt werden, da dies bei einigen Browsern zu Schwierigkeiten führen kann.
Bei der Eingabe der gefragten Daten sollten Sie besonders darauf achten, dass der exakte Servername angebeben wird, da es sonst zu Warn- bzw. Fehlermeldungen im Browser kommt, wenn der Servername nicht mit dem später im Zertifikat aufscheinenden übereinstimmt.
Common Name (eg, your name or your server’s hostname) []:www.meinewebsite.comBewegen Sie die erstellten Dateien in das vorgesehene Verzeichnis, meist unter
/etc/httpd/conf.
mv www.meinewebsite.com.key /etc/httpd/con/ssl.key/ mv www.meinewebsite.com.crt /etc/httpd/con/ssl.crt/Der folgende Teil ist der wichtigste, die Anpassung der Datei httpd.conf im Teil des betreffenden virtuellen Webservers. (meist unter
<VirtualHost _default_:443>)
Die Direktive SSLEngine on muss für den Einsatz von SSL aktiviert werden, weiters das ‘Server Certificate’ und der ‘Server Private Key’ verändert werden.
SSLCertificateFile /etc/httpd/conf/ssl.crt/www.meinewebsite.com.crt […] SSLCertificateKeyFile /etc/httpd/conf/ssl.key/www.meinewebsite.com.keyAnmerkung
Um ein “self signed certificate” mit einem separaten Request zu erstellen, können Sie den Vorgang in drei Schritten druchführen:
/usr/bin/openssl genrsa 1024 > $1.key /usr/bin/openssl req -new -key $1.key > $1.csr /usr/bin/openssl req -x509 -days 900 -out $1.crtUm den Inhalt des Requests zu überprüfen:
/usr/bin/openssl openssl req -noout -text -in $1.csrWie Sie sicher bereits bemerkt haben, ist die Datei “httpd.conf” mit sehr vielen Inline-Kommentaren versehen, weshalb Ihnen auch weitere Konfigurationen/Anpassungen nicht sehr schwer fallen sollten. Weitere Hilfe finden Sie auch auf der Apache-Website: http://www.apache.org/
^ Seitenanfang


