I use MythTV to power my home theatre system. It has some great features, like commercial auto-skip and (with MythBurn) DVD burning.
It also includes MythMusic, an interface for playing MP3 and AAC files. Unfortunately, MythMusic does not include a DAAP client, and thus cannot play iTunes music directly. It is, however, possible to share music between iTunes and MythTV, playlists and all.
Before beginning, you might want to check the "Show entire music tree" option in Playback Settings (under Media Settings). This option makes MythMusic infinitely more useful, because it's not necessary to create a new playlist just to play a specific album.
The easiest way to share music between iTunes and MythMusic is to copy the iTunes folder from the client computer (in ~/Music/) to the MythTV server, then put an alias back to the folder on the server in its place. (The folder will have to be shared with Netatalk, Samba, NFS, or WebDAV so that OS X can access it.) This way, you can still synchronize your iPod with the library, but all the music resides on the MythTV box.
MythTV cannot natively read the iTunes Music Library XML format, however, and thus it is necessary to find a workaround to use iTunes playlists. This perl script will clear all playlists in the MythMusic database, then populate it with playlists found in the iTunes Music Library XML file. (iTunes automatically saves this in its folder.) Simply modify the variables at the top of the script and it ought to work. It takes about 10 seconds to handle 7000 or so songs on my 1.4 GHz Pentium M.
This script does not preserve playlists created in MythMusic, but really, the interface is so cumbersome that no one in their right mind would want to create a playlist in MythMusic anyway.
Update: A reader has posted an update to this script here that works with MythTV 0.20. There is also a newer PHP script that performs a similar function.