Der Server [Apache HTTPD] kann vor allem als HTTP-Frontend von komplexeren Web-Sites verwendet werden. HTTP-Angebote aus mehreren Quellen können so zum einer einheitlichen Zugriff kombiniert werden, bei bedarf auf mehrere Rechner verteilt.
Die Informationen beziehen sich auf Apache 2.2.
!!!Referenz auf interne Web-Server
{{{
ProxyPass /path/ http://localhost:8080/path/
ProxyPass /other-path/ http://localhost:8081/other-path/
}}}
__Erklärung:__ Links steht der in der Anfrage zu ersetzende Pfad /path/, der auf '/' endet. Die Endung ist wichtig, damit am Pfad keine doppelten '/' auftreten. Es ist sinnvoll den internen Pfad genauso zu benennen wie den externen, da viele Web-Applikationen absolute Links im HTML-Code herausgeben.
!Header
Durch reines Ersetzen der Anfrage würden die Localhost-URLs mit raus gegeben werden, zum Beispiel bei Redirects. Daher sind Rückwärtsersetzungen sinnvoll:
{{{
RedirectEngine On
ProxyPass /path/ http://localhost:8080/path/
ProxyPassReverse /path/ http://localhost:8080/path/
}}}
__Erklärung:__ In den Headern werden die Localhost-Adressen wieder durch die Adressen der original Anfragen zurück ersetzt, daher auch 'Reverse'.
Zusätzlich können die original Domain-Angaben mit durchgereicht werden, sodass in der Software nicht speziell eine Domain konfiguriert werden braucht:
{{{
ProxyPreserveHost On
}}}
!Redirect
Umleiten des Root-Directory:
{{{
RedirectMatch ^/$ http://www.intersult.com/intersult/
}}}
!!!WebDAV
Der Apache kann auch als WebDAV-Server konfiguriert werden. Dies kann sogar von Windows 7 (eventuell auch frühere Versionen) als Netzwerk-Laufwerk konfiguriert werden.
Dazu wird in der httpd.conf folgende Konfiguration eingetragen:
{{{
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
LoadModule auth_digest_module modules/mod_auth_digest.so
DavLockDB "C:/Java/dav/DavLock"
Alias /dav "C:/Java/dav/data"
<Directory "C:/Java/dav/data">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Location /dav>
Dav On
AuthType Digest
AuthName WebDAV
AuthDigestDomain /dav/ http://localhost/dav/
AuthDigestProvider file
AuthUserFile "C:/Java/dav/user.passwd"
<LimitExcept OPTIONS>
Require valid-user
</LimitExcept>
</Location>
}}}
Die Verzeichnisse C:/Java/dav und C:/Java/data werden per mkdir angelegt. Die Datei user.passwd wird mit touch angelegt, Benutzer werden eingetragen mit:
{{{
htdigest C:\Java\dav\user.passwd WebDAV <username>
}}}
!!Server Status
Wenn das Modul mod_status.so eingefügt wird, kann ein Serverstatus abgerufen werden. Dazu wird innerhalb eines VirtualHost ein Location-Eintrag vorgenommen:
{{{
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from all
AuthType Basic
AuthName "Restricted Files"
AuthBasicProvider file
AuthUserFile "conf/user.passwd"
Require user admin
</Location>
}}}
__Hinweis:__ Im Beispiel ist ein Login mit Passwortschutz konfiguriert. Die Datei user.passwd kann mit dem mitgelieferten Befehl htpasswd erstellt und bearbeitet werden.
!!!PHP installieren
Ein aktuelles PHP-Zip kann heruntergeladen und innerhalb des apache/php entpackt werden. In der httpd.conf braucht man folgende Einträge:
{{{
LoadModule php7_module php/php7apache2_4.dll
PHPIniDir php
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html
}}}
!!!Fragen und Antworten
!!MSVCR110.dll fehlt
Das [Visual C++ Redistributable for Visual Studio 2012|http://www.microsoft.com/en-us/download/details.aspx?id=30679] installieren.
Bei Windows 8 kann dies unter Umständen nicht klappen. Dort können vier Dateien msvc*110.dll manuell nach C:\Windows\system32 kopiert werden. Das geht allerdings nur, wenn die [Benutzerkontensteuerung|Windows] abgeschaltet wird.