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.
- Installa i pacchetti richiesti.sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
- 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
- Crea un gruppo di sviluppo e aggiungi l’utente web ad esso.sudo addgroup example; sudo adduser www-data example
- 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 - Imposta i permessi corretti.sudo chmod 2770 /var/local/svn/svn.example.com
- Configura il repository.sudo svnadmin create /var/local/svn/svn.example.com
- 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 - Consenti al gruppo di scrivere nel repository.sudo chmod -R g+w /var/local/svn/svn.example.com
- Imposta la corretta proprietà dei file.sudo chown -R www-data:example /var/local/svn/svn.example.com
- 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
- Crea una directory per i file di log.sudo mkdir /var/log/apache2/svn.example.com
- Aggiungi il sito all’elenco di rotazione dei log.sudo vi /etc/logrotate.d/apache2
- 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.
Riferimento:/etc/apache2/mods-enabled/dav_svn.confServerName 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/ - Abilita l’host virtuale di subversion.sudo a2ensite svn.example.com
- Crea combinazioni di utente/password.htpasswd /var/local/svn/svn.example.com/conf/passwd username
- Riavvia il server web.sudo /etc/init.d/apache2 restart
- 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
- 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
- Imposta i permessi corretti.sudo chmod 2770 /var/local/trac/trac.example.com
- Crea un’istanza di Trac.sudo trac-admin /var/local/trac/trac.example.com initenv
- Imposta la corretta proprietà sulla directory web.sudo chown -R www-data:example /var/local/trac/trac.example.com
- Consenti al gruppo di scrivere nel repository.sudo chmod -R g+w /var/local/trac/trac.example.com
- Configuralo.sudo vi /var/local/trac/trac.example.com/conf/trac.ini
- Crea una directory per i file di log.sudo mkdir /var/log/apache2/trac.example.com
- Aggiungi il sito all’elenco di rotazione dei log.sudo vi /etc/logrotate.d/apache2
- 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 TracRiferimento: http://trac.edgewall.org/wiki/TracOnUbuntuServerName 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 - Abilita l’host virtuale di Trac.sudo a2ensite trac.example.com
- 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
- 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.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.