Making-of del servidor subversion

From Es1

Jump to: navigation, search
# apt-get update
# apt-get install subversion
# apt-get install libapache2-svn 
# apt-get install apg
# a2enmod dav
# a2enmod dav_svn 
# mkdir /var/svnES1/
# svnadmin create /var/svnES1/ES1-DL11-02
# cd /location/to/the/template/
# svn import -m 'Template for the seminars' file:///var/svnES1/ES1-DL11-02/ 
# chown -R www-data /var/svnES1/ES1-DL11-02
# htpasswd2 -cb /var/svnES1/ES1-DL11-02.passwd profe secret
# htpasswd2 -b /var/svnES1/ES1-DL11-02.passwd grup11dl02 pgrup11dl02

Edit the file /etc/apache2/conf.d/grup11dl02.conf with the following content:

<Location /grup11dl02>
       DAV svn
       SVNPath /var/svnES1/ES1-DL11-02
       AuthType Basic
       AuthName "Subversion Repository ES1-DL11-02"
       AuthUserFile /var/svnES1/ES1-DL11-02.passwd
       Require valid-user
       SSLRequireSSL
</Location>



#!/bin/bash

baseDir=/var/svnES1
template=/home/testfarmclient/template

mkdir -p $baseDir

if false ; then
       echo -r > GrupsES1
       for dia in DM DJ; do
               for grup in 11 12; do
                       for parellaA in 0 1; do
                               for parellaB in 0 1 2 3 4 5 6 7 8 9; do

               groupID="ES1-$grup$dia-$parellaA$parellaB"
               userID="grup-$grup$dia-$parellaA$parellaB"
               passwd=`apg -m5 -x5 -n1 -MN -c 2`
               echo $groupID $userID $passwd
               echo $groupID $userID $passwd >> GrupsES1
                               done;
                       done;
               done;
       done
fi

cat GrupsES1 | while read groupID userID passwd; do
       echo $groupID $userID $passwd
       cat > /etc/apache2/conf.d/$groupID.conf <<EOF
<Location /$groupID>
      DAV svn
      SVNPath $baseDir/$groupID
      AuthType Basic
      AuthName "Subversion Repository $groupID"
      AuthUserFile $baseDir/$groupID.passwd
      Require valid-user
#       SSLRequireSSL # This is needed if you want it secure
</Location>
EOF
       continue
       svnadmin create $baseDir/$groupID
       cd $template
       svn import -m 'Template for the seminars' file://$baseDir/$groupID/
       chown -R www-data $baseDir/$groupID
       htpasswd -cb $baseDir/$groupID.passwd profe secret
       htpasswd -b  $baseDir/$groupID.passwd $userID $passwd
done


addSvnUser.sh

#!/bin/bash
baseDir=/var/svnES1
echo "Usage: $0 group user password (where group something like ES1-12DM-00)"
groupID=$1
userID=$2
passwd=$3
echo "executing: htpasswd -b  $baseDir/$groupID.passwd $userID $passwd"
htpasswd -b  $baseDir/$groupID.passwd $userID $passwd
Personal tools