Setting up drupal
....Here's some notes on setting up Drupal for personal reference. I thought it would be fairly simple and besides from a few quirks it was. Documentation was okay but could again do with a few updates here and there. From my experience I can say that an average user would not be able to install such an web app
I guess I'm a typical user. I have ftp access to a host for my webpages and cpanel access with various features to control the sql etc. The version I was installing of Drupal was 4.5.1
- Download drupal. I want my drupal site to be www.investigata.com/cms (my new empty domain). That means it will be a "subdirectory installation" which makes it a bit more fiddly than a "simple installation" (e.g to www.investigata.com)
- Unzipped and put into the folder www/cms on my hosted site (through ftp)
- Now to set up the mysql databases. Two stages to this. Firstly I created a database through the mySQL maintainance in cpanel. For the purposes of this blog I created a new database "test" in this window which automatically is created as mylogin_test by this application.
- Go to phpMyAdmin (well hidden link at bottom of the mysql admin page) and opens the db management window. Select the database to be mylogin_test.
- Select the "sql" tab in the main frame and browse for a file called database.mysql in the drupal installation in the includes directory. I still had this file in the downloaded zip file on my local machine so I used that version of the file. Click "go". This script should now automatically create all the sql tables.
- Next allow the application to access the mysql database. We need to create a drupal "user" (which will actually be the website). I called it something like mylogin_drupal. This is done in the mysql admin page in cpanel
- Give the user mylogin_drupal access to the mylogin_test database we created. This is done in the mysql maintainance window. Select the appropriate database and user. Tick "ALL" in the privilidges boxes (beware of shoddy interface which means you might tick the wrong box) and then hit the "Add User to DB button". Now we're cookin!!
- Now time to modify some files. This could have been done locally on my machine before I uploaded them to the host.
- The folder structure I use was www/cms as the base so all folders are referenced from that
\www\cms\sites\includes\conf.php (this is wrong in the online guide)
$db_url = "mysql://username:password@localhost/drupal"
$db_url = "mysql://mylogin_drupal:my_password@localhost/drupal"
Here I've set the username and password to that of the database user I set up in the previous step
$base_url = "http://www.example.com";
$base_url = "http://www.investigata.com/cms";
- Because I'm using a subfolder e.g www.investigata.com/cms instead of www.investigata.com I need to change some extra settings
ErrorDocument 404 /index.php
ErrorDocument 404 /cms/index.php
- It should be working now. I went to www.investigate.com/cms and the site was ready to roll. Creating a login and a user name trought he site made me the administrator
- So I thought it was all perfectly going, but i discovered a slight problem. When i clicked on some links, particularly in administration I got a "file cannot be created" (or similar) error. To solve this, I simply created a folder called "files" in the directory www\cms. This is not well documented at all and I had to scour the web to solve it
- Cron jobs keep all the cleanup and config files ticking over nicely. It runs the file www.investigata.com/cms/cron.php. I set this throught the "cron jobs" in cpanel. I used the "advance unix style command". To run once a day the command is
0 0 * * * ~/www/cms/scripts/cron-lynx.sh
The file pointed to is a supplied script in drupal which will now run every day at midnight. I had a couple of problems getting this to work (I debugged by switching the cron job to every 1 minute by replacing the 0 0 with * * and getting any error). One problem was that I had to change permissions on the script file to allow the computer to exectute it (this was done inside my ftp application)
So there you have it an, heres a link
to the empty site, First time I've installed such a script from scratch. Good bit of fun. As I say most of this info is in the drupal admin guide
I'm hoping to mess with the look and feel so likely I will document this as well in the future.