Apache
Apache ist der am meisten verbreitete Webserver und ist sowohl unter Linux, als auch unter Windows kostenlos verfügbar.
Damit ein Webserver seinen Zweck erfüllen kann, braucht er jedoch zunächst eine Webseite, die er an seine Besucher übermitteln kann. Ein paar kurze Infos, wie man eine Webseite erstellt, gibt es hier. Die HTML-Dateien der Webseite müssen in den htdocs-Ordner des Apache kopiert werden.
Ist dies geschehen, so können Besucher nun die Webseite aufrufen, indem sie die IP-Adresse des Servers in folgendem Format in die Adressleiste ihres Brwosers eingeben: http://192.168.0.1/ (falls die IP des Servers 192.168.0.1 ist). Hinter dem Schrägstrich nach der IP kann die Datei eingegeben werden, die innerhalb des htdocs-Ordners aufgerufen werden soll. Liegt in dem htdocs-Ordner im Apache Verzeichnis beispielsweise die Datei kontakt.html, so ist diese auf folgende Weise erreichbar: http://192.168.0.1/kontakt.html
Ist keine Datei angegeben, so wird standartmäßig eine Datei namens index.html, index.htm, oder index.php in dieser Reihenfolge gesucht und ausgegeben. Ist keine dieser Dateien angegeben, so wird eine Fehlermeldung gesendet.
Die httpd.conf-Datei
In dieser Datei wird der komplette Apache-Server konfiguriert.
Möchte man beispielsweise die oben erwähnten Standart Dateinamen in einem Verzeichnis ändern, so kann man das mit folgender Zeile tun:
DirectoryIndex index.html, index.htm, oder index.php
Am Besten sucht man dazu immer nach der Zeile in der dieser Befehl steht und ändert sie entsprechend ab.
Hier noch ein paar weitere wichtige Befehle:
DocumentRoot "/apache/htdocs" dies gibt an, in welchem Ordner sich die HTML-Dateien der Webseite befinden. Dieser Ordner kann antürlich auch Unterordner haben. Die Dateien darin werden dann beispielsweise folgenderweise aufgerufen: http://192.168.0.1/unterordner/datei.html
Mit Listen 192.168.0.1:80 sagt man dem Apache Webserver, dass er nur auf Zugriffe reagieren soll, die über die IP 192.168.0.1 und den Port 80 kommen. Möchte man alle in Server vergebenen IPs einbeziehen, so schreibt man einfach nur Listen 80. Port 80 ist der Standartport für Webseiten.
Zugriffskontrolle für bestimmte Verzeichnisse
Möchte man ein Verzeichnis mit einem Passwort schützen, so macht man dies am Besten, in dem man in dem zu schützenden Ordner eine Datei namens .htaccess erstellt (Den Namen dieser Datei kann man in der httpd.conf-Datei mit folgendem Befehl ändern: AccessFileName .htaccess. Dies ist .z.B. bei Windowsservern von Vorteil, da auf Windowssystemen eine Datei nicht mit einem Punkt beginnen darf).
Der Inhalt der neu angelegten .htaccess-Datei muss wie folgt lauten:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache/passwd/passwords
Require user testuser
Unter dem Pfad "/usr/local/apache/passwd/passwords" muss nun eine Datei mit Benutzernamen und Kennwörtern erstellt werden. Das geht wie folgt:
In dem Bin-Verzeichnis innerhalb des Apache Ordners liegt eine Datei namens htpasswd.
Diese (bei Windows mittels Eingabeaufforderung) muss mit der Option -c aufgerufen werden und bekommt als Parameter, den Pfad wo die Passwortdatei erstellt werden soll und den Benutzernamen für den das Kennwort gelten soll:
Ein Beispiel: htpasswd -c /usr/local/apache/passwd/passwords testuser
Danach wird man aufgefordert das Passwort für den Benutzer "testuser" einzugeben.
Das wars auch schon. Der Ordner sollte nun mit diesem Benutzernamen und Kennwort aufrufbar sein.
Virtuelle Hosts
Sobald man mehr als nur eine Webseite auf einem Server laufen lassen möchte, benötigt man Virtuelle Hosts.
Dazu gibt es 3 Möglichkeiten:
Egal für welche der 3 Varianten man sich entscheidet, man benötigt immer einen Virtual-Hosts-Container, der wie folgt aufgebaut ist:
<VirtualHost 192.168.0.1:80>
ServerName www.server1.de
ServerAdmin webmaster@server.de
DocumentRoot /apache/server1/htdocs/
ErrorLog /apache/server1/error_log
TransferLog /apache/server1/access_log
</VirtualHost>
Dieser Virtuelle Server nimmt nun alle Verbindungen entgegen, die über die IP 192.168.0.1 und den Port 80 kommen.
Senden tut er die Dateien aus dem Ordner /apache/server1/htdocs
Unter /apache/server1/error_log speichert Apache Fehlermeldungen dieses Virtual Hosts ab und unter /apache/server1/access_log werden die Zugriffe auf die Webseiten mit Datum, Client-IP und Browserdaten gespeichert.
So kann man nun mehrere dieser Virtual Host Container nacheinander einfügen.
Bei mehrere IP-Adressen, oder Ports, ist es wichtig, dem Server vorher zu sagen, dass er diese nach eingehenden Verbindungen abhören soll. Listen *:80 Listen 192.168.0.2:8080 Dies würde dem Server sagen, dass er auf all seinen IPs auf Daten über den Port 80 warten soll und außerdem auf der IP 192.168.0.2 den Port 8080 abhören soll.
Bei namensbasierenden virtuellen Hosts, ist es wichtig, dass vor dem ersten Container, folgende Zeile steht:
NameVirtualHost *
Die Virtual Hosts Container müssen dann folgendermaßen aussehen:
<VirtualHost *>
ServerName www.server1.de
ServerAlias server1.de *.server1.de
DocumentRoot /apache/server1/htdocs/
</VirtualHost>
Jeder aufruf an www.server1.de wird nun in den Ordner /apache/server1/htdocs/ geleitet. Vorraussetzung ist natürlich, dass in dem DNS-Server ein Eintrag von server1.de auf die IP des Webservers verweist.
Mit ServerAlias server1.de *.server1.de sagt man dem Virtual Host, dass er auer auf www.server1.de auch noch auf aufrufe ohne www. reagiert und mit *.server1.de auch auf alle Subdomains von server1.de
Kommentare Seite: [0]
| 14. Dec. 2004 - 22:24 erstellt von S@ndm@n |
| Hi...
Kann mir mal einer sagen, warum ich des mit den vHosts in keinem anderen Tutorial (und waren sie noch so lang :) gepeilt hab und in diesem hier sofort??? Super howto... kurz und knackig, so wies sein soll... CU S@ndm@n |
Die Kommentar-Funktion ist derzeit leider deaktiviert.
Bitte nutze das Forum statt dessen.

