Update: SixRevisions has a great post on getting started with Drupal as well.
The worst thing about all the documentation over on Drupal.org is that it's just not very accessible to non-developers. But first I want to address the question,
Despite the headaches I've experienced with installation and administration, Drupal is super powerful. It's really good at presenting content in interesting ways, and in a time when news sites and blogs are all competing for an edge, the winner just might be the guy with the best presentation. Will a Wordpress blog stand out? I don't think it's as awesome as geo-tagging all your content (for example). See what Alex has done with the map over on DalianDalian.com for a damn sweet illustration of this.
When I think about all the English language content about Japan that's out there (see the big boys Gaijin Pot and Metropolis) it occurs to me that no one is really doing it well. Maybe they're held back by old software? I don't know... But it would be really awesome to have a multi-person blog site or forum where all the content is geo-tagged, or categorized according to the nearest train station or some other 'taxonomy' (sane people, read 'category'). Geo-specific advertising then becomes a possibility as well.
One of these days, I might take my TokyoSocial.com domain name and do something like this. But just this once I'm going to hang back and say "hey, maybe I have enough websites already." I'm open to collaboration though, so if anyone likes this idea drop me a line.
The Drupal install can be troublesome, and I ran into multiple problems when I attacked it using an FTP program (Cyberduck). I suspect when I was uploading the install package, I was not copying essential hidden files when I was dragging and dropping. I ran into other errors as well but to make a long story short, my problems ended when I switched to the command line (I use the Terminal application on Mac, Windows users try Cygwin maybe?). Matthew helped me out by showing me a few basic commands, and I was good to go from there.
Disclaimer: I'm no expert at this stuff, and my explanation isn't great. But it's laughable that nobody has tried to make Drupal as accessible as other CMSs by explaining all this in simple, understandable terms. Anyway, here goes:
In the terminal application (Windows users, try Cygwin maybe?), type in 'ssh username@hostname.com'. In my case, the hostname was the IP. It'll ask for prompt you to type your password as well.
Note: Keep in mind that some hosting companies might not have it enabled by default. And if they tell you that they don't support ssh, they might if you threaten to switch hosting companies. Mine did.
Anyone old enough to remember DOS commands will enjoy using the 'cd' change directory command here.
Type: wget http://drupal.org/files/projects/drupal-x.x.tar.gz (Of course replace the Xs with the latest version number)
To unzip (or untar) this package, type: tar -zxvpf drupal-x.x.tar.gz
Note: If you have trouble memorizing this command, just think of "Zebras, Xylophones, and very pretty flowers"
This was the easy part. You can use PHPmyadmin, or your regular server interface for this. Maybe there's a terminal command for this? Anyone?
Once you find themes or modules that you'd like to install, you might think that they should go in the 'themes' or 'modules' folder. Wrong... It seems that Drupal expects you to instinctively navigate to sites/all and open the readme text file. Reading this mysterious file, you'll discover that:
This directory should be used to place downloaded and custom modules and themes which are common to all sites. This will allow you to more easily update Drupal core files. These modules and themes should be placed in subdirectories called modules and themes as follows:
sites/all/modules sites/all/themes
Ok, that makes sense Drupal dudes. But is there any reason why these directories can't be there by default? And then just explain the correct process through competent documentation?
Unless you want to keep these zip files on your server, you can remove them using the rm filename command. ------------
If you run into this error during the install, be sure to read this section. This error caused me so many headaches, I can't even begin to tell you. But I finally got to the bottom of it. Previously when I encountered this error:
register_globals is enabled. Drupal requires this configuration directive to be disabled.
From most discussion on Drupal.org, I thought I was out of the woods when I added a php.ini file to the root directory with the code
register_globals = off.
While that does allow me to move on to the next step, it doesn't solve the underlying problem. According to my hosting company, the code (at least for me) should be:
register_globals = off
post_max_size = 20M
memory_limit = 200M
upload_max_filesize = 20M
max_execution_time = 120
expose_php = off
session.save_path = /tmp
mysqli.default_socket = /tmp/mysql5.sock
(download php.ini file here) They said: "The issue is that php.ini files override the global settings, and when you do not add the compatibility lines the socket for mysqli is not set."
And sure enough, a php.ini file with this code solved the problem. *Sigh...*
You should be ok from there. I recommend checking out some video tutorials to take you deeper into Drupal, and the ones over at MustardSeed Media are especially good.
Anyway, I'd love to hear Alex, Takaaki, and other Drupal minds chime in here. Because again, maybe this is not the best way to go about it -- but it's the way that made the most sense to me. I'm still open to suggestions.