Bring life to a barren, technological wasteland

Moving Lessn

The last site that I’m going to move this weekend is a small: my personal URL shortener, using Lessn. It’s a good small test, because it uses PHP and it will let me make sure that I can get PHP working, without having to mess with a large, complex site.

I’m not going to detail all of the setup. For the most part, I’m taking the basic nginx / PHP setup stragith from Linode’s Nginx and PHP-FastCGI on Debian 6 guide.

Here are the MySQL steps, to create the Lessn database and a secure user for it.

mysqladmin create lessn

CREATE USER 'lessn'@'localhost' IDENTIFIED BY 'xxxxx';
GRANT ALL ON lessn.* TO 'lessn'@'localhost';

Finally, I could load the database backup, from Litho.

scp .
bzip2 -d jmartin_lessn_2012-08-19_01h03m.Sunday.sql.bz2
cat jmartin_lessn_2012-08-19_01h03m.Sunday.sql | mysql -u lessn -p lessn

I also need to copy the site files over, from Litho, and configure them for their new home.

rsync -ravn /srv/www/
chown -R www-data:www-data /srv/www/
vim /srv/www/

The final change I had to make was to enable URL rewriting, for lessn, in /etc/nginx/sites-available/

location / {
    index index.php index.html index.htm;
    # if the requested file exists, return it immediately
    if (-e $request_filename) {

    # all other requests go to Wordpress
    if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php?token=$1 last;

After I reloaded nginx with the new configuration, everything worked perfectly.