Issues with configuring Personal Web Sharing on ‘upgraded’ Leopard

I’ve just been tearing my hair out trying to understand why a colleague could configure a personal website and I cannot! WIth OS X you can simply drag some html files into ~//Sites/ and enable Personal Web Sharing and access those files with the following URL

“”http://LOCALHOST/~USERNAME””

So far so good, except I could not for the life of me get this working on Leapard. Every attempt at loading this webpage resulted in a permissions error. What on earth! Whereas my colleague running Tiger set it up very quickly.

The frustration was further deepened by the fact that I was temporarily stranded in the middle of North Carolina without a internet connection! Not even a a single bar of cell signal!

However, once I got my fix back I found this web page detailing the issue, Gigoblog.

It appears that as a consequence of moving from Apache 1 to Apache 2 in the Tiger to Leopard move, Apple forgot a few things. The main one of these was that the default location of the Apache configuration files was changed from “etc/httpd” to “/etc/apache2”. That’s fine, but if you’d upgraded from Tiger to Leopard any users that were created under Tiger have their individual personal web sharing config files stored under the old location, and they’re not migrated to the new location.

Mail.app, IMAP and being mobile

One thing that has always frustrated me is the stubborn nature of keeping Mail.app offline. It always fails to recognise when you are offline and try to send email. Then of course warning you that you are offline and it cannot connect to that server . well no shit Sherlock I did not know that! More importantly when you open Mail.app and you are offline, instead of being able to take all inboxes offline, it instead turns them offline saying you cannot connect. This ‘warning offline status’ is different from when you take it offline yourself (different icons) and the next time you go online it will try to take all these mail boxes back online.

So envisage this scenario. You have to send a single email from a personal account. You do not want to have to even think about work email (being on holiday). More so you want to minimise all network activity as you are connecting with a phone tethered as a 3G/GPRS modem at £3 a Mb (data roaming is a real pain!). So you need to minimise activity due to cost and also the fact that the signal is never more than 1 bar on your phone, and your ZX81 and acoustic coupler used to get a better throughput!

So you fire up Mail,app which automatically takes all inboxes offline since there is no network connection. You go online then immediately you then have to take all these inboxes offline (ACCOUNT > ONLINE STATUS > TAKE OFFLINE). However, doing this leaves whatever connection had started ongoing. (Open Connection Activity to see all the threads that this leaves going). Invariably trying to stop one of these, leaves one or more of your IMAP mailboxes in an ‘unknown’ state and it then tries to resycnhronise the entire inbox and folder structure. However, it cannot do so as there are lots of connection threads in a stopping status and the mail box is offline. Concurrently your single email is timing out as the SMTP server it is trying to be sent by is timing out. SO you kill Mail.app praying that it will remember the proper offline status. However, it then will not close as of course it wants to finish all these open conections. Which it cannot. So you use Force Kill, which is always a bad idea with Mail.app. You fire up Mail.app again, and it tries to again synchronise at least one of your offline mail inboxes. In spite of it’s aparentl proper offline status.

So there I was 2 hours later having had to send a single personal email.

So why does Mail.app not have a proper online/offline status? Does Apple have some deal going with ISP’s mobile operators to inscrease traffic as much as possible?

Edit: my Phone bill for that escapade worked out to be £10. Which was far more than the rest of the data related costs for the entire fortnight!