Drupal is one of the better known CMS out there. Spikesource has a pretty interesting support model for it and at my work people seem to be convinced that Drupal is the way to go. I’m a big Plone fan, but I figure I should learn about this tool – maybe its better…you never know. I gave Joomla a whirl a few months ago and came away with a better appreciation for Plone. The hassle of getting MySQL installed, then PHP, and then Joomla was a serious pain. Will Drupal be the same?
Ever go into a car dealer and find that they were not ready with all the explanations for how to pick out everything you need and get you behind the wheel of a car? Well right off the bat I’m feeling like my engine got left behind. You’d think the Drupal guys would have a master guide to installation and getting everything working. I understand all the license issues that prevent a single installer – but there is no excuse for not having a complete and easy to follow guide to getting the system installed on a Win32 machine. Pathetic! Just like Joomla! Argh!
So here’s how I got started:
- For starters I’m using Apache…IIS sucks so I’m not using that crap. Apache rules…so get that and use it. I’m running 2.2.x.
- Go and get MySQL. I used their Win32 binary installer for version 5.x. I’m using Vista – yes this sucks but its also life – so when running the installer so it as an admin.
- Go get PHP. I used the Win32 binary installer even though their own files warn that it does not really work…strange…check it out later and you’ll see I should have listened. D’oh.
- Download Drupal now and start reading their install.txt file. It will tell you the commands to use…but of course from mysqladmin. I did the commands from the mysql console, but that’s a pretty easy change.
- Now go back to the MySQL site…there are some things you need. You need to get the extra libraries that no one every mentions to actually get PHP to talk to MySQL. Ugh!
- Download those things and extract them to your PHP “extensions” directory (installer problem #1). D’oh but hey where exactly is that? The Win32 installer does not create it. So where ever you installed PHP, just create a directory called “ext” and place php_mysql.dll file in there and place the libmysql.dll file in your main PHP install directory. Make sure your main PHP directory is in your system’s PATH. After you do that, edit your php.ini file to include these lines:
// MySQL extension
// MySQLi extension
- We’re almost done – now you should extract the Drupal download to somewhere under you apache root. Then attempt to load up the main page…odds are it will not load…so then try to explicitly load up the install.php page. It should load ok. Follow the prompts and you should be good to go.
- There’s one final step: You need to go into your apache config and add a index.php as a default file to the DirectoryIndex line so that you don’t need to deal with explicit page types.
Ok I lied 🙁 There is indeed more work to be done. Once I went into my Drupal site and tried to administer stuff I got a message that there were issues. I have a few more things to configure:
- Update the path to the uploads space for read/write access
- Enable a schedule function to periodically run the chron.php file.
- You need to get and install the image libraries for PHP (installer problem #2). If you saved your original PHP installer you can re-run it and be sure to pick off the php_gd2 support. Another option is to go back to php.net and download the .zip archive and copy the php_gd2.dll out of the extensions directory and then put this in your extensions directory with the MySQL stuff. Then be sure to add the extension to your php.ini file.
Now I think I’m really done 🙂
Well that was fun…sort of. Makes Plone look like a breeze, but I suppose if you look at my other post on setting up an Industrial Strength Plone Server then perhaps it is not that much better in Plone land. What’s better is that for newbies and people trying to learn it is MUCH easier to get started with Plone. A single point and clink installer and you are good to go with Plone.
I’m off to play around with Drupal now…let me know if you see any errors or things I could improve in this post.