Difference between revisions of "SVN server installation (Linux)"
m (WikiFreak moved page SVN server to SVN server installation (Linux): Splitting the article) |
|||
Line 116: | Line 116: | ||
− | + | =Create SVN repository= | |
To do any advanced task, you've to use "svnadmin" | To do any advanced task, you've to use "svnadmin" | ||
Line 125: | Line 125: | ||
− | + | ==1. Create root folder== | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 141: | Line 141: | ||
− | + | ==2. Adjust rights== | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 155: | Line 155: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ==3. Create users== | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 164: | Line 164: | ||
− | + | ==Repository access== | |
You can use the repository with the following SVN URL: svn://server/''java'' | You can use the repository with the following SVN URL: svn://server/''java'' | ||
+ | |||
Line 182: | Line 183: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cat /var/svn/myRepo/db/format | cat /var/svn/myRepo/db/format | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 21:04, 18 October 2014
SVN 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 (Linux)
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/subversionServer
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/subversionServer
Create symlinks:
ln -s /etc/init.d/subversionServer /usr/bin/subversionServer
Update boot sequence
Register SVN server to server startup
cd /etc/init.d
update-rc.d subversionServer defaults
Start SVN server
/etc/init.d/subversionServer start
How to remove SVN from boot?
Just execute the following sequence
update-rc.d -f subversionServer remove
Create 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
Upgrade repository (Linux)
cd /var/svn/
svnadmin upgrade myRepo
Then you can check the SVN repository version:
cat /var/svn/myRepo/db/format