Now that we have our fancy new VPS and are allowed to create multiple
user accounts, I’ve run into a problem with basic linux permissions that
you really only find when you have multiple users working in the same
space. In my case, we need multiple users to have access to all of our
online property web roots. I started by using chown to force the entire
web root under the ownership of www-data:www-data and adding everyone
who needed access to the secondary www-data group. This works fine until
people start making changes. Each new file they write becomes owned by
only them and their primary group.
Continue reading »
Movable Type 4.2 introduced (among other things) built-in pagination.
When you have a set of entries published to a dynamic index, you can
auto-paginate them with some magical
tags
and it works wonderfully. That is, it works unless you wanted to use
Movable Type’s built-in caching system for dynamic content. Movable
Type’s cache entries are unique to a given relative URL excluding the
request parameters. In the case of pagination, request parameters make
all the difference on what should be cached. If you’re not following,
this means that the following URLs are identical as far as the MT cache
is concerned:
/
/?limit=10&offset=10
/?whatever_its_all_the_same_to=MT
Continue reading »
Finding a good,
cheap sound card should have been as easy as ordering the one mentioned
on the mighty ohm for $10, but I thought I’d save eight bucks and order
the cheapest possible one on ebay. When it arrived, the right channel
was totally non-functional and to say the sound quality was poor would
be an understatement. It was impressive though, that anyone could
manufacture and deliver to my door a brand new USB sound card even
counting the defects for only two dollars. But that’s all beside the
point.
Continue reading »
Lately, I’ve been in
the business of migrating between hosting providers. We’re moving away
from the classic web host CentOS. The reason that CentOS became the web
host OS of choice in the middle of the decade still eludes. I just
imagine a some RHEL fan club being told to implement a linux web host
solution with no budget and CentOS was the fruit of that effort. Our new
host is of the new ultra-trendy VPS type. We chose slicehost on some
recommendations from friends. I host my own blog and some other stuff
on a VPS at vpslink.com. I fired it up with Intrepid Ibex (of course)
and started migrating stuff over the Ubuntu way.
That’s all well and good, but the reason I’m writing this is because I
found a great way to move our largest system which is a family of blogs
related to fresnobeehive.com. We’d been using movable type to publish
blogs since version 2.x, and the new systems are running 4.x. Back then,
the only publishing option was to physically build every page for the
entire system ahead of time. That system works great when you have only
a few hundred entries, but when you start getting into the 10s of
thousands of entries, static publishing begins to break down a little.
It takes most of a day to publish the entire site if you make a global
template change. Combine this with the fact that we’re attempting to
redesign the blogs during the move, and we’ve got a lot to juggle.
Continue reading »
Since 2008, Debian has had a movabletype-opensource
package
available in the
repository.
That’s good news for people who like to make short work of system
administration. Unfortunately, the package in the repository isn’t the
very latest and greatest. Even so, there are big benefits to using
aptitude to install movable type, the main one being that it
automatically installs all the various dependencies and offloads your
job (maintaining those packages) to someone else. Plus the file
locations are well-thought-out. Rather than throwing everything right
into the web root the package maintainer put the cgi files into a common
cgi-bin folder, the shared files into /usr/shared, the perl modules into
the shared perl library, and the configuration files into /etc.
Because I imagine I’ll be upgrading my install of MT from time to time,
I wrote this script so I can be even more lazy in the future, and I’ll
put it here in case anyone else wants to use it. It’s only been tested
on a brand new Ubuntu 8.10 install and the MTOS-4.23-en.zip
package.
Continue reading »