Subversion e Trac · 3 min read · Jan 20, 2026

Configurare Subversion e Trac come Host Virtuali su un Server Ubuntu

Configurare Subversion e Trac come Host Virtuali su un Server Ubuntu

Questa guida descrive il processo tramite il quale è possibile configurare il sistema di controllo versione Subversion e farlo funzionare in tandem con Trac, il gestore di progetti per progetti di sviluppo software, su un server che esegue Ubuntu (o possibilmente Debian). È presentato da Openject Consulting.

Configurare Subversion

Per informazioni dettagliate su questo, comprese configurazioni alternative, dai un’occhiata a Version Control with Subversion.

  1. Installa i pacchetti richiesti.sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
  2. Crea una directory per l’host virtuale per SVN. Useremo /var/local/svn invece di /var/www in modo che le istanze di Subversion non intasino la directory delle directory radice del web.sudo mkdir -p /var/local/svn/svn.example.com
  3. Crea un gruppo di sviluppo e aggiungi l’utente web ad esso.sudo addgroup example; sudo adduser www-data example
  4. Aggiungi utenti al gruppo di sviluppo. Queste sono persone che necessitano di accesso al repository.sudo adduser username1 example
    sudo adduser username2 example
    sudo adduser username3 example
  5. Imposta i permessi corretti.sudo chmod 2770 /var/local/svn/svn.example.com
  6. Configura il repository.sudo svnadmin create /var/local/svn/svn.example.com
  7. Pulisci il file delle password corrente. Per impostazione predefinita è per il protocollo svnserve, ma utilizzeremo HTTPS (o solo HTTP). Aggiungeremo utenti a questo file più avanti nel processo.sudo rm /var/local/svn/svn.example.com/conf/passwd
    sudo touch /var/local/svn/svn.example.com/conf/passwd
  8. Consenti al gruppo di scrivere nel repository.sudo chmod -R g+w /var/local/svn/svn.example.com
  9. Imposta la corretta proprietà dei file.sudo chown -R www-data:example /var/local/svn/svn.example.com
  10. Imposta i permessi di accesso al repository. Informazioni su come fare questo possono essere trovate nella sezione Path-Based Authorization di Version Control with Subversion.sudo vi /var/local/svn/svn.example.com/conf/authz
  11. Crea una directory per i file di log.sudo mkdir /var/log/apache2/svn.example.com
  12. Aggiungi il sito all’elenco di rotazione dei log.sudo vi /etc/logrotate.d/apache2
  13. Configura l’host virtuale…sudo vi /etc/apache2/sites-available/svn.example.com…con i seguenti dati. Se non ti interessa SSL, puoi ignorare le opzioni SSL e eseguire questo sulla porta 80. ServerName svn.example.com DAV svn AuthType Basic AuthName "svn.example.com" AuthUserFile /var/local/svn/svn.example.com/conf/passwd AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz SVNPath /var/local/svn/svn.example.com Require valid-user CustomLog /var/log/apache2/svn.example.com/access.log combined ErrorLog /var/log/apache2/svn.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # Aggiungi questo una volta che c'è un certificato reale (non autofirmato). # SSLCertificateKeyFile /etc/apache2/ssl/server.key ServerName svn.example.com Redirect / https://svn.example.com/ Riferimento:/etc/apache2/mods-enabled/dav_svn.conf
  14. Abilita l’host virtuale di subversion.sudo a2ensite svn.example.com
  15. Crea combinazioni di utente/password.htpasswd /var/local/svn/svn.example.com/conf/passwd username
  16. Riavvia il server web.sudo /etc/init.d/apache2 restart
  17. Se hai utenti che lavorano localmente, configura svnwrap. (Vedi la pagina man per dettagli.)sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn

Configurare Trac

  1. Crea la directory web. Useremo /var/local/trac invece di /var/www per non intasare la directory delle radici web.sudo mkdir -p /var/local/trac/trac.example.com
  2. Imposta i permessi corretti.sudo chmod 2770 /var/local/trac/trac.example.com
  3. Crea un’istanza di Trac.sudo trac-admin /var/local/trac/trac.example.com initenv
  4. Imposta la corretta proprietà sulla directory web.sudo chown -R www-data:example /var/local/trac/trac.example.com
  5. Consenti al gruppo di scrivere nel repository.sudo chmod -R g+w /var/local/trac/trac.example.com
  6. Configuralo.sudo vi /var/local/trac/trac.example.com/conf/trac.ini
  7. Crea una directory per i file di log.sudo mkdir /var/log/apache2/trac.example.com
  8. Aggiungi il sito all’elenco di rotazione dei log.sudo vi /etc/logrotate.d/apache2
  9. Configura l’host virtuale…sudo vi /etc/apache2/sites-available/trac.example.com…con i seguenti dati. Se non ti interessa SSL, puoi saltare le opzioni SSL e eseguire questo sulla porta 80. # Configurazione di Trac ServerName trac.example.com Redirect / https://trac.example.com/ ServerName trac.example.com DocumentRoot /var/local/trac/trac.example.com/ Alias /trac/ /usr/share/trac/htdocs Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonInterpreter main_interpreter PythonOption TracEnv /var/local/trac/trac.example.com/ PythonOption TracUriRoot / AuthType Basic AuthName "trac.example.com" # Usa il file delle password SVN. AuthUserFile /var/local/svn/svn.example.com/conf/passwd Require valid-user CustomLog /var/log/apache2/trac.example.com/access.log combined ErrorLog /var/log/apache2/trac.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # Aggiungi questo una volta che c'è un certificato reale (non autofirmato). # SSLCertificateKeyFile /etc/apache2/ssl/server.key Riferimento: http://trac.edgewall.org/wiki/TracOnUbuntu
  10. Abilita l’host virtuale di Trac.sudo a2ensite trac.example.com
  11. Configura i permessi di Trac. Una volta dentro la console di amministrazione, esegui il comando “help permission” per informazioni su come fare questo. Questo è importante perché alcune impostazioni sono permissive per impostazione predefinita, quando dovrebbero essere restrittive. Inoltre, vedi la pagina wiki TracPermissions che viene con la tua nuova installazione.trac-admin /var/local/trac/trac.example.com
  12. Riavvia il server web.sudo /etc/init.d/apache2 restart

L’ultima cosa da fare è aggiungere i sottodomini “svn” e “trac” alla configurazione DNS per il tuo dominio. Una volta fatto questo, Subversion e Trac saranno integrati nel tuo ambiente server e saranno accessibili dal web.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.