Configuring Subversion to use Apache SSL

My plan was to create a subversion repository on a Linux box(CentOS) to support the configuration files I use with a virtual machine running Groundwork Open Source. This took much longer than I expected. This procedure was more complicated than usual since the latest version of CentOS requires you to create a self-signed certificate the old way since genkey and crypto-utils are no longer available.

The first step is to install subversion and configure Apache. I installed subversion and the Apache server module, mod_dav_svn, using the package manager. 

  1. I wanted one repository.
  2. I wanted to see the projects in it by typing http://myserver.com/repos/.

My initial stumbling block was figuring out where to put the repository. After fumbling around looking for a recommendation I settled on /usr/local/svn as a logical choice. So I opened a terminal window as root and created the repository, repos, with the following command:

svnadmin create /usr/local/svn/repos
chown -R apache.apache /usr/local/svn/repos

Next I imported a template directory structure with subdirectories for branches, tags, and trunk that I use for all projects.

svn import project1 file:///usr/local/svn/repos/project1 -m "Initial import"

To configure Apache to support subversion you need to edit the /etc/httpd/conf.d/subversion.conf file. The biggest problem I had with the example in the subversion manual was figuring out that I needed to use SVNPath statement rather than the SVNParentPath statement. These are the changed I made in this file.

  1. Change the location to /repos.
  2. Added the statement SVNPath /usr/local/svn/repos
  3. Followed the directions in the subversion manual to set up basic http authentication.

After restarting the httpd service you should be able to browse the repository using your web browser. The final step was to set up the web server to support SSL using a self-signed certificate. I found several tutorials out on the web. They all follow the same general procedure.

  1. Generate your private key
  2. Generate your Certificate Signing Request
  3. Generate a new key from your private key without a PassPhrase. You need this to start apache web server without prompting.
  4. Move the certificate and the insecure key over to the /etc/httpd/conf directory and change the permissions on the files so that root is the only one who can read them(i.e. chmod 400).
  5. Edit the /etc/httpd/conf.d/ssl.conf file and tell it to use the new certificate and key file.

The tutorial I used was at http://www.xenocafe.com/tutorials/linux/centos/openssl/self_signed_certificates/.  The only change I made to this procedure was to add the “-new” parameter when I was creating a CSR. After restarting the httpd you should be able to browse your repository using https://myserver.com/repos/.

Obay Home » Blog Archive » Installing VMWare Player on Ubuntu

If you get the following error message:

/usr/lib/vmware-player/bin/vmplayer: /usr/lib/vmware-player/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)

Apply the following fix

mv /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0.disabled
ln -sf /usr/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0
mv /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1 /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1.disabled
ln -sf /lib/libgcc_s.so.1 /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1

Obay Home » Blog Archive » Installing VMWare Player on Ubuntu

Yup, this works for Centos 5. I upgraded to Server 1.04 today and had to go back and fix things again. This is a different fix than the fix I used previously where I renamed the file and let Vmware find a suitable library. I am guessing that both solutions probably end up using the correct library but this solution looks like it is a more direct approach.

What is good for Ubuntu Feisty is also good for Centos 5!

The Joe writes:

The install goes great, but when I run the server I get the following error:
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)

As far as I can tell, the libpng12.so.0 that gets installed to the /usr/lib/vmware/lib/libpng12.so.0 directory is the wrong version, your system should have a current version installed. To fix this just delete or rename libpng12.so.0 from /usr/lib/vmware/lib/libpng12.so.0

www.TheJoe.com » Ubuntu Feisty Vmware Server and libpng12.so.0

I was getting the same error message under Centos 5. Thinking that a solution for Ubuntu Feisty might work for Centos 5, I gave it a try and was pleasantly surprised. I renamed the file and restarted the Vmware server. The error message no longer appears and the server appears to be working fine. It also fixed the bigger problem I was having with accessing the virtual machine from PCs on the same sub-network other than the host.

Bill’s Grand Adventure

I finally got motivated to resuscitate my Ghettobox2006. It took me a little debugging but I finally got it to recognize my SATA drive. My plan was to use this box as a general purpose Linux box running several VMware guests. The problem was that I could not get the box to boot. This was a strange problem. I had the motherboard working in another case with an IDE drive and a SATA. I moved the motherboard and the SATA drive to a new case and it would not boot. The SATA drive was not recognized by the BIOS and the drive acted like it was not getting power. I wasted a fair amount of time trying to figure out the source of the problem but eventually had to go work on higher priority tasks.

Last weekend I got an idea on how to fix the problem and went back to working on the box. My idea did not work but I did find the problem. The BIOS had the SATA controller turned off. How did that happen? Well, it boots now!

So I was off to the races. Awhile back I decided to use Centos for the host and I had already downloaded a version 5 DVD. I did not have a big reason for selecting Centos besides that I am slightly more familiar with Centos/Fedora/Redhat than I am with Ubuntu and Suse. My installation was a little unusual since I had three partitions on the disk I wanted to keep, a W2K partition, a partition with several existing virtual machines, and an empty partition for a future operating system. I had about 60 GB of free disk space left for Centos. I chose to install the standard Centos Desktop.The installation went smoothly. I was pleased to find out that I could still boot to the W2K partition from GRUB if I wanted to. Dual booting Linux and Microsoft used to be so funky.

Along the way I found a solution for an interesting Java problem. After I finished installing the operation system, I cranked up the web browser and Firefox told me that I needed the Java plugin. Reluctantly I downloaded the plugin and installed it. The Java plugin installation is about as dorky as it comes. Been there…done that…you mean I have to do this again. This is one area that Windows really shines over Linux. Surprise…surprise the Java plugin did not work. To complicate the matter there was no error message either. I was a little annoyed so I tried to open the Java control panel. It did give me an error message. It could not find libstdc++.so.5. A quick search of the Internet found two potential solutions. I could either install a symbolic link to libstdc++.so.6 or install compat-libstdc++-33. I installed the compat library since it may fix other problems I do not know about yet. I just want the standard stuff to work without a lot of fiddling. Sometimes that can quite a challenge. Now when I validate the plugin at the Java site, it worked as expected.

I will talk about my adventures with VMware in another post. I still have some kinks with the networking to work out. I was pleased to find out that all of my virtual machines worked. Even the W2K virtual machine I created using VMconverter worked.