User Tools

Site Tools


doc:appunti:linux:sa:trac

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:trac [2010/11/29 15:40] – [Installazione da sorgenti] niccolodoc:appunti:linux:sa:trac [2013/01/17 17:17] (current) – [Amministrazione] niccolo
Line 60: Line 60:
 L'utente Unix che lancia il comando ''trac-admin'' deve avere i permessi di lettura e scrittura sul file **''db/trac.db''** e la directory che lo contiene. L'utente Unix che lancia il comando ''trac-admin'' deve avere i permessi di lettura e scrittura sul file **''db/trac.db''** e la directory che lo contiene.
  
 +Uno dei permessi fondamentali è **''SEARCH_VIEW''**, conviene darlo a tutti gli utenti autenticati.
 ===== Configurazione ===== ===== Configurazione =====
  
Line 76: Line 77:
 use_short_addr = true use_short_addr = true
 smtp_always_bcc = trac@rigacci.org smtp_always_bcc = trac@rigacci.org
 +smtp_enabled = true
 smtp_from = trac@rigacci.org smtp_from = trac@rigacci.org
 smtp_port = 25 smtp_port = 25
Line 187: Line 189:
  
 ===== Installazione da sorgenti ===== ===== Installazione da sorgenti =====
 +
 +Documentazione utile:
 +
 +  * [[http://trac.edgewall.org/wiki/TracInstall|Trac Installation Guide for 0.12]]
 +  * [[http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac|modwsgi, Integration With Trac]]
  
 Come installare Trac 0.12 (include la traduzione in più lingue, richiede il modulo Python Babel) non pacchettizzato Debian. Su una **Debian Squeeze** con già Apache e PHP si installano i seguenti pacchetti: Come installare Trac 0.12 (include la traduzione in più lingue, richiede il modulo Python Babel) non pacchettizzato Debian. Su una **Debian Squeeze** con già Apache e PHP si installano i seguenti pacchetti:
Line 201: Line 208:
 </code> </code>
  
-Eventualmente si può aggiungere il parametro **''%%--prefix=/usr/local%%''**. Se tutto sembra a posto si esegue il comando senza ''%%--dry-run%%'' e con l'opzione ''%%--record files.txt%%'' per avere traccia di cosa viene installato. Sono necessari i privilegi di root. Queste le directory e i file installati:+Eventualmente si può aggiungere il parametro **''%%--prefix=/usr/local%%''**. Se tutto sembra a posto si esegue il comando senza ''%%--dry-run%%'' e con l'opzione ''%%--record files.txt%%'' per avere traccia di cosa viene installato, sono necessari i privilegi di root
 + 
 +<code> 
 +python ./setup.py install --record files.txt 
 +</code> 
 + 
 +Pare che non esista una opzione per la disinstallazioneForse bisogna chiamare **''easy_install''** con l'opzione **''-m''**? Queste le directory e i file installati:
  
   * **''/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/''**   * **''/usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/''**
   * **''/usr/local/bin/trac-admin''**   * **''/usr/local/bin/trac-admin''**
   * **''/usr/local/bin/tracd''**   * **''/usr/local/bin/tracd''**
 +  * **''/usr/local/bin/easy_install''**
 +  * **''/usr/local/bin/easy_install-2.5''**
 +  * **''/usr/local/bin/easy_install-2.6''**
 +
 +Gli eseguibili di ''easy_install'' sarebbero comunque già installati con il pacchetto python-setuptools.
 +
 +==== Configurazione Apache ====
 +
 +Si può utilizzare Apache in varie configurazioni, **CGI**, **FastCGI**, **mod_python**, **mod_wsgi**. Pare che il metodo consigliato sia **[[http://trac.edgewall.org/wiki/TracModWSGI|mod_wsgi]]**, molto più performante di CGI e mod_python.
 +
 +La directory in cui risiede un progetto Trac (environment) **non dovrebbe stare dentro la DocumentRoot**. Si possono creare diversi progetti Trac che rispondono dallo stesso VirtualHost in sottodirectory differenti. L'istanza wsgi di Trac rimane una sola per ottimizzare l'utilizzo di memoria sul server. In pratica vogliamo che siano disponibili degli URL del tipo:
 +
 +^ ''%%http://trac.site.org/%%''  | Indice dei progetti Trac creati nel VirtualHost.  |
 +^ ''%%http://trac.site.org/project/%%''  | Home page del singolo progetto.  |
 +
 +Ecco una possibile organizzazione delle directory:
 +
 +^ DocumentRoot         | ''/var/www/trac.site.org/''        | In pratica contiene solo uno script .wsgi.  |
 +^ TRAC_ENV_PARENT_DIR  | ''/home/trac.site.org/projects/''  | Contiene una sottodirectory per ogni progetto.  |
 +^ PYTHON_EGG_CACHE     | ''/home/trac.site.org/eggs/''      | Directory dove Python può scompattare temporaneamente degli egg Python.  |
 +
 +Il file **''/etc/apache2/sites-available/trac.site.org''**, oltre alle consuete impostazioni contiene:
 +
 +<file>
 +WSGIScriptAlias / /var/www/trac.site.org/trac.wsgi
 +<Directory /var/www/trac.site.org>
 +    WSGIApplicationGroup %{GLOBAL}
 +    Order deny,allow
 +    Allow from all
 +</Directory>
 +</file>
 +
 +Il file **''/var/www/trac.site.org/trac.wsgi''** contiene:
 +
 +<code python>
 +#!/usr/bin/python
 +# -*- coding: utf-8 -*-
 +import sys
 +sys.stdout = sys.stderr
 +import os
 +os.environ['TRAC_ENV_PARENT_DIR'] = '/home/trac.site.org/projects'
 +os.environ['PYTHON_EGG_CACHE'] = '/home/trac.site.org/eggs'
 +import trac.web.main
 +application = trac.web.main.dispatch_request
 +</code>
 +
 +==== Inizializzazione di un progetto ====
  
 Per inizializzare un progetto Trac: Per inizializzare un progetto Trac:
  
 <code> <code>
-trac-admin /var/www/virtualhost/project_name initenv +trac-admin /home/trac.site.org/projects/<project> initenv 
-chown -R www-data /var/www/virtualhost/project_name/db+chown -R www-data:www-data /home/trac.site.org/projects/<project>
 </code> </code>
  
-Per utilizzarlo tramite server web Apache...+Pare che non basti dare i permessi ad Apache solo sulla directory **''db''**, come con l'installazione mod_python vista sopra. 
 + 
 +Le impostazioni del progetto possono essere modificate editando il file **''conf/trac.ini''** contenuto nella directory stessa del progettto (environment). 
 + 
 +Nella directory **''/home/trac.site.org/projects/<project>/htdocs''** si potranno mettere file da includere nelle pagine web, ad esempio il logo. I file saranno disponibili all'URL base **''%%http://trac.site.org/<project>/chrome/site/%%''**. Questo corrisponde al percorso relativo **''site/''** usabile nel file di configurazione ''trac.ini''
 + 
 +Altri file - condivisi fra tutti i progetti - sono contenuti nella directory di installazione del Trac (''dist-packages''), sottodirectory **''trac/htdocs/''**. Questi sono accessibili all'URL base **''%%http://trac.site.org/<project>/chrome/common/%%''**.
doc/appunti/linux/sa/trac.1291041607.txt.gz · Last modified: 2010/11/29 15:40 by niccolo