drupal

Getting OSC's Drupal Install Optimized on Slicehost

Initially, when thinking about finally taking the plunge and purchasing a slice or two from Slicehost, I thought, "wow, this is going to be incredibly fast and awesome, compared to my Host Gator account!"

Slicehost + Drupal

But, after setting everything up and putting Open Source Catholic live on the fresh slice, running free -m, and looking at the results, reality set in: 256 MB of RAM is not much to work with if you're running a Drupal site on a LAMP stack! Drupal usually consumes 15-40 MB of RAM per page view for a logged-in user, and if you have a site with 10 or so logged in users at any moment... well, bad things can happen.

For anonymous users, using Boost will help your site fly no matter the amount of RAM you have. But even so, a bunch of requests to uncached pages will cause your site to load a heck of a lot slower, and will fill up your RAM faster than a fire hose fills up an 8 oz. glass!

Using default Apache, MySQL and PHP settings, free -m showed a full 250 MB of RAM used, along with 400-500 swap space used (swap should be kept to a minimum—if you have a lot of swap usage, that means the hard drive is being used instead of RAM, and the hard drive is inherently many times slower!). After performing a few quick modifications to Apache and MySQL, I was able to get this number down to 140 MB RAM / 40-60 MB swap, on average.

I modified the server configuration in two different places: Apache's httpd.conf, and MySQL's my.cnf:

From OSC: Caching a Page; Saving a Server

I posted a story over on Open Source Catholic today concerning page caching and its importance for saving a server under a heavy load (read: the slashdot effect). You can save a lot of resources on your server by not only using built-in page caching on your favorite CMS, but also exploring further options (for Drupal, there's Boost (read our case study on Boost); for WordPress, there's WP Super Cache). From OSC:

A couple months ago, the Archdiocese of Saint Louis announced that a new Archbishop had been chosen (then-Archbishop-elect Robert J. Carlson). For the announcement, the Archdiocese streamed the press conference online, then posted pictures on the St. Louis Review website of the day's events (updated every hour or two).

Open Atrium for Drupal - One Word Review

In one word: Awesome.

This Drupal distribution truly displays the beauty and power of Drupal—a dedicated team over at Development Seed spent a lot of time making a great Intranet-in-a-box solution built on top of Drupal, and even though it's a simple set of modules and an installation profile, you'd have to do a little digging to tell if an Open Atrium site even runs on Drupal!

Open Atrium Example Site

I've just been tinkering with it for a local nonprofit I help with, and I see a lot of potential. In less than 20 minutes (from the download of the tgz file), I had two groups, eight users, and a calendar/wiki/blog system running for everyone. It's drop-dead simple! If you're tasked with building an internal communications site, or a full-fledged Intranet, this is probably one of the easiest/best (and most free) solutions out there. Check it out!

Full Site Buildout: Part 4 - Releasing a Theme on d.o!

Part 4 of a series: Building out a full Drupal site in a weekend.

Well, after having a successful launch day, ironing out a few small bugs in the CSS of the layout, and patting myself on the back, I decided to push the initial release of the 'Airy Blue' theme created for Open Source Catholic out to Drupal's Theme repository. It turns out working with CVS isn't the hell-on-earth I thought it would be, but it's still a heckuva lot to expect from a guy who logs less than an hour a day in a command-line interface!

I applied for a CVS account, then read through the plentitude of CVS documentation for themers on drupal.org, making a few notes here and there. After having my CVS account approved, I finally had some time to fire up Terminal, and go through the process of first 'checking in' to CVS, then uploading my theme directory, and finally 'committing' and 'tagging' it for release on my project page.

>> It's a lot easier to zip up the files and link to them, let me tell 'ya! <<

Anyways, enough about that process (if you ever need help, jump into the #drupal IRC channel and see if webchick's around. If she is, she'll help you in no time!); here's the description of Drupal's newest contrib theme, Airy Blue:

Full Site Buildout: Part 3 - Going Live...

Part 3 of a series: Building out a full Drupal site in a weekend.

Now that my feet are firmly on the ground (and hopefully will stay that way for a time), I have a little time to write about the final stages of the Open Source Catholic website development... even though it's tagged as in 'beta.'

Open Source Catholic Screenshot

On the plane flight home, I was mostly finished creating the theme for the site. I hadn't opened it up in IE 6/7/8 yet, but I knew the main three or four bugs that would crop up, and prepared for them. I decided to write some postings (two articles, two blog posts, and a website review) for the website, as it's never a good idea to try to build momentum for a website on which nothing exists!

Full Site Buildout: Part 2 - Theme Development

Part 2 of a series: Building out a full Drupal site in a weekend.

Well, one plane flight down, and a conference to go, I have the main structure of the theme set up (locally; haven't pushed it out to opensourcecatholic.com yet). I decided to go with Zen 2.x's -dev releases, for the simple fact that it's new and the way the Zen project is moving. There are a few rough areas in the documentation, mostly in the 'Readme' file for installing a subtheme, but I got through everything okay.

This theme, I hope, will make its way onto the fine Drupal.org theme repository; getting a CVS account, I'm sure, will be fun ;-)

Full Site Buildout: Part 1 - Putting the Puzzle Together

Part 1 of a series: Building out a full Drupal site in a weekend.

Before you start building your website, you need to get all the parts of the site together, and have a good plan for what you'll need and how you'll do it. For many organizations, this can be a huge hassle, as you'll have to go through planning meetings, make diagrams, have all kinds of changes, and end up pre-stressed... and that's before you start working on putting the site together!

Luckily, for this website, the requirements are pretty simple: I can do whatever I want. But I can't get started from that point, so I put a few requirements down on paper, then grabbed everything I needed.

Building Out a Full Drupal Site on a Busy Weekend

This weekend I am going to attend the Catholic New Media Celebration. I'll be on two plane flights, I'll be sitting at an airport for a few hours before each flight, and I'll be at a convention all day Saturday. I'm hoping to build out a new site idea I've had lurking in the back of my head for some time: Open Source Catholic.

List of Downloaded Files for Drupal Install

In the past 45 minutes, I've been jumping around Drupal.org downloading all the different modules and tutorials I think I'll need. I've also saved some of my previous work on other Drupal sites in case I need to refer to a code snippet along the way while I don't have Internet access. I'm going to call it a night for now (I need to pack!), but tomorrow, beginning at the airport, I'm going to start working on the site.

Let's Get Through the PHPTemplates!

I just finished rolling a patch for fixing node.tpl.php in Drupal 7 over on the Drupal.org issue queue; hopefully it's ready to be rolled into core, as it's been weeks months since that particular issue was started. Page.tpl.php is already complete. We still have a few more to go, including comment.tpl.php, block.tpl.php and a bunch of little .tpl.php files.

I think Drupal 7 is going to be the best release of Drupal yet, in terms of being able to have a lot of appeal to non-programmers/techies. I set up my first ever full-fledged Wordpress site a few days ago, and it was super-easy to get things going (although also severely limited in what it could do, compared to a base Drupal install with Views and CCK), choose a new theme, change some settings, and hit the ground running.

Using Boost with Drupal - Making a McWebsite

Boost Module for Drupal - Make Your Site a McSiteTo the uninitiated, Boost is a module for Drupal which has the potential to make your Drupal-based website run many times faster than it's currently running. Boost basically converts pages on a Drupal site into static html files, and allows your website to direct anonymous (non-logged-in) users to the cached html pages.

Doing so speeds your site up quite a bit, because instead of your web server having to run some PHP scripts and connect to your website's database, the server can simply send the complete html file, which requires no extra processor cycles or memory to compile. If your website has a lot of anonymous traffic, the potential speedup is very large. Instead of serving hundreds of users per minute, you could serve thousands.