Good to Know Database

SuSE Linux 9.2: Apache einrichten


Wenn man eine Internetseite 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 Apache aufsetzen.

Apache einrichten

Sollten Sie Apache noch nicht installiert haben, öffnen Sie yast und wechseln nach Software -> Software installieren oder löschen und wählen das Paket apache2 und apache2-prefork mit allen benötigten Paketen aus.

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

suse92:~ # rcapache2 start

Versuchen Sie nun ob Sie von einem Client auf folgende Webseiten zugreifen können:

http://192.168.10.1

wenn bereits Samba läuft:

http://server

wenn Sie einen DNS-Server verwenden:

http://server.home.lan

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

Wenn Sie nun ihre Webseite unter /srv/www/htdocs/ ablegen, wird diese angezeigt. Beachten Sie bitte das die Startseite den Namen index.htm bzw. index.html tragen muss und das 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.

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

Da man öfters was an seiner Webseite ändert, empfiehlt es sich das Verzeichnis /srv/www/htdocs/ unter Samba freizugeben.

Apache - 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:

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

Suchen Sie jetzt folgenden Absatz:

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

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

suse92:~ # 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.

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

Suchen Sie folgenden Absatz in der Konfigurationsdatei:

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

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

suse92:~ # rcapache2 restart

Apache - .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:

suse92:~ # 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.

suse92:~ # 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 in dem 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:

suse92:~ # 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 möglich sein.

Weitere Informationen zu .htaccess finden Sie unter:

http://www.perlunity.de/perl/manual/htaccess_page1.shtml

PHP4

Wenn Sie PHP auf ihrem Webserver benötigen, müssen Sie nur die Pakete php4 und apache2-mod_php4 installieren.

Webalizer einrichten

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.

suse92:~ # mcedit /etc/webalizer.conf

Suchen sie in der webalizer.conf nach diesem Eintrag:

OutputDir      /var/lib/webalizer

In das hier angegebene Verzeichnis werden die Log-Webseiten gespeichert. Wollen sie die Logs bequem von ihrem Client ansehen, sollten Sie den Ausgabepfad nach /srv/www/htdocs/webalizer umschreiben.

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

DNSCache       dns_cache.db
DNSChildren    10

Wie es aussieht hat sich ein kleiner Fehler beim Webalizerpaket von SuSE Linux 9.2 eingeschlichen. Deshalb müssen Sie den LogFile Pfad wie folgt anpassen:

LogFile      /var/log/apache2/access_log

Jetzt können Sie den Webalizer starten.

suse92:~ # webalizer

Sie erhalten nun folgende Ausgabe:

Webalizer V2.01-10 (Linux 2.6.8-24.3-default) English
Using logfile /var/log/apache2/access_log (clf)
Using DNS cache file dns_cache.db
Creating output in /srv/www/htdocs/webalizer
Hostname for reports is 'server'
History file not found...
Generating report for November 2004
Generating summary report
Saving history information...
3361 records in 0.32 seconds

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 Webalizer aktualisiert wird, empfiehlt es sich diesen durch einen Cronjob starten zu lassen.


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

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

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer