Projekte

Hostsharing-Projekt: ACT now (Apache Config Templates now)

Ziel

Erstellung eines modularen Mechanismus, mit dem die Einstellungen innerhalb des <VirtualHost> Blockes in der Apache-Config individuell für einzelne Pakete erweitert werden kann.

Für jedes Paket liegt unter /etc/httpd/pacs eine Datei mit der spezifischen Konfiguration für dieses Paket. Diese Datei wird bislang durch ein Skript /etc/httpd/pacs/mk-conf aus vorgegeben Templates /etc/httpd/pacs/own.template und /etc/httpd/pacs/pac.template erstellt. Die Konfigurationen sehen deshalb für jedes Paket gleich aus.

Es erscheint sinnvoll, daß der Mechanismus zur Erstellung der paketspezifischen Konfiguration durch weitere Eingabeparemeter gesteuert werden kann. Mögliche Einsatzgebiete wären:

  • Definition einzelne Optionen für Apache-Module (z.B. php_value include_path)
  • Aktivierung neuer Apache-Module für ein Paket (z.B. mod_gzip)

Die Parameter zur Steuerung können aus einer vom Paketadmin erstellten Datei gelesen werden, so daß die Konfiguration von jedem Paketadmin vorgenommen werden kann.

Zuständigkeiten

  • Projektleiter: Stefan Möding (s.moeding (at) setuid (dot) de)
  • Betreuender Webmaster: Stefan Möding (s.moeding (at) setuid (dot) de)
  • Archivar: Stefan Möding (s.moeding (at) setuid (dot) de)

Zeitplan

von bis Beschreibung Fortschritt
24-09-2002 24-09-2002 Erste Version der Projekt-Homepage Fertig.
24-09-2002 28-09-2002 Festlegung der Grundfunktionalität
28-09-2002 03-10-2002 Implementierung eines Prototypes Fertig

Wichtige Diskussionsbeiträge

Anforderungen

  • Neue Module können durch Hinzufügen eines Templates integriert werden.

Ergebnisse

  • Dieses Dashboard
  • Prototyp des Parsers

    Der Parser transformiert z.B. den folgenden Input

        Feature mod_gzip="on"
    
        Selection mod_gzip_item_include="file \.html$"
        Selection mod_gzip_item_include="mime ^text/"
        Selection mod_gzip_item_exclude="file \.js$"
    
        Option php_include_path="/home/pacs/xyz00/php:."
    
        Selection AddHandler="server-parsed .shtm"
        

    in diesen Code für m4:

        m4_define(`HS_FEATURE_MOD_GZIP', `on')
        m4_define(`HS_SELECTION_MOD_GZIP_ITEM_INCLUDE_1', `file \.html$')
        m4_define(`HS_SELECTION_MOD_GZIP_ITEM_INCLUDE_2', `mime ^text/')
        m4_define(`HS_SELECTION_MOD_GZIP_ITEM_EXCLUDE_1', `file \.js$')
        m4_define(`HS_OPTION_PHP_INCLUDE_PATH', `/home/pacs/xyz00/php:.')
        m4_define(`HS_SELECTION_ADDHANDLER_1', `server-parsed .shtm')
    
        m4_define(`HS_SELECTION_ADDHANDLER_LIST', `1')
        m4_define(`HS_SELECTION_MOD_GZIP_ITEM_EXCLUDE_LIST', `1')
        m4_define(`HS_SELECTION_MOD_GZIP_ITEM_INCLUDE_LIST', `1,2')
        

    Mit diesem Code kann m4 die Templates in Abhängigkeit der definierten Werte in die eigentliche Apache-Config einbetten.

Offene Probleme

Für die anvisierte Zielarchitektur müßte jede Domain innerhalb der Apache-Config einen eigenen VirtualHost-Block bekommen, da pro Domain verschiedene Optionen definiert sein können. Mit der derzeitigen Apache-Konfiguration ist das nicht zu machen, da die verschiedenen Logfiles die Anzahl der gleichzeitig offenen Filehandles überschreiten würde.

Dokumentation

noch keine

änderungen

Für Änderungen an dieser Seite bitte Mail an s.moeding (at) setuid (dot) de


Geändert am: 22.11.2004, 22:34 Uhr
Nach oben
Druckversion