View Full Version : Subversion&Trac support
sinosmond
28th October 2005, 22:09
How to build ISPConfig to support Subversion&Trac for every user ?
Hope Subversion&Trac support become a module of ISPConfig.
falko
29th October 2005, 19:52
You mean you want to create a subversion account for every user?
What is Trac?
sinosmond
29th October 2005, 21:53
You mean you want to create a subversion account for every user?
Yes, like www.csoft.net (http://www.csoft.net/index.html.en.utf8)
==============================================
I think, Subversion support maybe 4 case:
1. repo at / , one repo
$ svnadmin create /home/www/web1/web
------------------------------------------------------------
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location />
DAV svn
SVNPath /home/www/web1/web
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/www/web1/.htpasswd
<LimitExcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
Require valid-user
</LimitExcept>
</Location>
2. repos at / , multi repos
$ svnadmin create /home/www/web1/web/project1
$ svnadmin create /home/www/web1/web/project2
------------------------------------------------------------
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location />
DAV svn
SVNParentPath /home/www/web1/web
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/www/web1/.htpasswd
<LimitExcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
Require valid-user
</LimitExcept>
</Location>
3. repo at /svn , one repo
$ svnadmin create /home/www/web1/web/svn
------------------------------------------------------------
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svn>
DAV svn
SVNPath /home/www/web1/web/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/www/web1/.htpasswd
<LimitExcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
Require valid-user
</LimitExcept>
</Location>
4. repos at /svn , multi repos
$ svnadmin create /home/www/web1/web/svn/project1
$ svnadmin create /home/www/web1/web/svn/project2
------------------------------------------------------------
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/www/web1/web/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/www/web1/.htpasswd
<LimitExcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
Require valid-user
</LimitExcept>
</Location>
------------------------------------------------------------
maybe more...
What is Trac?
Trac Project (http://projects.edgewall.com/trac)
Spum
30th October 2005, 18:05
Err, it's kinda like SVN or CVS.. But, what is the point, most users wont even know what it is :-/
sinosmond
31st October 2005, 23:37
Err, it's kinda like SVN or CVS.. But, what is the point, most users wont even know what it is :-/
I want service some developers , vhost should support svn or cvs .
at least, I can add snippet which can't delete by ISPConfig in Vhost.conf .
xinman
9th February 2006, 05:12
Currently I have a working ISPConfig server setup. I was reading your post about SVN. I use my ISPConfig primarily for testing webapps, etc... it's not really a production system. I would like to implement SVN, as I am no longer able to SFTP into my box from work. I have diffrent subdomains for every project that I do. I would like each to have a repos. Not automagically, I am willing to create the repos as needed (some will not need it). I was looking at
2. repos at / , multi repos
$ svnadmin create /home/www/web1/web/project1
$ svnadmin create /home/www/web1/web/project2
------------------------------------------------------------
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location />
DAV svn
SVNParentPath /home/www/web1/web
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/www/web1/.htpasswd
<LimitExcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
Require valid-user
</LimitExcept>
</Location>
I believe this is what I want, but I need to know, did you get this implementation working, or do you see any reason why it shouldn't. Can you also tell me where exactly I need to put the conf info LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location />
DAV svn
SVNParentPath /home/www/web1/web
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/www/web1/.htpasswd
<LimitExcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
Require valid-user
</LimitExcept>
</Location>
Does it go in the apache directives?
till
9th February 2006, 10:06
I think the loadmodule directives should go directly in your httpd.conf.
The other directives should be put i the apache directives field of the website in ISPConfig.
d0nut
21st October 2006, 18:22
great stuff.. in the browser it works fine
i configured ssl over ispconfig, added the code in apache directives (over ispconfig) and everything was ok
but when i try a checkout, i always get a 301 error message
svn: PROPFIND Anfrage fehlgeschlagen auf '/svn/projekt'
svn: PROPFIND von '/svn/projekt': 301 Moved Permanently
this concers the "DocumentRoot"-Problem
-> http://subversion.tigris.org/faq.html#301-error
but how to solve? how to make this directories not to overlap?
falko
22nd October 2006, 17:05
Does this apply to your situation?
For example, if you've exported a repository as <Location /www/foo>, but you've also set your DocumentRoot to be /www, then you're in trouble. When the request comes in for /www/foo/bar, apache doesn't know whether to find a real file named /foo/bar within your DocumentRoot, or whether to ask mod_dav_svn to fetch a file /bar from the /www/foo repository. Usually the former case wins, and hence the "Moved Permanently" error.
Can you post your SVN Apache vhost configuration here?
d0nut
22nd October 2006, 18:01
hi falko
this is the full entry from Vhosts_ispconfig.conf
The SVN Path overlaps the DocumentRoot
The problem is clear - but why did it work for the users above
I just reread the text - So this text from the FAQ would fit, if i would have a folder named /svn in the linux root filesystem.
that's not the case
but now i have complety no idea, what to do
<VirtualHost 88.198.215.155:80>
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn.easy-coding.de/web/svn
AuthType Basic
AuthName 'Subversion repository'
AuthUserFile /var/www/svn.easy-coding.de/web/svn/.htpasswd
# <LimitExcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
Require valid-user
# </LimitExcept>
</Location>
<Location /svn/projekt>
AuthUserFile /var/www/svn.easy-coding.de/web/svn/projekt/.htpasswd
</Location>
<Location /svn/projekt2>
AuthUserFile /var/www/svn.easy-coding.de/web/svn/projekt2/.htpasswd
</Location>
SuexecUserGroup nobody web33
ServerName svn.easy-coding.de:80
ServerAdmin nobody@easy-coding.de
DocumentRoot /var/www/web33/web
DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
ErrorLog /var/www/web33/log/error.log
Alias /error/ "/var/www/web33/web/error/"
ErrorDocument 400 /error/invalidSyntax.html
ErrorDocument 401 /error/authorizationRequired.html
ErrorDocument 403 /error/forbidden.html
ErrorDocument 404 /error/fileNotFound.html
ErrorDocument 405 /error/methodNotAllowed.html
ErrorDocument 500 /error/internalServerError.html
ErrorDocument 503 /error/overloaded.html
AliasMatch ^/~([^/]+)(/(.*))? /var/www/web33/user/$1/web/$3
AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web33/user/$1/web/$3
</VirtualHost>
falko
23rd October 2006, 18:16
I think you must place this:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn.easy-coding.de/web/svn
AuthType Basic
AuthName 'Subversion repository'
AuthUserFile /var/www/svn.easy-coding.de/web/svn/.htpasswd
# <LimitExcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
Require valid-user
# </LimitExcept>
</Location>
<Location /svn/projekt>
AuthUserFile /var/www/svn.easy-coding.de/web/svn/projekt/.htpasswd
</Location>
<Location /svn/projekt2>
AuthUserFile /var/www/svn.easy-coding.de/web/svn/projekt2/.htpasswd
</Location>in your main Apache configuration, outside any vhost.
d0nut
23rd October 2006, 18:42
same problem :-(
(of course i checked it after restarting apache)
on thursday i meet another guy who is more experienced in subversion than me
i will ask him, if he has any idea..
when i get a solution/or get no solution i will post here later this week
d0nut
25th October 2006, 23:00
i got it :-D
so the DocumentRoot has to Differ from svnroot
the example from site1 should not have worked!
This works:
<Location />
DAV svn
SVNParentPath /var/www/www.projekt.de/web/svn
</Location>
This does not work:
<Location /svn>
DAV svn
SVNParentPath /var/www/www.projekt.de/web/svn
</Location>
jacobhenry
14th February 2007, 11:51
I have followed this post and continue to get
svn: PROPFIND request failed on '/'
svn: PROPFIND of '/': 403 Forbidden (http://svn.scratchco.com)
These are the steps I have taken to this point
1) installed subversion
apt-get install subversion subversion-tools
2) enable subversion within apache 2
a2enmod dav-svn
I did it this way instead of placing the following code into the httpd.conf file
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
3)Populated the Apache Directives with
<Location />
DAV svn
SVNParentPath /var/www/web7/web/svn
AuthType Basic
AuthName 'Subversion repository'
AuthUserFile /var/www/web7/.htpasswd
<LimitExcept GET PROPFIND OPTIONS REPORT>
SSLRequireSSL
Require valid-user
</LimitExcept>
</Location>
4) Test and get error message
Do you have any suggestions. From what i understand Apache is doing its job and not letting anyone access the files. What am I missing to override that protection?
Thanks
Jacob Henry
NETabuse
14th February 2007, 15:48
Have you removed the LimitExcept block and tried it without? make sure you an get it working without protection first to make sure svn will work at all,, then worry about adding features. The fact that you used the a2enmod command should still work from what i understand, but maybe try adding the apache directives by hand to make sure.
let me know if it works ;) i'm quite interested in this idea.
d0nut
14th February 2007, 17:19
yeah.. everything step by step ;-)
before you try to use the subversion client - just call the url in your favourite browser. which site is shown? any error messages?
what does your logiles say? /var/www/web7/log/error.log
btw: i wrote a bashscript for creating trac and subversion files.
not very complicated: http://torben.bloggt.biz/howto-subversion-trac-hosting
jacobhenry
14th February 2007, 17:31
Now, when I try to connect to http://svn.scratchco.com/svn/ I get:
svn: PROPFIND request failed on '/svn'
svn: PROPFIND of '/svn': 301 Moved Permanently (http://svn.scratchco.com)
and when i try to connect to http://svn.scratchco.com I get
svn: PROPFIND request failed on '/'
svn: Could not open the requested SVN filesystem
My Apache Directives now looks like:
<Location />
DAV svn
SVNParentPath /var/www/svn.scratchco.com/web/svn
#AuthType Basic
#AuthName 'Subversion repository'
#AuthUserFile /var/www/svn.scratchco.com/.htpasswd2
#<LimitExcept GET PROPFIND OPTIONS REPORT>
#SSLRequireSSL
#Require valid-user
#</LimitExcept>
</Location>
d0nut
14th February 2007, 17:37
did you create a project???
svnadmin create /var/www/svn.scratchco.com/web/svn/
or the following if you want to create more projects
svnadmin create /var/www/svn.scratchco.com/web/svn/pro1
svnadmin create /var/www/svn.scratchco.com/web/svn/pro2
svnadmin create /var/www/svn.scratchco.com/web/svn/pro3
jacobhenry
14th February 2007, 20:33
I created a project and gave apache permissions. I will try to be as detailed as possible.
Here is my Apache Directive:
<Location />
DAV svn
SVNParentPath /var/www/svn.scratchco.com/web/svn
</Location>
1)I created a project using
svnadmin create /var/www/svn.scratchco.com/web/svn/
and here is the directory
root@server1:/var/www/web7/web# ls /var/www/svn.scratchco.com/web/svn/
conf dav db format hooks locks README.txt
2)I gave permission to Apache
chown -R www-data.www-data /var/www/svn.scratchco.com/web/svn/
3)When I explore to http://svn.scratchco.com/svn/ in internet explorer I get an HTTP 500 Internal Error
4)Firefox gives me this:
−<D:error>
<C:error/>
<m:human-readable errcode="2">
Could not open the requested SVN filesystem
</m:human-readable>
</D:error>
5) I believe my error log shows the problem, but I am not sure how to fix it.
[Wed Feb 14 13:20:58 2007] [error] (20014)Error string not specified yet: Can't open file '/var/www/svn.scratchco.com/web/svn/svn/format': No such file or directory
[Wed Feb 14 13:20:58 2007] [error] Could not fetch resource information. [500, #0]
[Wed Feb 14 13:20:58 2007] [error] Could not open the requested SVN filesystem [500, #2]
[Wed Feb 14 13:20:58 2007] [error] Could not open the requested SVN filesystem [500, #2]
why is another svn directory in the path?
6)I tried shortening my path within the apache directive to
SVNParentPath /var/www/svn.scratchco.com/web
which finally displayed something on the browser but still did not let me connect using my client (eclipse). This method also presented me with the same problem discussed earlier in the topic.
I will continue to search for the solution. I appreciate all you help so far.
Thanks,
Jacob
d0nut
14th February 2007, 20:52
sorry - no idea at the moment..
just a little hint. you don't have to test both cases.
when you use this code
<Location />
DAV svn
SVNParentPath /var/www/www.projekt.de/web/svn
</Location>
...then you have to call www.projekt.de in the browser - without the svn folder.
jacobhenry
14th February 2007, 21:59
here is my error.log.
[Wed Feb 14 14:50:03 2007] [error] [client 202.125.216.75] (2)No such file or directory: The URI does not contain the name of a repository. [403, #190001]
[Wed Feb 14 14:50:03 2007] [error] [client 202.125.216.75] (20014)Error string not specified yet: Can't open file '/var/www/svn.scratchco.com/web/svn/error/format': No such file or directory
[Wed Feb 14 14:50:03 2007] [error] [client 202.125.216.75] Could not fetch resource information. [500, #0]
[Wed Feb 14 14:50:03 2007] [error] [client 202.125.216.75] Could not open the requested SVN filesystem [500, #2]
[Wed Feb 14 14:50:03 2007] [error] [client 202.125.216.75] Could not open the requested SVN filesystem [500, #2]
If you look closely, something is placing an extra directory into the path. For example, In my earlier post the error log has an extra "svn"
Can't open file '/var/www/svn.scratchco.com/web/svn/svn/format'
and the most recent log has an extra "error"
Can't open file '/var/www/svn.scratchco.com/web/svn/error/format'
I do not know where to start looking to fix this problem. Maybe you guys have an idea.
Thanks,
Jacob
jacobhenry
21st February 2007, 21:03
any suggestions?
vBulletin® v3.7.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.