[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SVN plus Apache2



Le 2013-07-26 19:09, KAHANAM Essodjolo a écrit :
Le proprietaire c'est root.
Dois-je le changer?

Oui, le service n'a pas besoin des droits root il me semble. Sur cette page : http://wiki.debian.org/SmallSVNAdministrationTutorial il propose de créer un utilisateur système pour lancer le service.

Voilà, j'ai trouvé une installation de subversion chez moi, ça va aller mieux pour expliquer. J'ai dans mes process :

svn 15575 0.0 0.0 87944 948 ? Ss juin06 0:00 /usr/bin/svnserve -d -r /var/lib/subversion

Donc le répertoire qui contient les dépots c'est /var/lib/subversion et l'utilisateur svn (j'ai du choisir le nom).

Il faut donc que tu crée un groupe système "svn" et un utilisateur système "svn" (commande addgroup et adduser avec le flag --system)

addgroup --system svn
adduser --system --home /var/lib/subversion --ingroup svn svn

Ensuite, tu donnes les droits du dépots à svn

chgrp -R svn /var/lib/subversion
chown -R svn /var/lib/subversion

Pour le lancement de subversion j'utilise un script dans init.d (en pièce jointe), le fichier ne fait pas parti du paquet, j'ai du le créer.

Tu pourras normalement lancer le service avec /etc/init.d/subversion start

Tu auras un service svn sans les privilèges root.
#!/bin/sh

### BEGIN INIT INFO
# Provides:          subversion
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs $network
# Should-Start:      $all
# Should-Stop:       $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: subversion Server
# Description:       Debian init script for the subversion deamon
### END INIT INFO

 
set -e
if [ -x /usr/bin/svnserve ] ; then
    HAVE_SVNSERVE=1
else
    echo "Svnserve not installed."
    exit 0
fi
 
. /lib/lsb/init-functions
 
case "$1" in
    start)
        log_action_begin_msg "Starting SVN server"
        /sbin/start-stop-daemon --start --chuid svn:svn --exec /usr/bin/svnserve -- -d -r /var/lib/subversion
        log_action_end_msg $?
        ;;
    stop)
        log_action_begin_msg "Stopping SVN server"
        /sbin/start-stop-daemon --stop --exec /usr/bin/svnserve
        log_action_end_msg $?
        ;;
    force-reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: /etc/init.d/svnserve {start|stop|restart|force-reload}"
        exit 1
        ;;
esac
 
exit 0


Reply to: