LinuxFAQ / Server Netzwerk

Index
  1. Wie richte ich unter Linux einen Webserver ein?

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–11

Falls 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 localhost

Wenn 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.com

Falls 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.com

Verschlü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.crt

Dem Aufruf des Skripts ist der gewünschte Dateiname hinzuzufügen:
 ./zertifikat.sh www.meinewebsite.com

Mit 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.com

Bewegen 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.key

Anmerkung
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.crt

Um den Inhalt des Requests zu überprüfen:
 /usr/bin/openssl openssl req -noout -text -in $1.csr

Wie 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/ external Link

^ Seitenanfang
© Leitner.bz.it  2010  |  Letzte Änderung: 18.03.2005 
Admin: Edit Sidebar | Hochladen | Änderungen | Bearbeiten | PageAttr | GRPAttr
Valid HTML Valid CSS