Cerca su HostingTalk.it(puoi inserire qualsiasi parola, termine, azienda, espressione). Scrivi e premi INVIO!
Loading

+ Rispondi alla Discussione
Risultati da 1 a 2 di 2
  1. #1
    Nuovo utente L'avatar di gorkon
    Data Registrazione
    Jul 2006
    Località
    L'Aquila
    Messaggi
    24

    [Guida] Trac, lighttpd e vhost

    Ultimamente ho fatto il "salto" da apache2 a lighttpd. La cosa non è stata traumatica se non per un vhost con un'applicazione un po' particolare: Trac.

    Questa piccola guida descrive come creare un virtual host dedicato a Trac su lighttpd. Ho dato per scontato che sappiate come installare e configurare un ambiente trac, in caso contrario vi conviene studiare la documentazione ufficiale e poi continuate a leggere.
    Il sistema di riferimento è Debian Etch, ma la cosa può funzionare tranquillamente (forse) su altre distro/sistemi operativi.

    Prerequisiti:
    - Lighttpd 1.4.1x
    - Trac 0.10.x

    Non è strettamente necessario, ma vi consiglio di utilizzare AccountManagerPlugin (e quindi WebAdmin) per gestire l'autenticazione e gli utenti. Se volete utilizzare l'autenticazione standard di Trac dovrete aggiungere le righe relative nella configurazione di lighttpd.

    Il primo passo da effettuare è anche quello più spinoso e che farà arricciare il naso a molti puristi: patchare /usr/share/python-support/trac/trac/web/main.py.
    Purtroppo, mod_fastcgi di lighttpd non imposta correttamente PATH_INFO e SCRIPT_NAME se l'url a cui è associato l'handler termina per "/" - nel nostro caso è proprio "/" - e dal canto suo, trac onora TRAC_URI_ROOT solo come opzione di mod_python e non come variabile d'ambiente (al contrario di quanto dichiara la documentazione).

    Cercate queste righe (intorno alla riga 325):
    Codice:
            environ.setdefault('trac.template_vars',
                               os.getenv('TRAC_TEMPLATE_VARS'))
            environ.setdefault('trac.locale', '')
    ed aggiungete subito dopo (mi raccomando, rispettate gli spazi!):
    Codice:
            uri_root_path = os.getenv('TRAC_URI_ROOT')
    
            if uri_root_path:
                root_uri = uri_root_path.rstrip('/')
                request_uri = environ['REQUEST_URI'].split('?', 1)[0]
                if not request_uri.startswith(root_uri):
                    raise ValueError('TracUriRoot set to %s but request URL '
                                     'is %s' % (root_uri, request_uri))
                environ['SCRIPT_NAME'] = root_uri
                environ['PATH_INFO'] = urllib.unquote(request_uri[len(root_uri):])
    Salvate e ricompilate main.pyc (dipende dalla vostra distribuzione, su debian basta un dpkg-reconfigure trac).

    Risolto questo problema, passiamo a lighttpd.
    Create un file dentro /etc/lighttpd/conf-available (ad esempio 99-devel.conf - il nome deve essere nn-NOME.conf) con contenuto simile a questo:
    Codice:
    # Se usate mod_fastcgi anche in altri contesti caricatelo direttamente
    # da lighttpd.conf ed omettete la riga successiva
    server.modules += ( "mod_fastcgi", )
    $HTTP["host"] == "vhost.dominio.tld" {
        server.document-root = "/path/to/trac/env"
    
        alias.url = (
            "/chrome/common/" => "/usr/share/trac/htdocs/",
            "/chrome/site/"   => "/path/to/trac/env/htdocs/",
            ""                => "/usr/share/trac/cgi-bin/trac.fcgi",
        )
    
        $HTTP["url"] =~ "^/chrome/(common|site)/" {
            # Bypassa trac per il contenuto statico
        }
        else $HTTP["url"] =~ "^/" {
            fastcgi.server = (
                "/" => (
                    (
                        "bin-path"        => "/usr/share/trac/cgi-bin/trac.fcgi",
                        "socket"          => "/tmp/trac-vhost_name.sock",
                        "check-local"     => "disable",
                        "disable-time"    => 1,
                        "min-procs"       => 1,
                        "max-procs"       => 1,
                        "bin-environment" => (
                            "TRAC_ENV"      => "/path/to/trac/env",
                            "TRAC_URI_ROOT" => "/",
                        ),
                    ),
                ),
            )
        }
    }
    dove /path/to/trac/env è il percorso assoluto dell'ambiente trac da esportare. Se usate un wrapper (ad es. uno script che invoca trac.fcgi tramite suexec) sostituitelo ad ogni occorrenza del CGI.
    L'alias per /chrome/site/ ed il relativo branch nel conditional successivo vanno definiti solo se avete delle risorse personalizzate (modifiche al template, immagini, ecc. ecc.).

    Fatto questo, abilitate il conf e riavviate lighttpd (sostituite a devel NOME):
    Codice:
    # lighty-enable-mod devel
    # invoke-rc.d lighttpd force-reload
    Happy trac-ing
    Ultima modifica di gorkon; 04-04-2008 alle 10:59 Motivo: typo!
    morph @ Azzurra IRC Network



  2. #2
    Webhosting evangelist
    Data Registrazione
    Oct 2006
    Messaggi
    533

    Re: [Guida] Trac, lighttpd e vhost

    ottima guoda , grazie la metto nei preferiti!!

    Pierpaolo

Discussioni Simili

  1. Problemi vhost su Plesk
    Di eumene nel forum Pannelli di controllo e Hosting software
    Risposte: 0
    Ultimo Messaggio: 21-12-2009, 18:26
  2. lighttpd configurazione personalizzata per vhost
    Di Uno nel forum Pannelli di controllo e Hosting software
    Risposte: 12
    Ultimo Messaggio: 19-08-2009, 14:27
  3. plesk e vhost.conf
    Di satifal nel forum Gestione Server Windows, Linux & CO
    Risposte: 6
    Ultimo Messaggio: 21-11-2007, 19:16
  4. plesk e vhost.conf
    Di satifal nel forum VPS - Virtual Private Server
    Risposte: 0
    Ultimo Messaggio: 24-06-2007, 12:49
  5. apache default vhost
    Di Kunyo nel forum Gestione Server Windows, Linux & CO
    Risposte: 3
    Ultimo Messaggio: 17-06-2006, 10:50

Informazioni Discussione

Utenti che Stanno Visualizzando Questa Discussione

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Tag per Questa Discussione

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi