Clean URLs (Permalinks) for WordPress on Lighttpd

I’ve moved my blog in the last few days to a new, bigger dedicated server (as well as some other sites I own). After doing some benchmarks (I plan to post those soon), I’ve decided to switch to Lighttpd. While the exact migration notes are the topic of another post, I can say that I’m fairly satisfied with the move.

After setting up the server, I started moving the blog. Importing the files and the database was pretty straightforward. But when I thought everything was ready and I transferred the domain to the new server, I’ve found out that none of my inner pages are accessible. The reason, as it turned up pretty quickly, is that WordPress depends on Apache’s mod_rewrite to create the clean URLs (the so-called permalinks). This actually posed two problems:

  1. WordPress depends on Apache’s mod_rewrite.
  2. WordPress uses .htaccess files for the clean URLs configuration.

Continue reading Clean URLs (Permalinks) for WordPress on Lighttpd

radio.py-0.5 – An Easy Interface for Listening to Radio under Linux

This new release of radio.py brings more predefined stations and the much wanted recording feature. radio.py is a Python wrapper for mplayer, designed to provide an easy-to-use interface for listening to radio from the command line. And indeed, using radio.py is very easy; just pass the station name.

radio.py Classic FM

To read more about radio.py and the existing features, go to radio.py – a Wrapper Script for Listening to Radio in Linux.

New stations in this release include Ram FM, Classic FM, Radio Caroline, and updates to all the radioIO stations. So overall, this version of radio.py comes with 81 predefined stations. To see the full list of recognized stations, run radio.py --list. If your favorite station is still missing, you can add it via configuration files, as described here. If you send a comment with the names of the stations and their websites, I’ll add them to the next release.

The other important new feature is the ability to record radio streams to mp3 directly from radio.py. This is done using the --record command-line switch. For example, the following

radio.py CNN --record cnn.mp3

will record the radio stream of CNN to a file called cnn.mp3. To stop recording, just press ‘q’. This option can also be used with --sleep and --wake-up to time your recordings. For example, if you want to record a show that starts in 30 minutes and is 60 minutes long, you should do

radio.py BBC1 --record bbc1.mp3 --wake-up 30 --sleep 60

You can download the new version from here. Installation is pretty straightforward: just untar the archive and put radio.py somewhere in your path (e.g. /usr/local/bin/), and the package is installed.

As always, if you want new stations added to the next release, send a comment with the station details (at least the name and website).

UPDATE 14/12/2008: I’ve changed the download link to point to radio.py‘s SourceForge project page.

WordPress Backup Script

This is a small script I’ve written to automate my server-side backups of my blogs. It creates a backup of both the database and the actual WordPress files.

#!/bin/bash

# (C) 2008 Guy Rutenberg - http://www.guyrutenberg.com
# This is a script that creates backups of blogs.

DB_NAME=
DB_USER=
DB_PASS=
DB_HOST=

#no trailing slash
BLOG_DIR=
BACKUP_DIR=


echo -n "dumping database... "
mysqldump --user=${DB_USER} --password=${DB_PASS} --host=${DB_HOST} ${DB_NAME} 
 | bzip2 -c > ${BACKUP_DIR}/${DB_NAME}-$(date +%Y%m%d).sql.bz2
if [ "$?" -ne "0" ]; then
    echo -e "nmysqldump failed!"
    exit 1
fi
echo "done"


echo -n "Creating tarball... "
tar -cjf ${BACKUP_DIR}/${BLOG_DIR##*/}-$(date +%Y%m%d).tar.bz2 ${BLOG_DIR}
if [ "$?" -ne "0" ]; then
    echo -e "ntarball creation failed!"
    exit 1
fi
echo "done"

Continue reading WordPress Backup Script

spass 1.1 – Secure Password Generator

This is a new version of my /dev/random-based secure password generator – spass. The new version doesn’t have any new features; it’s mainly a bug-fix release. The package now uses autotools, which means it has the standard configure script and makefile. I also fixed some typos in the help message. Overall, the new version doesn’t offer anything new compared to the old one, except for easier installation.
Continue reading spass 1.1 – Secure Password Generator