//N.B. Gave up on this - taking too much time and effort for something that would require some command line admin anyway - such as the mailer configuration. Will go back to purely standard setup on Debian like existing servers.// ====== CentOS setup for Subversion Edge ====== http://www.hitechsavvy.com/?p=292#more-292 is really useful! ===== Minimum setup ===== ==== Network ==== To get network going edit ''ifcfg-eth0'' in ''/etc/sysconfig/network-scripts/'' Need to use vi for this - minimal install doesn't have anything else. DEVICE="eth0" NM_CONTROLLED=no ONBOOT=yes HWADDR=6E:89:F7:F2:8B:47 TYPE=Ethernet BOOTPROTO=none IPADDR=130.209.45.49 NETMASK=255.255.255.0 GATEWAY=130.209.45.1 DNS1=130.209.4.16 DNS2=130.209.4.18 DNS3=130.209.16.6 DOMAIN=physics.gla.ac.uk IPV6INIT=no NAME="System eth0" UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 The UUID here was put in by the GUI network setup, as was some of the other stuff. The Minimum required is IPADDR, BOOTPROTO (maybe?), NETMASK, GATEWAY, DNS1(2,3,etc). To edit file with vi: vi filename i (insert mode) ESC (command mode) :x (Exit, saving changes) :q! (Exit and ignore any changes) vi cheat sheet at http://www.lagmonster.org/docs/vi.html Enable network with ''service network start'' Edit ''/etc/yum/conf'' to include the line proxy=http://wwwcache.gla.ac.uk:8080/ then ''yum update'' to update system. Then use ''yum install //packagename//'' to install other stuff, like nano, ntp etc. Install sudo. seems to want it. ==== Firewall ==== Install system-config-firewall-tui using yum and run it. ==== Java ==== yum install java-1.6.0-openjdk Set environment variable by creating a file in ''/etc/profile.d/'' export JAVA_HOME=/usr/lib/jvm/jre (if the install worked properly /usr/lib/jvm/jre should be a symlink to ''/etc/alternatives/jre'' which in turn should link to the actual jre, e.g. ''/usr/lib/jvm-exports/jre-1.6.0-openjdk.x86_64'') ==== Python ==== Python should be installed. Apparently need to install python-ldap though. ==== User ==== Create user with: useradd username -p password ===== Install ===== Create directory, e.g. mkdir /export0/subversion_edge chown subversion:subversion /export0/subversion_edge/ Put the downloaded file in subversion user's directory, switch to the user and extract the file tar -zxvf CollabNetSubversionEdge-3.1.0_linux-x86_64.tar change back to root (''su -'') and: [root@unst ~]# /export0/subversion_edge/csvn/bin/csvn install Detected RHEL or Fedora: Installing the CSVN Console daemon.. Setting RUN_AS_USER to: 'root'. Please edit '../data/conf/csvn.conf' if this needs to be adjusted Setting JAVA_HOME to: '/usr/lib/jvm/jre'. Please edit '../data/conf/csvn.conf' if this needs to be adjusted. Edit the ''csvn.conf'' file to change the RUN_AS_USER. Can also set the proxy here. Change back to the subversion user and start the system /export0/subversion_edge/csvn/bin/csvn start After a minute or so should be able to access the console at http://servername:3343/csvn or https://servername:4434/csvn/ For troubleshooting this gives you the startup messages: csvn console ==== Starting svn server on port 80 or 443 ==== To allow the non-privileged user to bind to ports < 1024 there are some tweaks required. Either: - Give root ownership of the httpd_bind utility to allow it to start the server from init.d, or - edit sudoers to give allow subversion user to start apache When you set a port < 1024 in the web interface for the svn server it will complain and show the commands required to make it work, for both options. I chose the httpd_bind route. chown root:subversion /export0/subversion_edge/csvn/lib/httpd_bind/httpd_bind chmod u+s /export0/subversion_edge/csvn/lib/httpd_bind/httpd_bind https://ctf.open.collab.net/sf/go/artf5095?nav=1&selectedTab=comments ==== Setting daemons to start ==== To start the console and the svn/httpd services on boot: csvn/bin/csvn install csvn/bin/csvn-httpd install