Good to Know Database

CentOS 6: Apache 2, PHP und Webalizer


Wenn Sie eine Internetpräsenz aufbauen wollen bietet es sich an diese vorab zu hause 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 2 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.

Apache 2 - Installation und Konfiguration

Sollten Sie Apache 2 noch nicht installiert haben, installieren Sie jetzt das Paket httpd.

[root@centos6 ~]# yum install httpd

Nach der Installation können Sie diesen gleich mit der Standardkonfiguration starten.

[root@centos6 ~]# service httpd start

Damit Sie auch vom Netzwerk auf den Webserver zugreifen können, müssen Sie noch den TCP-Port 80 (HTTP) in der Firewall freigeben.

[root@centos6 ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

Speichern Sie anschließend die erstellte Firewall-Regel mit dem folgenden Befehl dauerhaft in die /etc/sysconfig/iptables.

[root@centos6 ~]# service iptables save

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

http://192.168.10.1

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

Sollte die Namensauflösung nicht funktionieren, starten Sie ihren DNS-Daemon erneut.

Wenn der Web-Server funktioniert können Sie die Init-Skripte für den Apache-Daemon erstellen. Dadurch wird dieser beim Systemstart automatisch gestartet.

[root@centos6 ~]# chkconfig httpd on

Wenn Sie nun Ihre Webseite unter /var/www/html/ 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 /var/www/html/ kopiert wurde folgenden Befehl ausführen.

[root@centos6 ~]# chmod 755 -R /var/www/html/

Da während des Erstellens einer Internetpräsenz öfters etwas an den Dokumenten geändert wird, empfiehlt es sich das Verzeichnis /var/www/html/ unter Samba oder per FTP freizugeben.

Apache 2 - .htaccess erlauben

Wollen Sie einen Bereich der Webseite nur bestimmten Benutzern zugänglich machen, müssen Sie eine .htaccess und eine .htpasswd Datei erzeugen und diese in das zu sperrende Verzeichnis kopieren.

Damit Apache auch die .htaccess Datei berücksichtigt, muss die Konfigurationsdatei ein wenig modifiziert werden.

[root@centos6 ~]# vi /etc/httpd/conf/httpd.conf

Suchen Sie in der httpd.conf nach dem folgenden Eintrag.

<Directory "/var/www/html">
    [...]
    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 Beispiel verwenden wir All.

Nach der Änderung muss der Apache-Daemon neu gestartet werden.

[root@centos6 ~]# service httpd restart

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

AuthUserFile /var/www/html/.htpasswd
AuthName "Security Area"
AuthType Basic
require valid-user

Soll die Passwortdatei in ein anderes Verzeichnis ablegt werden, muss der Pfad bei AuthUserFile angepasst werden. Was bei AuthName eingetragen wird, erscheint später im Benutzer/Passwort-Dialog.

Jetzt müssen Sie noch die zugehörige Passwortdatei erzeugen. Dies können Sie mit dem Programm htpasswd, welches ebenfalls im Paket httpd enthalten ist, erzeugen. In diesem Beispiel soll der Benutzer georg angelegt werden

[root@centos6 ~]# htpasswd -c /var/www/html/.htpasswd georg

Danach müssen Sie 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 entfernen.

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

georg:N/vn99GGivIDQ

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

PHP - Installation und Konfiguration

Wollen Sie PHP auf Ihrem Webserver einsetzen, müssen Sie das Paket php installieren.

[root@centos6 ~]# yum install php

Nach der Installation müssen Sie nur noch den httpd neu starten.

[root@centos6 ~]# service httpd restart

Webalizer - Installation und Konfiguration

Wenn Sie eine Zugriffsstatistik für Ihre Webseite benötigt, empfiehlt sich der Einsatz von Webalizer. Dazu müssen Sie das Paket webalizer installieren.

[root@centos6 ~]# yum install webalizer

Nach der Installation passen Sie noch die Konfigurationsdatei an die eigenen Bedürfnisse an.

[root@centos6 ~]# vi /etc/webalizer.conf

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

DNSCache        /var/lib/webalizer/dns_cache.db
DNSChildren     10

Jetzt können Sie den Webalizer starten.

[root@centos6 ~]# webalizer

Damit Sie die Statistiken auf jedem Client in Ihrem Netzwerk einsehen können, müssen Sie noch die Datei /etc/httpd/conf.d/webalizer.conf bearbeiten.

[root@centos6 ~]# vi /etc/httpd/conf.d/webalizer.conf

Fügen Sie hier eine weitere Allow from Zeile ein um den Zugriff aus Ihrem Subnetzwerk zu erlauben.

Allow from 192.168.10.0/24

Nachdem Sie die Datei gespeichert haben, müssen Sie den httpd neu starten.

[root@centos6 ~]# service httpd restart

Jetzt können Sie die Webalizer-Statistiken unter http://server.home.lan/usage/ einsehen.

Da die Statistiken nur beim Ausführen des Befehls webalizer aktualisiert wird, empfiehlt es sich diesen durch einen Cronjob regelmäßig starten zu lassen.


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

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

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer