Difference between revisions of "SVN server installation (Linux)"
(Created page with "Subversion is used to managed file revisions, branches and application releases. You have to install a SVN server, then a client on each remote computer. =SVN server= ==i...") |
(→2. Adjust rights) |
||
Line 137: | Line 137: | ||
Adjust values: | Adjust values: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | anon-access = | + | anon-access = none → disable anonymous access |
− | auth-access = | + | auth-access = write → allow read / write to all users |
− | password-db = | + | password-db = passwd → password required to log-in |
− | realm = | + | realm = 'java' → Name of the current repo (without quotes!) |
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
===3. Create users=== | ===3. Create users=== |
Revision as of 15:15, 26 January 2014
Subversion is used to managed file revisions, branches and application releases. You have to install a SVN server, then a client on each remote computer.
Contents
SVN server
installation
Required package
apt-get install subversion
Source folder You must indicate to subversion how it's going to work
mkdir /var/svn
mkdir /var/svn/myRepository
Set rights
chown -R www-data:www-data /var/svn/myRepository
chmod -R 777 /var/svn/myRepository
→ Use "www-data" user:group if you want to setup web access through HTTP(S) protocol later on.
Server automatic startup
Create SVN startup script
vim /etc/init.d/svnServer
Put the following content
#!/bin/sh
### BEGIN INIT INFO
# Provides: svn
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SVN server
### END INIT INFO
do_start () {
svnserve -d -r /var/svn --pid-file /var/run/svnserve.pid
}
do_stop () {
start-stop-daemon --stop --quiet --pidfile /var/run/svnserve.pid
}
case "$1" in
start)
do_start
;;
stop)
do_stop
exit $?
;;
restart)
do_stop
sleep 1s
do_start
;;
*)
echo "Usage: $0 start|stop|restart" >&2
exit 3
;;
esac
Set execution flags:
chmod 750 /etc/init.d/svnServer
Update boot sequence
Create symlink
ln -s /etc/init.d/svnServer /usr/bin/svnServer
cd /etc/init.d
update-rc.d svnServer defaults
Start SVN server
/etc/init.d/svnServer start
How to remove SVN from boot?
Just execute the following sequence
update-rc.d -f svnserve remove
SVN repository
To do any advanced task, you've to use "svnadmin" To create repository you have to: 1. Create folder 2. Defines rights 3. Creates users
1. Create root folder
svnadmin create /var/svn/myRepo
Create repo structure
cd /var/svn/myRepo
mkdir trunk
mkdir tags
mkdir branches
chmod -R 755 */
2. Adjust rights
vim /var/svn/myRepo/conf/svnserve.conf
Adjust values:
anon-access = none → disable anonymous access
auth-access = write → allow read / write to all users
password-db = passwd → password required to log-in
realm = 'java' → Name of the current repo (without quotes!)
3. Create users
vim /var/svn/myRepo/conf/passwd
Restart your server to use the new repository.
Repository access
You can use the repository with the following SVN URL: svn://server/java
LDAP + WebSVN access
Instead of “svn://” + dedicated SVN user you can use “https://myServer/dav_svn/” + LDAP user. Please read the Apache 2 documentation to get more information.
>> TODO : add link <<
SVN client
The SVN client version must match the server version for better performances and to avoid errors.
Graphical SVN client
Windows
Tortoise SVN is the best one available. http://tortoisesvn.tigris.org/
Linux
RabbitVCS is a good alternative to tortoise SVN: http://rabbitvcs.org/
apt-get install rabbitvcs-cli rabbitvcs-core rabbitvcs-gedit rabbitvcs-nautilus