BLOG
This site is hosted on a (dv) 3.5 server kindly provided by my employer (mt) Media Temple. I set this one up in a non-standard way, by which I mean, there’s no control panel. We normally ship these VPS servers with the Plesk control panel, but this is what I do for a living so control panels (all of them) generally just get in my way.
Since I don’t have to deal with software dependencies between the control panel and whatever I want to use, I have more freedom to custom compile newer versions of things I use all the time, like PHP and Nginx. Since I’m fairly lazy, I’ve set up my own Yum repository so that it’s easy for me to install all the custom software I build, and keep things up to date when I make new versions of stuff and so on.
To use this repository, which I really only recommend you do if you basically know what you’re doing, I’m assuming you’re starting with an updated but vanilla CentOS 5 installation. This may be of interest to you in the case of (mt) Media Temple because our current line of VPS servers, which we brand as (dv) Dedicated Virtual Servers, are based on CentOS 5. As I noted, we install Plesk by default since the bulk of our customers want and/or need a control panel. But, if you don’t, you can call our sales department and ask for one without Plesk and we can set it up for you. PLEASE note that this repository isn’t limited to (mt) servers at all. Just CentOS 5 or RHEL 5 in a general sense.
To get things going on a “naked” VPS from (mt), you’ll first need to get Yum itself working. You should really figure this out for yourself if you want to be playing with the sorts of things I’ll be putting in my repository, but something like the following should work:
rpm -Uvh \ http://mirror.hmc.edu/centos/5/os/i386/CentOS/yum-3.2.19-18.el5.centos.noarch.rpm \ http://mirror.hmc.edu/centos/5/os/i386/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm \ http://mirror.hmc.edu/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm yum clean all yum -y update
If you have a standard CentOS 5 or RHEL 5 server, Yum should already be working.
Next, set up the EPEL repository. I’m not sure this is actually required for mine to work (I haven’t checked rigorously), but I expect it is. And there’s a bunch of cool stuff in there anyway, so you should do it. They have great instructions so I won’t repeat them here.
Finally, to get my repository going, the following should work.
rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
I haven’t tested this procedure. If anybody tries it, I’d love to hear about successes or failures and I’ll update here accordingly. I do have this repository working on this server (the one you’re reading this from) and things seem to be working. In a general sense, I’ve just built a bunch of packages from the Fedora development tree for CentOS 5. Most of them built cleanly, a few required tweaks to work nicely with the older build systems on CentOS 5. If anybody wants anything in particular please let me know and I’ll see what I can do, but don’t bother asking about Python stuff. It’s too much of a pain in the ass on these distros to upgrade.
Anyway, as I said, I’m using this repo on this server so I can eat my own dogfood. Hopefully this will inspire me to keep things reasonably up to date. I hope this is useful to some of you out there on the webernets. Enjoy.


[...] you have my repo installed, getting all this going should be as easy [...]
Thanks for sharing this. Installing it on my fresh vanilla CentOS 5 VPS was a breeze.
This is throwing an error looking for a file on CentOS 5.3
http://yum.chrislea.com/centos/5/x86_64/repodata/repomd.xml:
The x86_64 directory doesn’t exist. there’s i386. Is this a local configuration issue on my end? I’m running this on slicehost and attempting to get 2.6 installed so i can work with mailman 3′s alpha.
Thanks!
I second John’s error.
I changed a couple things in the repo config due to reading the first couple posts in this thread:
http://www.linuxquestions.org/questions/linux-newbie-8/package-kit-error-cannot-retrieve-repository-metadata-repomd.xml-for-repository-644682/
In the config file for this repo (/etc/yum.repos.d/chl.repo), change the baseurl variable of $basearch to a literal “i386/”, without the quotes. The error is because Chris doesn’t have a x86_64 directory. Until he adds something other than i386, this hack should work just fine.
Not having to compile these myself saved me a lot of time. Thanks
[...] Python modules. And the memcached Python stuff, just for good measure.If you have my repo installed, getting all this going should be as easy asyum install python26 mod_python26 Django [...]
Thank you very much for the links and resources. You’re a life-saver!
[...] you have my repo installed, getting all this going should be as easy [...]
Youre so cool! I dont suppose Ive read anything like this before. So nice to find any person with some unique thoughts on this subject. realy thank you for beginning this up. this web site is something that is needed on the net, someone with a little originality. useful job for bringing something new to the web!
Just as usual you’ve offered some amazing details. Been lurking on the website for a while and needed to give thanks to you for finding the time to create it.