zachary.com

personal pages

All ad proceeds donated to charity.

Setting Up Shop

I'm at a new (tiny) startup now, and decided that since I'm in charge of the technology (more or less), I try to start things out right.

We're relying heavily on open source software both for our internal IT infrastructure, and for components of the product we're building. I've been a fan and user of Debian Linux for a long time -- it's stable and easy to maintain. However as many have noted, the current stable release of Debian (Woody) is getting a bit long in the tooth. Sarge will be here real-soon-now, but in the mean time I can't wait.

So like many others in this situation, I was drawn to Ubuntu and haven't looked back. We've install the 5.04 Hoary release on three workstantions and two servers so far with excellent results.

Adapting the directions from this Howto and this one too was straightforward, and without too much trouble we now have LDAP-based single sign on for network accounts, file serving, wiki and subversion authorization, and email. Very nice!

Having done all this on commodity PC class server hardware, and also having worked for a while in Apple's Mac OS X Server engineering group, I can say that all this would have been much easier under Mac OS X Server -- the GUI administration tools are very well done, but to be fair I suppose I should compare with Red Hat or SuSE's commercial offerings.

There were a couple of annoyances along the way. Ubuntu doesn't seem to have an Apache2 mod_auth_ldap available. I could have just built it, but I also wanted to learn a bit about the Python LDAP module. One apt-get later, and I had mod_python and python-ldap installed, and wrote a 20-line script to do Apache2 LDAP authentication:

from mod_python import apache
import ldap

def authenhandler(req):

    pw = req.get_basic_auth_pw()
    user = req.user

    # open connection to server -- change as necessary
    l = ldap.open( '127.0.0.1' )

    base = 'ou=People,dc=example,dc=com'
    try:
        # attempt to auth bind to the server
        l.simple_bind_s( 'uid=' + user + ',' + base, pw )
        return apache.OK

    except ldap.LDAPError:
       return apache.HTTP_UNAUTHORIZED

***
highlight file error
***

After acquiring, installing, and configuring PC's and laptops running Ubuntu Linux, Windows XP Pro, and Mac OS X, I find myself using Ubuntu for my servers and development platform, and my Apple iBook for everything else. Though Mac OS X is UNIX at its core, I find it easier to develop on a platform very close to our production environment. The iBook G4 12" however is just a heck of a great personal computer. It's tough, light, very functional, and Mac OS X is dream to use. My old 15" Aluminum Powerbook had a great screen and other nifty features, but it seems fragile by comparison.

Categories: technology python

Trackbacks (0)

Comments (3)

thebanana on Tuesday 23 May, 2006:

fyi, mod_auth_ldap and mod_ldap seem to be a part of the standard apache2-common package in the ubuntu repos. if you install apache2, you'll have the ldap modules. you just have to a2enmod them.

oribcfh on Wednesday 04 November, 2009:

gYPZPx <a href="http://xfbzhrpglluw.com/">xfbzhrpglluw</a>, [url=http://yckwveyhawuk.com/]yckwveyhawuk[/url], [link=http://dvbbboeznwje.com/]dvbbboeznwje[/link], http://zkwshywkuhjc.com/

qqzxxbnhqh on Wednesday 06 January, 2010:

DJINy9 <a href="http://sbxwaaibdnzx.com/">sbxwaaibdnzx</a>, [url=http://krdoaagebpmn.com/]krdoaagebpmn[/url], [link=http://hwqxyaavormr.com/]hwqxyaavormr[/link], http://sysplqsvogre.com/

Add a Comment

What is 100+83?
Name
URI
Comment
Comments are text only.
The math question is to ensure you are a human!

This page last modified Friday 18 November, 2005 by David Creemer
All content Copyright 2003-2005, David Z Creemer