Tag search

Subversion server is down

The subversion server is down. There is a problem with mod_gnutls that causes Apache to use 100% CPU and never finish any request. It started around 5 AM this morning (European time) and nothing I do seems to work.

#apache on irc.freenode.net isn'table to help either, so I am forced to take the SSL domains on the server offline while I investigate this issue.

I am getting really, really fed up with mod_gnutls. It is causing way more trouble that it's worth. Unfortunately it's the only way to have multiple SSL virtual hosts with just one IP address. The server that hosts subversion also hosts a few other websites which require SSL to work.

I will try to get the server back online as soon as possible.

Update 12:22h: The Subversion server is back. It turns out that there is a bug in libdb which causes gnutls to lock up when trying to write session cache data in some rare circumstances. I tried replacing libdb with memcached but unfortunately gnutls is built without memcached support on Debian Lenny.

Subversion upgraded to GnuTLS

Our Subversion server has been upgraded to use mod_gnutls instead of mod_ssl for SSL/TLS encryption. GnuTLS supports Server Name Indication (SNI) which means we can run multiple virtual hosts with SSL/TLS enabled on the same IP address and port.

Unfortunately for you this means that you cannot access our Subversion repository anymore if you use a client that does not support SNI. The standard subversion client as well as all major browsers support SNI these days. The only notable exception is Microsoft Internet Explorer 6 on Windows XP. So, if you use IE6 then you can no longer browse our repositories directly. Use the ViewVC interface instead.

Build custom SugarCRM modules in Subversion

by Sander Marechal

In “Keeping SugarCRM under Subversion control” I showed you how I maintain the base SugarCRM in the face of changes to the core code. The setup described in that article allows me to make changes to the core code without running into (too much) trouble when SugarCRM ships a new version. It does have one downside: You cannot use Studio to make any changes. Instead, I keep all my customization work in a separate installable package, together with any custom modules I develop.

In this article I will show you how I develop my custom modules, how I keep them in Subversion and how they work together with the base SugarCRM from the previous article.

Keeping SugarCRM under Subversion control

by Sander Marechal

I have been mulling a long time how I am going to keep track of SugarCRM, the custom modules I build and and changes to the core code that I need to make. The latter is sometimes unavoidable because some functionality cannot be built any other way. Also, sometimes you run into a bug that you need to fix, but you cannot wait for the next Sugar release. Of course, all of this needs to be done in a way that is easy for developers to work with. I think I have finally found a way that is workable and keeps everything under version control.

I will present my workflow in two articles. This article shows you how I keep SugarCRM itself under version control, how I deal with deployment and how I do upgrades in the face of changes to the core code. In “Build custom SugarCRM modules in Subversion” I will present how my custom modules—which are also under version control—fit into this system. Hat-tip to Leonid Mamchenkov for his work and insights.

My list of must-have vim scripts

by Sander Marechal

I love (g)vim! I've been using a lot of different text and code editors over the years. When I started with Linux my first editor was Anjuta. After that I've tried BlueFish, Screem, SciTe, (X)Emacs, Gedit and many more until I stuck with Kate. But in the end, every Linux programmer eventually drops whatever editor or IDE that he or she uses and switch to either Vim or Emacs. I switched to Vim.

Vim is great all by itself, but there are a ton of scripts that you can use to expand vim make your life easier. Here are the vim scripts and settings that I use every day.

Digg this article: This article on Digg

Subversion repositories relocated

by Sander Marechal

I recently bought a new server because my current server sucks almost as much power as the average 4 person household :-) Bugzilla, the subversion repositories and the Subversion webinterface have been moved to the new server.

Because I was moving anyway I have taken the opportunity to move the Subversion server from the svnserve protocol to Apache with SSL. That means that the Subversion URLs now start with https:// instead of svn://. The paths themselves remain unchanged.

Easily develop and deploy web applications from subversion

by Sander Marechal

Updated 2008-28-10. Proper version control is a must for everyone who programs more than a few lines of code. Even if you develop your applications all by yourself it is very handy to be able to branch and merge your code, be able to roll back to previous versions or undo changes you made in the past. It works great for regular applications, but managing web applications or websites is a tad harder for two reason: You need a webserver to get your application going and you usually have to manage database revisions as well.

Keeping database revisions in sync with your code revisions is a complex subject that I will leave until another time. In this article I will show you how you can configure your own computer or development server in such a way that checking out or deploying a web application is just as easy as any other piece of code.

First I will show you how to configure Apache on your development server so that it picks up your checked out working copies as separate subdomains. Using this, you can simply make a checkout of your project and it will automagically be up and running. No need to touch the Apache configuration. After that I will show you how to use dnsmasq so you can achieve the same effect on your own development machine. That way you can develop your web applications locally and you won't need a central development server. In my examples I will be assuming you use subversion for your version control, but it works virtually the same with other version control packages, such as git or bazaar.

Network maintenance

The comming weekend there will be network maintenance done by the Internet Service Provider on the connections to the servers not hosted on http://www.jejik.com.

The affected servers are:

In the night from 31-05-2008 to 01-06-2008 there will be some connection problems.

Automatically generate PHP documentation from Subversion with phpDocumentor

by Sander Marechal

The longer I program, the more structured my programming methods have become. Gone are the days of editing live spaghetti code directly on the server or frantic FTPing files after each tiny change. Today I not only stuff everything in Subversion just to keep track of changes, I also use it as a deployment mechanism. But I want more and I want it automated too! Currently I am busy playing with generated documentation and unit testing. Generated documentation is an all round great idea, but it has a drawback: You need to generate it all the time. So I set out to use Subversion’s post-commit hook to generate fresh documentation for my PHP projects using phpDocumentor.

I have written a little Python script that you can call from Subversion’s post commit hook. This script scans your subversion project for files that have the phpdoc property set. If any of these have changed, then it regenerates your documentation using phpDocumentor. It can also deal with files that are not kept in your Subversion repository and supports anything also supported by phpDocumentor.

Apache and Subversion authentication with Microsoft Active Directory

by Sander Marechal

Last updated on 2009-02-16@22:43. The company I work for had finally realized the benefits of a decent source code versioning system so after a short evaluation they settled on Subversion. To make user management easier they also wanted to use Microsoft Active Directory, so I set off on a quest to make Apache talk to our Active Directory 2003 server for authentication.

In this article I will explain how to set up Apache 2 on Debian Etch and make it talk to an Active Directory 2003 server. After that I will show you how to setup Subversion and use LDAP groups to control access to multiple subversion repositories. After I rant a bit about my two-day nightmare with Active Directory that is…

Subversion, Bugzilla and Package repository downtime

Due to a change of IP addresses several services are temporarily unreachable until the new DNS settings have replicated over the net. This should take at most 72 hours although for most of you it should be far less—24 hours max. This currently affects Bugzilla, Subversion (both the repository as the ViewVC webinterface) and the Ubuntu package repository.

We apologize for the inconvenience.

Gnome-hearts subversion repository relocated

by Sander Marechal

I have relocated the subversion repository for gnome-hearts from svn://svn.jejik.com/hearts to svn://svn.jejik.com/gnome-hearts. The old URL was from before the name change of hearts to gnome-hearts shortly before the gnome-hearts-0.1 release.

If you have a working copy of gnome-hearts then you will need to relocate it to the new URL by running the following command in your working copy root:

svn switch --relocate svn://svn.jejik.com/hearts/<path> \
    svn://svn.jejik.com/gnome-hearts/<path>