Apache Webserver Konfiguration

Version: Apache 1.3.X
wilhelm.moser@demos.at 2003-08-22 20:10

 

download apache_webserver_konfiguration.zip (<10 kb)

 

Kurzübersicht zur Konfiguration des Apache-Webservers mit den minimalen und wichtigsten Parametern und Directories, Aliases sowie Name Based Virtual Hosting. (Für die SSL-Konfiguration gibt es ein eigenes Doklument)

Was ist ein Webserver

Die Konfiguration des Apache Webservers

 

Grundlagen - Pfade

Die Konfigurationsdateien sind im Verzeichnis etc/httpd/(conf) [httpd.conf] zu finden. Das Webserver-Verzeichnis unter /var/www. Leider gibt es unter den Linux-Distributionen zu wenig Standards. Das Webserver-Verzeichnis kann unter /var, /usr/var, /user/local oder /home zu finden sein und httpd, apache oder inetpub heißen. Das Dokumentenverzeichnis html oder htdocs.

im Falle von RedHat 7.2 sind die Pfade /etc/httpd/conf/httpd.conf, /var/www und var/www/html.

 

Grundlagen - httpd.conf

Bei RedHat 7.2 kann die httpd.conf prinzipiell mit defaultwerten übernommen werden. Wichtig ist allerdings dass der  FQDN (Fully Qualified Domain Name) am DNS-Server richtig eingetragen ist

.

Wichtige Direktiven

# Der Servertypo sollte standalone sein und beim Starten des Rechners automatisch
# über die etc/rc.d/init.d runlevels eingebunden sein.

ServerType standalone

 

# ist NUR das Verzeichnis wo der Webserver seine Konfigurationsdateien findet.

ServerRoot "/etc/httpd"

 

# Der Server kann an beliebige Netzwerkkarten gebunden werden. * bedeutet alle

BindAddress *

Port 80

 

# ist nur eine Textinformation die bei Fehlerseiten ausgegeben wird.

ServerAdmin webmaster@net.co.at

 

# hier sollte unbedingt der  FQDN (Fully Qualified Domain Name) stehen. Bitte unbedingt Apache Dokumentation
# dazu LESEN!!!!

ServerName net.co.at

 

#  Das Verzeichnis in dem die bereitgestellten WebDokumente (HTML-Seiten) liegen

DocumentRoot "/var/www/html"

 

# Nachstehend die Direktiven zur Einrichtung des gesamten Webspaces Directory / = /var/www
# Danach stehen in der httpd.conf die Direktiven zur Einrichtung des DocumentRoot
# betreffend der Einrichtung von Zugriffs-Restriktiven (.htaccess) bitte die gesonderte Dokumentation lesen.

# First, we configure the "default" to be a very restrictive set of
# permissions.
#
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

 

# betreffend der Einrichtung von Zugriffs-Restriktiven (.htaccess) bitte die gesonderte Dokumentation lesen.

AccessFileName .htaccess

 

# Es ist möglich über die Deklaration von sogenannten AliasNamen direkt über z.B: http://localhost/icons auf
# das entsprechende Verzeichnis  zugreifen zu können und den Zugriff z.B. mit htAccess Direktiven zu beschränken.

 Alias /icons/ "/var/www/icons/"

<Directory "/www/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

 

# Über die nachstehende Deklaration des Home-Directories kann über http://localhost/~benutzername auf das
# Unterverzeichnis /public_html des Benutzerverzeichnisses öffentlich zugegriffen werden. das heißt damit hat
# jeder unter Linux angelegte Benutzer automatisch eine Hompage

# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

 

# Was ist name-based virtual hosting?
#
# Im DNS sind mehrere DomainNamen auf die gleiche IP-Adresse eingetragen.  Der Apache Webserver erkennt über den Aufruf # der Webseite die gewünschte Domain und stellt diese dem Aufrufer zur Verfügung.
#
# Wie geht das?
#
# Durch die nachfolgende Deklaration  wird dem Webserver das Verzeichnis /var/www/hosts/%0/html
# als das Dokumentenverzeichnis der jeweiligen Domain bekanntgegeben
# über die Variable %0 wird der entsprechende Domainname den der aufrufende Browser übergeben hat erkannt und von
# z.B.  /var/www/hosts/%0/html  in /var/www/hosts/www.net.co.at/html umgewandelt.
#
# somit wird dann die index.html im Verzeichnis
# /var
#        /www
#                /hosts
#                        /www.net.co.at
#                                                /html
#                                                        index.html
# angesprochen.

# Das Verzeichnis www.net.co.at dient als "Webspace" der Domain.
#

# Use name-based virtual hosting.
#
NameVirtualHost *

 

</VirtualHost>

<Virtualhost *>
    Servername %0
    Serveradmin hostmaster@net.co.at
    VirtualDocumentRoot /var/www/hosts/%0/html
    VirtualScriptAlias /var/www/cgi-bin
    CustomLog logs/access_log combined
    <Directory />
        AllowOverride All AuthConfig
    </Directory>
</Virtualhost>

ACHTUNG: Folgende Direktiven sollten eingestellt sein

BindAddress *
NameVirtualHost *
UseCanonicalName Off

 

Den Webserver starten

Mit dem Aufruf setup an der console wird die sysinitv gestartet. Gehen Sie zum Menüpunkt  "system services" und aktivieren Sie httpd. Dann wird Apache beim nächsten systemstart gestartet.

In /etc/rc.d/init.d/ können Sie Apache mit dem Befehl ./httpd start starten.

Zum testen können Sie unter der X-Console mit http://localhost die Testseite aus dem Webbrowser aufrufen.