Creazione di un server SVN su Debian Lenny: Difference between revisions
Jump to navigation
Jump to search
m New page: ==Installazione pacchetti== sudo apt-get install subversion libapache2-svn trac ==Configurazione Apache== Si crea la configurazione base per trac ed SVN, che poi includerà gli specifi... |
mNo edit summary |
||
| Line 1: | Line 1: | ||
==Installazione pacchetti== | ==Installazione pacchetti== | ||
sudo apt-get install subversion libapache2-svn trac | sudo apt-get install subversion libapache2-svn libapache2-mod-python trac | ||
==Configurazione Apache== | ==Configurazione Apache== | ||
| Line 10: | Line 10: | ||
<pre> | <pre> | ||
cat << EOFile | sudo tee /etc/apache2/sites-available/trac.cross | cat << EOFile | sudo tee /etc/apache2/sites-available/trac.mendrisio.cross.priv > /dev/null | ||
#<VirtualHost *:80> | #<VirtualHost *:80> | ||
# ServerName trac.cross | #<VirtualHost *:80> | ||
# Redirect permanent / https://trac.cross | # ServerName trac.mendrisio.cross.priv | ||
# Redirect permanent / https://trac.mendrisio.cross.priv/ | |||
#</VirtualHost> | #</VirtualHost> | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerName trac.cross | ServerName trac.mendrisio.cross.priv | ||
DocumentRoot /files/trac | DocumentRoot /files/trac | ||
CustomLog /var/log/apache2/trac.cross | CustomLog /var/log/apache2/trac.mendrisio.cross.priv/access.log combined | ||
ErrorLog /var/log/apache2/trac.cross | ErrorLog /var/log/apache2/trac.mendrisio.cross.priv/error.log | ||
#SSLEngine On | #SSLEngine On | ||
#SSLCertificateFile /etc/apache2/apache.pem | #SSLCertificateFile /etc/apache2/apache.pem | ||
| Line 38: | Line 39: | ||
<pre> | <pre> | ||
cat << EOFile | sudo tee /etc/apache2/sites-available/svn.cross | cat << EOFile | sudo tee /etc/apache2/sites-available/svn.mendrisio.cross.priv > /dev/null | ||
#<VirtualHost *:80> | #<VirtualHost *:80> | ||
# ServerName svn.cross | # ServerName svn.mendrisio.cross.priv | ||
# Redirect permanent / https://svn.cross | # Redirect permanent / https://svn.mendrisio.cross.priv/ | ||
#</VirtualHost> | #</VirtualHost> | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerName svn.cross | ServerName svn.mendrisio.cross.priv | ||
CustomLog /var/log/apache2/svn.cross | CustomLog /var/log/apache2/svn.mendrisio.cross.priv/custom.log combined | ||
ErrorLog /var/log/apache2/svn.cross | ErrorLog /var/log/apache2/svn.mendrisio.cross.priv/error.log | ||
include /files/svn/apache2-config/ | include /files/svn/apache2-config/ | ||
</VirtualHost> | </VirtualHost> | ||
| Line 55: | Line 56: | ||
*Creazione directory per i logfile: | *Creazione directory per i logfile: | ||
sudo mkdir /var/log/apache2/svn.cross | sudo mkdir /var/log/apache2/svn.mendrisio.cross.priv | ||
sudo mkdir /var/log/apache2/trac.cross.mendrisio.priv | sudo mkdir /var/log/apache2/trac.mendrisio.cross.priv | ||
*Abilitare i due siti: | |||
sudo a2ensite svn.mendrisio.cross.priv | |||
sudo a2ensite trac.mendrisio.cross.priv | |||
==Script per creare i repository e l'istanza trac== | ==Script per creare i repository e l'istanza trac== | ||
Latest revision as of 15:30, 8 October 2009
Installazione pacchetti
sudo apt-get install subversion libapache2-svn libapache2-mod-python trac
Configurazione Apache
Si crea la configurazione base per trac ed SVN, che poi includerà gli specifici files di configurazione che verranno creati per pgni progetto
- Dile di cfg per trac:
cat << EOFile | sudo tee /etc/apache2/sites-available/trac.mendrisio.cross.priv > /dev/null
#<VirtualHost *:80>
#<VirtualHost *:80>
# ServerName trac.mendrisio.cross.priv
# Redirect permanent / https://trac.mendrisio.cross.priv/
#</VirtualHost>
<VirtualHost *:80>
ServerName trac.mendrisio.cross.priv
DocumentRoot /files/trac
CustomLog /var/log/apache2/trac.mendrisio.cross.priv/access.log combined
ErrorLog /var/log/apache2/trac.mendrisio.cross.priv/error.log
#SSLEngine On
#SSLCertificateFile /etc/apache2/apache.pem
<Location />
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonInterpreter main_interpreter
PythonOption TracEnvParentDir /files/trac
PythonOption TracUriRoot /
</Location>
include /files/trac/apache2-config/
</VirtualHost>
EOFile
- File di cfg per svn-dav
cat << EOFile | sudo tee /etc/apache2/sites-available/svn.mendrisio.cross.priv > /dev/null
#<VirtualHost *:80>
# ServerName svn.mendrisio.cross.priv
# Redirect permanent / https://svn.mendrisio.cross.priv/
#</VirtualHost>
<VirtualHost *:80>
ServerName svn.mendrisio.cross.priv
CustomLog /var/log/apache2/svn.mendrisio.cross.priv/custom.log combined
ErrorLog /var/log/apache2/svn.mendrisio.cross.priv/error.log
include /files/svn/apache2-config/
</VirtualHost>
EOFile
- Creazione directory per i logfile:
sudo mkdir /var/log/apache2/svn.mendrisio.cross.priv sudo mkdir /var/log/apache2/trac.mendrisio.cross.priv
- Abilitare i due siti:
sudo a2ensite svn.mendrisio.cross.priv sudo a2ensite trac.mendrisio.cross.priv
Script per creare i repository e l'istanza trac
Creare lo script:
vi /files/new_svn_trac_project
#!/bin/bash
if [ -z "$2" ]
then
echo Usage:
echo new_svn_trac_project projectDir ProjectName
exit 127
fi
(cd /files && \
mkdir -p svn/apache2-config && mkdir -p trac/apache2-config \
cd svn ) || ( echo Base path error. Aborting.; exit 127)
sudo svnadmin create --fs-type fsfs /files/svn/$1
sudo trac-admin \
/files/trac/$1 initenv \
$2 \
sqlite:db/trac.db \
svn \
/files/svn/$1 \
/usr/share/trac/templates
cat << EOFile | sudo tee /files/trac/apache2-config/$1.conf > /dev/null
<Location /test>
AuthType Basic
AuthName "Trac $2"
AuthUserFile /files/svn/$1/conf/passwd
Require valid-user
</Location>
EOFile
cat << EOFile | sudo tee /files/trac/apache2-config/$1.conf > /dev/null
<Location /$1>
DAV svn
AuthType Basic
AuthName "SVN-DAV for $2"
AuthUserFile /files/svn/$1/conf/passwd
SVNPath /files/svn/$1/
Require valid-user
</Location>
EOFile
sudo htpasswd -bc /files/svn/$1/conf/passwd gabriele passwd1234
sudo htpasswd -b /files/svn/$1/conf/passwd max fmax1975
#sudo htpasswd -b /files/svn/fiuto/conf/passwd marco form433io
sudo chown -R www-data /files/svn/* /files/trac/*
sudo chmod -R 770 /files/svn/* /files/trac/*
sudo invoke-rc.d apache2 reload
- Renderlo eseguibile
chmod +x /files/new_svn_trac_project
- Creare un nuovo progetto con:
./new_svn_trac_project projectDir ProjectName