Good to Know Database

SuSE Linux 10.1: Apache2 einrichten


1. Einleitung

Wenn man eine Internetpräsenz aufbauen will, bietet es sich an diese vorab zuhause auszuprobieren. Da Windows nicht von Haus aus alles unterstützt was ein Provider anbietet, empfiehlt es sich einen Webserver aufzusetzen. Hier möchte ich deshalb kurz erklären wie Sie einen Webserver mit Apache2 einrichten.
Die folgende Konfiguration bezieht sich auf einen Server mit der IP-Adresse 192.168.10.1 welcher sowohl unter server.home.lan als auch unter server erreichbar ist.

2. Installation und Konfiguration

Sollten Sie Apache2 noch nicht installiert haben, öffnen Sie yast, wechseln zu Software -> Software installieren oder löschen und wählen das Paket apache2 und apache2-prefork.

Wenn Sie apache2 installiert haben, können Sie diesen gleich mit der Standartkonfiguration starten.

suse101:~ # rcapache2 start

Damit man auch vom Netzwerk auf den Webserver zugreifen kann, muss man noch den Port 80 in der Firewall freigeben. Dazu öffnen Sie yast, wechseln zu Sicherheit und Benutzer -> Firewall -> Erlaubte Dienste und tragen HTTP-Server als erlaubten Dienst ein.

Versuchen Sie nun ob Sie von einem Client auf ihren Webserver zugreifen können.

http://192.168.10.1

Wenn bereits Samba läuft sollte der Webserver auch unter folgender URL erreichbar sein.

http://server

Verwenden Sie bereits einen DNS-Server in ihrem Netzwerk, ist der Aufruf mit der Fully Qualified Domain Name (FQDN) möglich.

http://server.home.lan

Sollten die beiden letzteren Adressen nicht funktionieren, starten Sie ihren Samba- bzw. DNS-Daemon erneut. Funktioniert ihre Apache-Konfiguration, können Sie ihn im Runlevel Editor aktivieren.

Wenn Sie nun ihre Webseite unter /srv/www/htdocs/ ablegen, wird diese angezeigt. Beachten Sie bitte dass die Startseite den Namen index.htm, index.html oder index.php tragen muss und dass die Leserechte für alle Benutzer gegeben sind. Dazu können Sie nachdem ihre Webseite nach /srv/www/htdocs/ kopiert wurde folgenden Befehl ausführen.

suse101:~ # chmod 755 -R /srv/www/htdocs/

Da man während des Erstellens einer Internetpräsenz öfters etwas an seinen Dokumenten ändert, empfiehlt es sich das Verzeichnis /srv/www/htdocs/ unter Samba freizugeben.

3. Apache2 Konfiguration: Symlinks erlauben

Manchmal ist es nötig ein Verzeichnis das nicht im htdocs-Ordner liegt mit Hilfe eines Symlinks einzubinden. Wenn Sie nur ein Verzeichnis einbinden wollen, müssen Sie eine kleine Änderung an der default-server.conf vornehmen. Dazu öffnen Sie die Konfigurationsdatei mit.

suse101:~ # mcedit /etc/apache2/default-server.conf

Suchen Sie jetzt folgenden Absatz.

<Directory "/srv/www/htdocs">
        ...
        Options None
        ...
</Directory>

Ersetzten Sie nun dass None hinter Options durch FollowSymLinks und speichern die Konfigurationsdatei ab. Danach müssen Sie nur noch den Apache neu starten.

suse101:~ # rcapache2 restart

Wollen Sie das komplette htdocs-Verzeichnis verschieben und mit einem Symlink einbinden, müssen Sie noch zusätzlich folgende Änderung an der httpd.conf vornehmen.

suse101:~ # mcedit /etc/apache2/httpd.conf

Suchen Sie folgenden Absatz in der Konfigurationsdatei.

<Directory />
        Options None
        ...
</Directory>

Ersetzten Sie nun wieder dass None hinter Options durch FollowSymLinks und speichern die Konfigurationsdatei ab. Danach müssen Sie wieder den Apache neu starten.

suse101:~ # rcapache2 restart

4. Apache2 Konfiguration: .htaccess erlauben

Will man einen Bereich seiner Webseite nur bestimmten Benutzern zugänglich machen, muss man eine .htaccess und eine .htpasswd Datei erzeugen und in das zu sperrende Verzeichnis kopieren.

Damit Apache auch die .htaccess Datei berücksichtigt, muss die default-server.conf ein wenig modifiziert werden.

suse101:~ # mcedit /etc/apache2/default-server.conf

Suchen Sie in der default-server.conf nach folgendem Eintrag.

<Directory "/srv/www/htdocs">
        ...
        AllowOverride None
        ...
</Directory>

Jetzt müssen Sie den Wert hinter AllowOverride anpassen. Die folgenden Werte können verwendet werden.

All           Alle gültigen Direktiven dürfen verwendet werden.
None          .htaccess-Dateien werden ignoriert.
Options       Die Options-Direktive kann für das Verzeichnis angewandt werden.
FileInfo      Alle Direktiven bezüglich Dateirechte und -zuordnung dürfen verwendet werden.
AuthConfig    Für diese Seite/dieses Verzeichnis kann eine individuelle Zugangsberechtigung eingestellt werden.
Limit         Die Limit-Direktive (betrifft Server-Namen) kann individuell eingestellt werden.

In diesem Bespiel verwende ich All.
Nach der Änderung muss der Apache-Daemon neu gestartet werden.

suse101:~ # rcapache2 restart

Nun kommen wir zum Erstellen der .htaccess Datei und der dazugehörigen .htpasswd. In jedem Verzeichnis das man mit einem Passwort schützen will, muss eine Datei mit dem Namen .htaccess abgelegt sein. Diese Datei sollte folgendes beinhalten.

AuthUserFile .htpasswd
AuthName "Security Area"
AuthType Basic
require valid-user

Soll die Passwortdatei in ein anderes Verzeichnis ablegt werden, muss der komplette Pfad bei AuthUserFile angegeben werden. Was bei AuthName eingetragen wird, erscheint später im Passwort-Fenster.

Jetzt müssen wir noch die zugehörige Passwortdatei erzeugen. Dies kann man mit dem Programm htpasswd2 welches im Paket apache2 enthalten ist erzeugen. Wechseln Sie zuerst in ihr Verzeichnis in dem bereits ihre .htaccess Datei liegt. Jetzt führen Sie folgenden Befehl aus.

suse101:~ # htpasswd2 -c .htpasswd username

Danach muss man noch ein Passwort eingeben. Durch die Option -c wird die Datei .htpasswd erzeugt. Sollten Sie mehrere Benutzer anlegen wollen, müssen Sie die Option -c bei den nächsten Benutzern weglassen.

Die somit erstellte Passwortdatei ist dann wie folgt aufgebaut (username:password).

user1:$apr1$u11.....$xPOXqVfchhX0IPeDFd/iw/
user2:$apr1$y21.....$pCLSUhS8RunrwaFrkwXj10
user3:$apr1$M31.....$s1F5Du0fbMA/sTAHVGG.d0

Nun sollte der Inhalt des Webordners nur noch durch die Eingabe eines Benutzers und dessen Passworts erreichbar sein.

Weitere Informationen zu .htaccess finden Sie unter http://www.perlunity.de/perl/manual/htaccess_page1.shtml.

5. PHP5

Wollen Sie PHP5 auf ihrem Webserver einsetzen, müssen Sie die Pakete php5 und
apache2-mod_php5 installieren.

6. Webalizer

Wenn man eine Zugriffsstatistik für seine Webseite benötigt, empfiehlt sich der Einsatz von Webalizer. Dazu müssen Sie das Paket webalizer installieren und dessen Konfigurationsdatei noch an die eigenen Bedürfnisse anpassen.

suse101:~ # mcedit /etc/webalizer.conf

Die folgenden Zeilen sollten Sie mit einem # am Anfang der Zeile auskommentieren:

DNSCache dns_cache.db
DNSChildren 10

Jetzt können Sie den Webalizer starten.

suse101:~ # webalizer

Sie erhalten nun folgende Ausgabe.

Webalizer V2.01-10 (Linux 2.6.16.13-4-default) English
Using logfile /var/log/apache2/access_log (clf)
Creating output in /srv/www/htdocs/webalizer
Hostname for reports is 'server'
History file not found...
Generating report for May 2006
Generating summary report
Saving history information...
11 records in 3.00 seconds, 3/sec

Nach dem Ausführen des Webalizers können die aktuellen Logfiles unter http://192.168.10.1/webalizer/ eingesehen werden.

Da die Log-Webseite nur beim Ausführen des Befehls webalizer aktualisiert wird, empfiehlt es sich diesen durch einen Cronjob starten zu lassen.


Dieser Eintrag wurde am 23.05.2006 erstellt und zuletzt am 03.11.2012 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_35_1921.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer