Skip to main content

Compile subversion on Fedora core 6

I just move to new company. My first job here is setup a svn on FC6 box. This post is about how i built it.
First download, compile and install apache[must be 2.0 version to have same apr version as subversion-deps-1.4.6.tar.bz2]
[root@localhost ~]# wget http://mirrors.issp.co.th/apache/httpd/httpd-2.0.63.tar.bz2
...
[root@localhost ~]# tar xjf httpd-2.0.63.tar.bz2
[root@localhost ~]# cd httpd-2.0.63
[root@localhost httpd-2.0.63]# ./buildconf
[root@localhost httpd-2.0.63]# ./configure --enable-dav --enable-so --enable-maintainer-mode --prefix=/usr/local/apache20
...
[root@localhost httpd-2.0.63]# make && make install
...
[root@localhost httpd-2.0.63]# cd ..
[root@localhost ~]#

then download subversion source code and the subversion dependencies source code, extract both then go to compile and install apr, apr-util, neon and subversion itself.
[root@localhost ~]# wget http://subversion.tigris.org/downloads/subversion-1.4.6.tar.bz2
...
[root@localhost ~]# wget http://subversion.tigris.org/downloads/subversion-deps-1.4.6.tar.bz2
...
[root@localhost ~]# tar xjf subversion-1.4.6.tar.bz2
[root@localhost ~]# tar xjf subversion-deps-1.4.6.tar.bz2
[root@localhost ~]# cd subversion-1.4.6/apr
[root@localhost apr]# ./configure --prefix=/usr/local/apr
...
[root@localhost apr]# make && make install
...
[root@localhost apr]# cd ../apr-util
[root@localhost apr-util]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
...
[root@localhost apr-util]# make && make install
...
[root@localhost apr-util]# cd ../neon
[root@localhost neon]# ./configure --prefix=/usr/local/neon
...
[root@localhost neon]# make && make install
...
[root@localhost neon]# cd ..
[root@localhost subversion-1.4.6]# ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache20/bin/apxs --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-neon=/usr/local/neon/ --with-ssl
...
[root@localhost subversion-1.4.6]# make && make install
...
[root@localhost subversion-1.4.6]#

now subversion is already installed, add apache user
[root@localhost subversion-1.4.6]# groupadd apache
[root@localhost subversion-1.4.6]# useradd -g apache -d /usr/local/apache20
[root@localhost subversion-1.4.6]# chown -Rv apache.apache /usr/local/apache20

edit /usr/local/apache2/conf/httpd.conf change..
User nobody
Group #-1

to
User apache
Group apache

and add this code to end of file.
<Location /subversion>
DAV svn
SVNPath /usr/local/subversion/repository/
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /usr/local/subversion/repository/conf/svn-auth-file
Require valid-user
</Location>

create password with this command
/usr/local/apache20/bin/htpasswd -cmd /usr/local/subversion/repository/conf/svn-auth-file {user-name}

create a repository
[root@localhost ~]# mkdir -v /usr/local/subversion/repository
[root@localhost ~]# svnadmin create --fs-type fsfs /usr/local/subversion/repository
[root@localhost ~]#

Last to test I will try import some file to repos.
[root@localhost src]# touch source1
[root@localhost src]# touch source2
[root@localhost src]# ls
source1 source2
[root@localhost src]# svn -m "initial import to svn" import . http://127.0.0.1/subversion/
Authentication realm: Subversion repository
Password for 'root':
Authentication realm: Subversion repository
Username: swd
Password for 'swd':
svn: Can't create directory '/usr/local/subversion/repository/db/transactions/0-1.txn': Permission denied

uhh.. you need to make apache user can access all the files in the repository.
[root@localhost src]# chown -R apache.apache /usr/local/subversion/repository
[root@localhost src]# chmod g+s /usr/local/subversion/repository/db
[root@localhost src]# svn -m "initial import to svn" import . http://127.0.0.1/subversion/
Authentication realm: Subversion repository
Password for 'root':
Authentication realm: Subversion repository
Username: swd
Password for 'swd':
Adding source1
Adding source2

Committed revision 1.
[root@localhost src]#

That's all. You can browse repos. via url 'http://127.0.0.1/subversion/'.

Comments

Anonymous said…
I did everything and went to the url localhost/repository and I get a url not found :( Maybe I'm missing something?

Popular posts from this blog

Converting dat to mpeg file, to burn vcd on ubuntu

Creating vcd [from dat file] on WinXP, I use "Nero Burning Rom". It can burn dat file to vcd directly. On ubuntu, AFAIK, No burning cd software to burn dat to vcd. I use k3b but it can't burn dat file. It support only mpeg-1 and mpeg-2 format. Dat file need to convert to mpeg first. Thist post will show how I install and use vcdgear to convert dat file to mpeg file. pnix@pnix-a7n:~/progdl$ wget http://www.vcdgear.com/files/vcdgear176-040415_linux.tar.gz --04:21:14-- http://www.vcdgear.com/files/vcdgear176-040415_linux.tar.gz => `vcdgear176-040415_linux.tar.gz' Resolving www.vcdgear.com... 66.98.192.104 Connecting to www.vcdgear.com|66.98.192.104|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 442,937 (433K) [application/x-tar] 100%[====================================>] 442,937 105.23K/s ETA 00:00 04:21:20 (87.02 KB/s) - `vcdgear176-040415_linux.tar.gz' saved [442937/442937] pnix@pnix-a7n:~/progdl$ tar xzf vcdgear

using Class.getResource() load resource file in Eclipse

There are many ways to load resource file in java app. What sun recommended is using Class.getResource(" resource_name ") or Class.getResourceAsStream(" resource_name ") then you will get URL and InputStream respectively. If resource_name is specified without "/", it will be prepend with Class package. So resource file must be in same place[folder structure] as the Class. What I love to do is call getResource() with "/" and put resource file at the root of package. This way i can have separate resource folder. below is in Eclipse, 1. From Package explorer right click src folder->click import 2. In import dialog, Choose General->File System ->next 3. from directory:->Browse to your resource folder. 4. to folder:-> I add "resource" as a folder name under src folder. then click "Finish". In the code, load resource with this.getClass().getResource("/resource/buttons1.png") or this.getClass().getResourceAs

Fixing sendmail take a long time to start

I notice that my database box[FC6+Oracle10.2] take along time to startup. Sendmail and sm-client very very slow to start[ about 5 minutes ]. There's something wrong in /etc/hosts file. 'newalises' command take long time to update and finish with error below. [root@ora10g ~]# newaliases WARNING: local host name (ora10g) is not qualified; see cf/README: WHO AM I? /etc/aliases: 76 aliases, longest 10 bytes, 765 bytes total [root@ora10g ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.1.55 ora10g [root@ora10g ~]# To fix this, custom hostname[ora10g] need to append to localhost line in /etc/hosts. [root@ora10g ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ora10g 192.168.1.55 ora10g [root@ora10g ~]# newaliases /etc/alia