Orgapage.Net





t3n Magazin - Jetzt im Abo bestellen


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:
  • Hat man auf dem Server mehrere IP-Adressen, so kann man jeder Webseite eine eigene IP zuweisen
  • Man kann jede Webseite auf einem anderen Port laufen lassen, jedoch schließt das Besucher aus Netzwerken mit strengen Firewall-Regeln aus, da diese oft nur Verbindungen über Port 80 durchlassen
  • Die 3. und meistverwendete Möglickeit ist je nach aufgerufenem Domainnamen umzuleiten. Dies setzt jedoch einen laufenden DNS-Server vorraus.

    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


    Weitere Seiten zu diesem Thema:
    Apache Homepage
    Apache Origial Dokumetation
    URL: Von:
    Titel:  
    Captcha:
    Text bewerten:
    Aktuelle Wertung: 0 (0x)
    Seit der letzten Änderung: 0 (0x)

    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.