Hi, I am trying to upgrade our svn server to 1.6.1 and have run into some issues. Any help to resolve this would be greatly appreciated.
First, details about the current install:
OS: Red Hat Enterprise Linux 4 (2.6.9-42.0.3.ELsmp #1 SMP x86_64)
Apache: Apache/2.0.52 (Red Hat), API ver 20020903, Server Root: /etc/httpd
Location of 1.1.4 install:
files are in /usr/bin:
-rwxr-xr-x 1 root root 107344 Apr 12 2005 svn
-rwxr-xr-x 1 root root 32064 Apr 12 2005 svnadmin
-rwxr-xr-x 1 root root 25296 Apr 12 2005 svndumpfilter
-rwxr-xr-x 1 root root 40816 Apr 12 2005 svnlook
-rwxr-xr-x 1 root root 41976 Apr 12 2005 svnserve
-rwxr-xr-x 1 root root 13464 Apr 12 2005 svnversion
Location of existing repositories: /var/www/svn/
drwxr-xr-x 7 apache apache 4096 Oct 19 2006 test
Some directories and files are also in the public html folder /var/www/html/
drwxrwxrwx 3 root root 4096 Jul 31 2007 docs
-rwxrwxrwx 1 root root 687 Jul 31 2007 navigation.html
-rwxrwxrwx 1 root root 45 Jul 31 2007 default.html
-rwxrwxrwx 1 root root 150 Jul 31 2007 index.html
drwxrwxrwx 2 root root 4096 Mar 12 16:54 svnRevLs
-rw-r--r-- 1 apache apache 765495 Aug 20 2007 3.txt
-rw-r--r-- 1 apache apache 585 Aug 20 2007 2.txt
-rw-r--r-- 1 apache apache 11745789 Jul 31 2007 1.txt
contents of /etc/httpd:
drwxr-xr-x 4 root root 4096 Aug 22 2006 .
drwxr-xr-x 109 root root 12288 Apr 29 04:32 ..
lrwxrwxrwx 1 root root 27 Aug 22 2006 build -> ../../usr/lib64/httpd/build
drwxr-xr-x 7 root root 4096 Apr 16 14:01 conf
drwxr-xr-x 2 root root 4096 Apr 27 19:08 conf.d
lrwxrwxrwx 1 root root 19 Aug 22 2006 logs -> ../../var/log/httpd
lrwxrwxrwx 1 root root 29 Aug 22 2006 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx 1 root root 13 Aug 22 2006 run -> ../../var/run
contents of /etc/httpd/conf.d/subversion.conf:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
# To create a new repository "http://localhost/svn/test" using
# this configuration, run as root:
# # cd /var/www/svn
# # svnadmin create test
# # chown -R apache.apache test
AuthName "Subversion repositories"
location of subversion cfg file: /etc/subversion/config
This has everything commented out other than:
enable-auto-props = yes
* = svn:keywords=Id Date Author Revision LastChangedDate
We use subversion through the tortoise SVN client.
Tortoise "about" info:
TortoiseSVN 1.4.5, Build 10425 - 32 Bit , 2007/08/26 11:14:13
Subversion 1.4.5, (<-not sure why it says this, we have 1.1.4 on the server)
berkeley db 4.4.20
OpenSSL 0.9.8d 28 Sep 2006
(I plan to upgrade the Tortoise clients to the latest version after updating subversion to 1.6.1)
The tortoise "Edit subversion server file" option under settings brings up a file with everything commented out. Apparently it connects to subversion using only the repository "http" url. So looks like we do not use the svn protocol.
The repository url looks like "http://[serverName]/svn/[repoName]", but, there is no /svn/ folder in the web root. Apparently apache is configured so the subversion apache module sees the /svn/ in the url and handles the http request.
After every checkin subversion runs a script called 'commit-email.pl' under /var/www/svn/[repositoryName]/hooks/ and this script uses /usr/sbin/sendmail to send out emails.
Hopefully this clarifies the existing configuration. I suppose a first question is, is there anything in this configuration that seems like it could have problems with an upgrade to 1.6.1? Does this configuration seem reasonably "standard"?
In the attempt to upgrade I carefully followed the readme files step by step. (After backing up everything of course.) (The readme files are at http://www.collab.net/downloads/subversion/redhat.html under the "Subversion v1.6.1 Client (for Red Hat Linux x86_64)" and "Subversion v1.6.1 Server (for Red Hat Linux x86_64)" sections.)
I downloaded and ran the rpms, first the command line client and then the server. I then have a directory structure like:
drwxr-xr-x 11 root root 4096 Apr 27 16:21 .
drwxr-xr-x 11 root root 4096 Apr 27 16:19 ..
drwxr-xr-x 3 root root 4096 Apr 27 19:16 bin
drwxr-xr-x 2 root root 4096 Apr 27 16:19 build
drwxr-xr-x 2 root root 4096 Apr 27 16:19 docs
drwxr-xr-x 5 root root 4096 Apr 27 16:19 lib
drwxr-xr-x 2 root root 4096 Apr 27 16:19 licenses
drwxr-xr-x 2 root root 4096 Apr 27 16:21 modules
drwxr-xr-x 4 root root 4096 Apr 27 16:19 openssl
drwxr-xr-x 2 root root 4096 Apr 27 16:21 sbin
drwxr-xr-x 4 root root 4096 Apr 13 05:33 share
To make the new files active, I figured I would need to the following:
- Configure subversion. I ran Configure-CollabNet-Subversion. Key things I did were as follows:
Would you like to configure the CollabNet Subversion Server now? [yes]
Welcome to CollabNet Subversion Server setup. ...
This setup can configure either Apache or svnserve as Subversion
server, for you. Would you like to configure Apache as your
Subversion server now? [yes]
Continuing with apache Subversion server configuration ...
Specify the base directory for Subversion repositories: [/var/www/svn]
Searching for existing Subversion repositories ...
Found 0 repositories under /var/www/svn
Should I use this path? [yes]
Would you like to create a new Subversion repository? [yes] no
Would you like to give the name and port that the server uses to identify itself? [yes] no
Allow anonymous read access? [no]
0 users currently have access to this repository:
Would you like to create a new Subversion account? [yes] no
Stopping CollabNet Subversion: httpd (no pid file) not running
Starting CollabNet Subversion: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
1. Why did it not recognize my existing repositories? I did a test later and added a repository and it created it with owner and group name "csvn". But my other dirs in /var/www/svn/ all have "apache" as the owner and group. Maybe I just need to set up subversion 1.6.1 to use apache for its owner and group name and then it will recognize my existing repositories?
2. It gives some other error messages about "httpd (no pid file) not running", and "(98)Address already in use: make_sock: could not bind to address [::]:80". How do I fix those?
Continuing on with the setup to try and get new subversion working with apache:
- Add the path to /opt/CollabNet_Subversion/bin to /etc/profile
I prefixed the above dir to the path in /etc/profile, source'd etc/profile and verified that running svn from the command line executes the newer version.
- copy the /opt/CollabNet_Subversion/modules files to /usr/lib64/httpd/modules (after backing up the existing modules files)
- I then restart httpd but it gives the following error message:
httpd failed. The error was: Stopping httpd: [ OK ]
Starting httpd: Syntax error on line 2 of /etc/httpd/conf.d/subversion.conf:
API module structure `dav_svn_module' in file /etc/httpd/modules/mod_dav_svn.so is garbled - perhaps this is not an Apache module DSO?
Does anyone know why the module file would not work? What can I do to fix this, or further debug? Any help or suggestions on my questions above would be greatly appreciated.
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-05-02 03:57:06 CEST