|
|
(17 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | {{TOCright}}
| + | This page has been moved to my BLOG at: http://blog.kr8.de/wiki-apache/ |
− | = Web-Server Apache =
| |
− | Siehe auch: [[Apache2]]
| |
− | | |
− | == Einsatzzweck ==
| |
− | Auf meinem Entwicklungssystem betreibe ich als [[WebServer]] Apache. Die Einsatzzwecke sind:
| |
− | * Staging-System für meine Web-Sites, die ich dann zu meinen [[WebProvider|Web-Hosting-Providern]] uploaden will
| |
− | * Als Trägersystem ("Application Server") für produktive Anwendnungen
| |
− | ** Mein [[WikiWikiWeb]] für das Knowledge-Management: [[WikiWikiWebMain|TWiki]]
| |
− | ** Meine Link-Verwaltung [[PhpLinks]]
| |
− | | |
− | == Installationen ==
| |
− | === Installation auf [[ComputerBraunbaer]] ===
| |
− | * Definitive Software Library ID: '''Apache'''
| |
− | * Version: 2.2
| |
− | * Betriebsystem: Windows XP Professional
| |
− | * Installationsordner: D:\Programme\Apache
| |
− | * Konfigurationsdateien: D:\Programme\Apache\conf\httpd.conf ----> [[Datensicherung]]
| |
− | ** DocumentRoot: E:\var\www\htdocs
| |
− | * Start: Als Service unter [[WindowsXP]] unter dem Account "kracht" ????
| |
− | * Authentifizierung, Zusatzmodule,.....
| |
− | | |
− | === Installation auf [[ComputerKragenbaer]] ===
| |
− | * Definitive Software Library ID: '''Apache'''
| |
− | * Version: 2.2
| |
− | * Betriebsystem: Windows XP Professional
| |
− | * Installationsordner: D:\Programme\Apache
| |
− | * Konfigurationsdateien: D:\Programme\Apache\conf\httpd.conf ----> [[Datensicherung]]
| |
− | ** DocumentRoot: E:\var\www\htdocs
| |
− | * Start: Als Service unter [[WindowsXP]] unter dem Account "kracht" ????
| |
− | * Authentifizierung, Zusatzmodule,.....
| |
− | | |
− | | |
− | == NTFS-Filesystem ==
| |
− | Wenn man den Apache-Webserver als Trägersystem für eine Anwendung benutzt, mit der man neue Seiten (neue Dateien) anlegt (Kandidaten: [[Content-Management-System]], Knowledge-Management, konkretes Beispiel: TWiki), muss man sich gut überlegen, unter welchem Windows-Account Apache als Windows-Service laufen soll. Dieser Account wird dann im NTFS-Filesystem nämlicher der Owner der neu-erzeugten Dateien.
| |
− | | |
− | Standard-mäßig wird "Lokales Systemkonto" dafür abgeboten, was zur Folge hat, dass man unter seinem eigenen User-Account an so neu-erzeugte Dateien nicht so ohne weiteres heran kommt (Owner=SYSTEM). Wenn Apache auf einer User-Masine läuft, sollte man Apache auch unter dem User-Account laufen lassen. Das sollte das lokale User-Konto sein, wenn man (im Regelfall) ohne Windows-Domain-Anmeldung arbeitet ( User: .\Kracht) und es sollte das Windows-Domain-Konto sein, wenn man damit normalerweise als User arbeitet (User: domainname\username).
| |
− | | |
− | Unter meinem Windows 2000 hatte ich den Eindruck, dass die httpd.conf-Eintragungen:
| |
− | * User nobody
| |
− | * Group nobody
| |
− | nichts bewirken.
| |
− | | |
− | == Apache Authentifizierung ==
| |
− | Zur Authentifizierung unter Apache dienen User-Id und Passwort. Diese werden in einer Datei gespeichert, wobei vom Passwort nur ein Hash-Code (MD5 oder SHA1) gespeichert wird. Diese Datei durch einen Konfigurationsparameter definiert:
| |
− | * Z.B. für [[TWiki]]: AuthUserFile d:/home/kracht/twiki/data/.htpasswd
| |
− | Dieser Parameter kann in der globalen Apache-Konfigurationsdatei ''httpd.conf'' oder in einer lokalen Steuerdatei ''.htaccess'' gesetzt werden.
| |
− | | |
− | Der Zugriff auf Ordner und/oder bestimmte Dateien kann in Abhängigkeit von der Authentifizierung erlaubt oder verboten werden. Beispielsweise für TWiki:
| |
− | <pre>
| |
− | <Files "edit">
| |
− | require valid-user
| |
− | </Files>
| |
− | <Files "save">
| |
− | require valid-user
| |
− | </Files>
| |
− | <Files "attach">
| |
− | require valid-user
| |
− | </Files>
| |
− | </pre>
| |
− | | |
− | == Perl-Script-Ausführung als CGI ==
| |
− | Test eines Perl-Scripts: [[http://braunbaer.kr8.de/twiki/bin/test.pl|http://braunbaer.kr8.de/twiki/bin/test.pl]]
| |
− | | |
− | Zur serverseitigen Ausführung von [[Perl|Perl]]-Scripts sind in der Apache-Konfigurationsdatei sind folgende Eintragungen vorzunehmen:
| |
− | | |
− | 1. Aktivierung der Script-Ausführung für einen Ordner.
| |
− | Entweder mit der Direktive "ScriptAlias" oder mit Hilfe von "Options ExecCGI"
| |
− | <pre>
| |
− | <Directory "D:/var/www/htdocs/twiki/bin/">
| |
− | Options +ExecCGI
| |
− | </Directory>
| |
− | </pre>
| |
− | | |
− | 2. Perl-Script-Handler hinzufügen: Standard CGI
| |
− | <pre>
| |
− | <Directory "D:/var/www/htdocs/twiki/bin/">
| |
− | Options +ExecCGI
| |
− | SetHandler cgi-script
| |
− | </Directory>
| |
− | </pre>
| |
− | | |
− | 3. Zuordnung des aufzurufenden Programms durch die Shebang-Zeile am Anfang eines jeden Scripts:
| |
− | <pre>
| |
− | #!d:/Programme/cygwin/bin/perl -w
| |
− | </pre>
| |
− | | |
− | == Perl-Script-Ausführung vermittels '''mod_perl''' ==
| |
− | In der Apache-Konfigurationsdatei sind folgende Eintragungen vorzunehmen:
| |
− | | |
− | 1. Aktivierung der Script-Ausführung für einen Ordner.
| |
− | <pre>
| |
− | <Directory "D:/home/kracht/www/twiki/bin/">
| |
− | Options +ExecCGI
| |
− | </Directory>
| |
− | </pre>
| |
− | | |
− | 2. Script-Handler hinzufügen: perl_mod
| |
− | <pre>
| |
− | <Directory "D:/home/kracht/www/twiki/bin/">
| |
− | Options +ExecCGI
| |
− | SetHandler perl-script
| |
− | PerlHandler Apache::Registry
| |
− | </Directory>
| |
− | </pre>
| |
− | | |
− | == Installation von mod_perl ==
| |
− | '''mod_perl Version 1''' wird für Apache 1.3.xx verwendet, '''mod_perl Version 2''' ist für Apache 2.xx gedacht.
| |
− | <br />Traditionsgemäss muss man den Sourcecode kompilieren --- oder man besorgt sich eine Windows-Binary-Version.
| |
− |
| |
− | http://perl.apache.org/docs/1.0/os/win32/install.html#PPM_Packages
| |
− | | |
− | '''mod_perl''' besteht aus einem Apache-Moul (mod_perl.so) und einem Perl-Paket (Apache::xyz). Das ladbare Apache-Modul wird in die Apache-Konfigurationsdatei ''httpd.conf'' eingetragen:
| |
− | <pre>
| |
− | LoadFile "D:/perl/bin/perl56.dll"
| |
− | LoadModule perl_module modules/mod_perl.so
| |
− | AddModule mod_perl.c
| |
− | </pre>
| |
− | Das Perl-Package wird mit '''ppm''' wie folgt installiert:
| |
− | <pre>
| |
− | ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/mod_perl.ppd
| |
− | </pre>
| |
− | | |
− | == Installation von mod_dav ==
| |
− | Zur Unterstützung von [[WebDAV]] wird das Modul ''mod_dav'' verwendet. Zunächst muss man sich das Win32-Binary beschaffen; z.B. von:
| |
− | * http://www.gknw.net/development/apache/apache-1.3/win32/modules/
| |
− | * http://www.webdav.org/mod_dav/
| |
− | | |
− | Um die [[WebDAV]]-Unterstützung als Apache-Zusatzmodul zu installieren, sind folgende Eintragungen in der Apache-Konfigurations-Datei httpd.conf vorzunehmen:
| |
− | <pre>
| |
− | LoadModule dav_module modules/mod_dav.dll
| |
− | ...
| |
− | AddModule mod_dav.c
| |
− | ...
| |
− | DAVLockDB e:/var/db/DAVLock
| |
− | DAVMinTimeout 600
| |
− | </pre>
| |
− | | |
− | Dann sind noch die für [[WebDAV]] freigegebenen Ordner zu definieren:
| |
− | <pre>
| |
− | <Directory "e:/var/www/htdocs/docs">
| |
− | DAV on
| |
− | AllowOverwrite AuthConfig
| |
− | AuthName "DAV restricted"
| |
− | AuthType Basic
| |
− | AuthUserFile e:/var/www/htdocs/twiki/data/.htpasswd
| |
− | <Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
| |
− | Require valid-user
| |
− | </Limit>
| |
− | <Directory>
| |
− | </pre>
| |
− | | |
− | -- Main.DietrichKracht - 29 Apr 2004
| |
− | [[Category:DefinitiveSoftwareLibrary]]
| |