Sync OmniFocus with your own server

OmniFocus provides several ways to sync your data between devices, including MobileMe and their beta Omni Sync Server. If you have a web hosting account (such as DreamHost) that supports WebDAV, you can set up your own sync server without having to subscribe to any other services. Here’s how I set it up on DreamHost.

1. On your web host, set up a WebDAV directory. On DreamHost, go to Goodies -> Htaccess/WebDAV and choose a fully hosted domain. In the next screen, enter the name of a directory you want to use for WebDAV and password protect it.

Screen Shot 2011-09-08 at 8.52.37 PM.png

2. In OmniFocus on your Mac, go to Sync settings and switch to the advanced tab. Enter the name of a subfolder inside the directory you specified in step 1.

Screen Shot 2011-09-08 at 8.49.34 PM.png

3. Enter that same path on all of your mobile devices that you want to sync with it.

I find it to be much faster than MobileMe using my DreamHost server. Your results may vary depending on your web host or server.

Links for 2011-01-16

Links for 2011-01-16:

Posted by Postilicious

Using Nginx at DreamHost

All of my sites are now running Nginx rather than Apache, which has several major advantages. Apache uses a separate process for each connection, so if you have a very busy site with lots of simultaneous connections it can use a huge amount of memory. Nginx, on the other hand, uses one worker process with a fixed number of CGI processes no matter how many connections it’s serving.

As you can see from my resource chart, the memory usage dropped dramatically when I switched over to Nginx.

Screen shot 2010-01-28 at 7.31.50 PM.png

Nginx has a few drawbacks, however. It doesn’t support Subversion or WebDAV, so I first had to move my Subversion repositories off my virtual private server. I ended up moving them to ProjectLocker. Most importantly, Nginx doesn’t use a .htaccess file. Instead, it uses its own configuration files, which DreamHost documents here.

Basically you need to create a nginx folder in your home directory, and make a subdirectory for each domain, for example ~/nginx/, and create a configuration file, which can be named anything. The syntax is different than .htaccess, although it has many of the same capabilities such as access control or rewriting URLs.

For a WordPress site, all you need is this:

# Permalinks

if (!-e $request_filename) {
  rewrite ^.*$ /index.php last;

DreamHost provides many more examples on their Wiki page, and you can find even more at the official Nginx site.

One important rule you should add to your config file, which DreamHost leaves out, is this one which will prevent users from viewing your .htaccess file, if you still have one.

location ~ /\.ht {
    deny  all;

I ran into a few gotchas, but once I figured them out I was able to get everything running smoothly. According to DreamHost’s documentation, the site-wide Nginx configuration file is at /dh/nginx/servers/httpd-psXXXXXX/nginx.conf, but I found that it didn’t exist, at least on my server. Instead it was named nginx.conf.pushing, so as a result Nginx refused to start. Once I renamed it, I was able to start nginx. You WILL need to have an admin user on your private server in order to access that file and restart nginx.

UPDATE: The problem I ran into with the missing config file was because the update didn’t finish properly for some reason.

DreamHost’s older virtual private servers don’t support Nginx, so if you want to use it, you may have to request to have your PS moved to a newer system.

If you have a very busy site, Nginx can help you deal with the load, so it’s worth checking out. Several major sites including, Hulu, and Github are using Nginx, so it’s definitely production quality.

Server Change

I’m having DreamHost move my private server to a newer system which will allow me to use Nginx instead of Apache, which should improve the speed and allow more connections.

This means that all of my sites may be down for an hour or so in the next few days and during that time the I Can Has Cheezburger app WILL NOT WORK, since it uses a feed proxy hosted on that server. After the change and after I switch the PS to Nginx, it should run much faster.

If no problems arise when I switch to Nginx, it will let my sites handle many more requests than Apache.

By signing up for DreamHost web hosting here you can help pay my hosting costs, which will let me increase the memory of my private server, and in turn make it even faster.

Make sure you own your domain

If you have a web site, one of the biggest mistakes you can make is not owning your domain name. This week, Daniel Brusilovsky learned that the hard way when his new Teens in Tech site went public.

I was providing hosting for the site on my DreamNightmareHost virtual server, which proved unable to handle the load, no matter how much additional RAM & CPU I gave it. We decided to move the site to a MediaTemple Grid Server, which should be better able to handle sudden load spikes. At the same time, I moved most of my sites, including this one, to a separate Grid Server account.

Unfortunately Daniel doesn’t own the domain name. It was registered by a former partner who left and who we have been unable to contact. Without cooperation from the domain’s owner, it isn’t possible to change the name servers to point to the new host. As an alternative, Daniel registered a few additional domains including Since the domain is still pointing to my DreamHost account, I was able to redirect it from there, although it isn’t the same as having it moved properly, since it depends on DreamHost’s server being up to serve the redirect.

A few years ago, Jimi M’baye had a similar experience. He originally used the domain, but the developer who registered it and created the site disappeared, so Jimi was never able to regain control of that domain. Instead, I registered the domain (listing Jimi as the domain owner), which he is still using. The site is still hosted at my DreamHost account, which doesn’t seem to have any trouble with it since it uses only minimal PHP scripting.

DreamHost discount invites available

I have 5 DreamHost discount codes available for my readers. These discounts will give you four times the normal disk and bandwidth, plus $150 off a five year plan or $200 off a ten year plan. Leave a comment or contact me to get one of the discount invites.

Expected downtime

It looks like all of my sites will be down Friday night until early Saturday morning. DreamHost sez:

Due to continued space and power constraints in our primary data center, we will be moving all central DreamHost functions as well as the “spunkyâ€? cluster to one of our newer data centers. This move will begin Friday, March 21st, at 9PM PDT, and is expected to last up to 12 hours, until Saturday, March 22nd, 9AM PST.

Central services include,,,,,,, basically everything but secondary DNS and this status blog. Primary and tertiary DNS will be going down as well, but will have a more limited downtime window of only 2-3 hours. For spunky, all web servers, mail servers, file servers, and MySQL servers in the randy cluster will be unreachable.

The last time they did a big move like that, it was a major fiasco, which resulted in over 24 hours of downtime.