Apache

Der Apache-Webserver ist eine Voraussetzung für ein Content Mangement System mit WebGUI. Die Basiskonfiguration setzt hierzu mod_perl und libapr (Apache2::Request) voraus.

Zum Betrieb von WebGUI als virtueller Apache-Server sind die folgenden Ergänzungen der Apache-Konfigurations-Datei httpd.conf notwendig:
(angenommen, Ihre Module liegen im Unterverzeichnis "modules")

Standard:

...

# Anforderungen WebGUI 7 in der Apache-Konfiguration
LoadModule perl_module modules/mod_perl.so
LoadModule apreq_module modules/mod_apreq2.so
PerlSetVar WebguiRoot /data/WebGUI
PerlCleanupHandler Apache2::SizeLimit
PerlRequire /data/WebGUI/sbin/preload.perl

# Mit einem virtuellen Host

NameVirtualHost <IP-Adresse>:80

<VirtualHost <domainname>:80>
        ServerName <domainname>
        DocumentRoot /data/WebGUI/www
        SetHandler perl-script
        PerlInitHandler WebGUI
        PerlSetVar WebguiConfig WebGUI.conf
</VirtualHost>

 

Mehrere virtuelle Hosts, mit einer Apache-Instanz:

(s. auch Standard-Datei-Hierarchie)

# Proxy-Konfiguration (Dieser Host leitet Anfragen weiter)
# Proxy-Port in der Regel Port 80

<VirtualHost *:[% modproxyPort %]>
    ServerName [% sitename %]
    ServerAlias [% domain %]
    CustomLog [% domainRoot %]/[% sitename %]/logs/access.log combined
    DocumentRoot [% domainRoot %]/[% sitename %]/public

    # turn on mod_rewrite
    RewriteEngine On
    RewriteLog "[% wreRoot %]/var/logs/modrewrite.log"
    RewriteLogLevel 0

    # block IIS related attacks from getting to WebGUI
    RewriteRule ^/scripts/ - [L]
    RewriteRule ^/default.ida - [L]
    RewriteRule ^/_vti_bin - [L]
    RewriteRule ^/_mem_bin - [L]

    # leave static stuff to be served directly by modproxy
    RewriteRule ^/favicon.ico - [L]
    RewriteRule ^/extras/ - [L]

    # Uploads werden möglichst sofort geliefert
    # For speed we only pass on uploads if there is a .wgaccess file
    RewriteCond %{REQUEST_FILENAME}             ^(.*/)
    RewriteCond ${DOCUMENT_ROOT}%1.wgaccess     !-f
    RewriteRule ^/uploads/                      - [L]

    # Weiterleitung zum eigentlichen Server
    # proxy webgui pages
    ProxyPreserveHost On
    RewriteRule ^/(.*) http://127.0.0.1:[% modperlPort %]/$1 [P]
</VirtualHost>

# Weitere Hosts (Anfragen kommen über Proxy)

<VirtualHost *:[% modperlPort %]>
    ServerName [% sitename %]
    ServerAlias [% domain %]
    DocumentRoot [% domainRoot %]/[% sitename %]/public
    SetEnvIf SSLPROXY "1" \
        SSLPROXY
    SetHandler perl-script
    PerlInitHandler WebGUI
    PerlSetVar WebguiConfig [% sitename %].conf
</VirtualHost>

 

Der komplexere Fall:

Wenn Sie mehrere WebGUI-Versionen gleichzeitig laufen lassen möchten, kann das mit einer Proxy-Konfiguration (z.B. auf Port 80) und weiteren Apache-Instanzen realisiert werden.

Schlüsselworte: webserver proxy virtualhost

©2012 WebGUI Professional. All Rights Reserved.