Posts Tagged ‘drupal’

IIRF Drupal, WordPress and IIS6 – How to get them working first time – Guaranteed!

smileIf you’ve just downloaded IIRF – Ionic Shades friendly URL rewriter, but you can’t quite get get it running here’s a really easy to follow walkthrough to get your site up and running. There’s also a solution for WordPress to.

(Yes, I trawled the Internet to and none of the code I could find worked – This code will, first time Guaranteed!)

This is a complete walk-through/tutorial to get Ionic Shades IIRF clean and friendly URL rewriter up and running in just a few minutes (in fact the URL’s are so friendly I think they’re starting to interbreed – but that’s another story).

This post is specifically written for Windows 2003 Server and it has a complete and  working example of the code you need to use for your IsapiRewrite4.ini file. If you just need the IsapiRewrite4.ini code you can skip to the end and just copy n’ paste, but this post might make a useful check list.

I know I’m not talking to idiots, but after the number of websites I’ve visited that provide dis-information / wrong information / code that simply doesn’t work. I thought I’d cover absolutely every angle – leaving no stone unturned, so that this post can become a sensible benchmark for people wanting to get IIRF easily up and running. Once you’ve done this a few times you’ll be able to get a new IIS website up and running with IIRF in about 20 seconds – literally!

This tutorial will allow you to host multiple websites on IIS6, whether they be Drupal (any version) or WordPress (any version) or both. I’m hosting over 40 sites on my Windows 2003 server and IIRF is rock solid, completely free and had I been suckered into useing ISAPI_Rewrite3 it would of cost $3,960! (£2374)

Create a directory on your system and arbitrarily name it ‘ISAPI‘. Don’t place it within your websites folder, but either one directory lower, or on another partition.

Right click on the newly created ISAPI folder and select Properties > Security tab > Add.

Now click on the Advanced button. Like so…

IIRF-folder-properties

You’ll now see the Advanced dialogue box. Select Object Types

IIRF-properties2

And just tick the box that says Computers

IIRF-properties3

And then click OK.

Next click on the Find Now button, scroll down the list until you find IIS_WPG and IUSR_YourComputerName

IIRF-properties4

(Use CTRL to make multiple selections – I did say earlier that I know you’re not stupid, but this tutorial is not just for Drupal developers, it’s also for WordPress users – LOL! Remember this website is WordPress and it’s helping you out right now so R.E.S.P.E.C.T)

Now click OK. and then OK again to add those names you have just selected

You’re now back at the Security tab, select the computer user IIS_WPG and give it the following permissions – no more, no less, it’s a security thing… Read & Execute, List Folder Contents, Read.

IIRF-properties1

And now select the user Internet Guest Account – IUSR_YourComputerName and give it the following permissions:

Modify, Read & Execute, List Folder Contents, Read, Write.

IIRF-properties5

Oy, this tut is taking me forever. I do hope you leave me a comment when your site is up and running.
(or maybe click on a Google Ad banner – Eeek! I didn’t just say that…)

Now click OK.

Right, that’s your folder permissions all done. If you want to use IIRF with multiple websites, just create a folder inside your ISAPI folder and call it yourdomainname and place the files IsapiRewrite4.dll and IsapiRewrite4.ini in there.

Drupal (all versions) IsapiRewrite4.ini code. Yes this code really does work. It’s running right now on Windows 2003 server for my Astrophysics website http://www.manonmars.co.uk in fact if you click on the link you’ll see the URL get re-written to http://manonmars.co.uk

Drupal

(all versions)

RewriteCond %{HTTP_HOST} ^(www\.manonmars\.co\.uk).*$ [I]
RedirectRule ^/(.*)$ http://manonmars.co.uk/$1 [I,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(?!favicon.ico$)([^?]*)(?:\?(.*))?$ /index.php?q=$1&$2 [L]

If you have a dot com, then it’s a simple modification to this:

RewriteCond %{HTTP_HOST} ^(www\.yourdomainname\.com).*$ [I]
RedirectRule ^/(.*)$ http://yourdomainname.com/$1 [I,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(?!favicon.ico$)([^?]*)(?:\?(.*))?$ /index.php?q=$1&$2 [L]

WordPress

(all versions)

RewriteCond %{HTTP_HOST} ^(caspianit\.co\.uk).*$ [I]
RedirectRule ^/(.*)$ http://www.caspianit.co.uk/$1 [I,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php/$1 [L]

Again, if you have a dot com, it’s a simple modification to this:

RewriteCond %{HTTP_HOST} ^(yourdomainname\.com).*$ [I]
RedirectRule ^/(.*)$ http://www.yourdomainname.com/$1 [I,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php/$1 [L]

Just make sure you have your IsapiRewrite4.dll and IsapiRewrite4.ini in the same folder. You won’t have any trouble at all, this code will work first time. If there’s any chance you have a problem,  re-boot your server. There is probably another way of doing this without re-booting, but I don’t know what it is.

And now last, but by no means least:

IIS

Just run your Internet Information Services (IIS) Manager. Open your websites folder and select the website that you’d like clean / friendly URL working on.

Right click on your website and select Properties.

IIRF-properties6

Now go to the ISAPI Filters tab and click the Add button.

IIRF-properties7

Under Filter name: put some text in (this text is arbitrary, but it’s useful to put something appropriate in such as Ionic Shade’s IIRF). Then click on the Browse button and locate the file IsapiRewrite4.dll which is in your ISAPI folder.

IIRF-properties8

And then click OK.

You know what? You’re done. That’s it, all finished. Will it work? YES IT WILL. Will you have any problems? NO YOU WON’T. If for any reason you don’t have immediate success, the only thing you will need to do is to re-boot your server.

I would like to thank the man who is so cool, even his own Mother knows him only as Ionic Shade… for writing IIRF, it’s absolutely great, it’s powerfull and it’s completely free. Though I’m sure he would appreciate a small donation – as might I (hint, hint). But if you’re poor and can’t afford it, no problem whatsoever. I’m glad to of helped!

Happy Web Designing!

Simon.

Drupal Clear Top ‘page not found’ errors – How to?

Those logs can get a bit annoying, sometimes one just wants to clear out all the old errors and just start again with a fresh slate to see what’s really going on.

This post is an excerpt of the juicy bits posted by Jackie T on the Drupal.org website is summarised for you below:

This is the way to do it manually through your Admin interface, the other way is to write some SQL to remove entries manually, so I thought this would be easier.

1. Go to Administer > Site Configuration > Logging and Alerts > Database Logging
2. Set the discard to whatever amount you’d like. If you want a minimal amount, select 100.
3. Click “Save Configuration”
4. Go to Administer > Reports > Status Report
5. Click “run cron manually”
6. Check your “Recent Log Entries” now, and you’ll see they’ve been shortened to the most recent errors up until the discard length you specified in step 2

Drupal 6.x Why do I see candidate function names and not candidate template files?

I don’t really quite get what’s going on here with Drupal. I’m using Drupal 6.x, I’ve created a new content type with some extra text fields using CCK. I then create a View of this – which all display correctly.

However when I view my sites frontpage all the views I’ve created display correctly apart from this one View. When I enable theme developer and click on any View apart from this I get candidate template files – which is good, but this one View all I get is candidate function names not candidate template name.

I need to theme the output of this View, but as there are no name suggestions available and it’s ignoring my themed View node-footblck.tpl.php I am at a loss.

I currently working on a solution for this problem and will post the solution here when I have the answer (hopefully later today!)

Simon

Drupal 6.x Countries_api – Data too long for column ‘iso3′ at row 1 query: INSERT INTO countries_api_countries

Well well, here we are again with the next Drupal error. Having just downloaded the Drupal 6.x module countries_api all I did then was to tick the box in the modules section to activate it.

Lo and behold here we have our next error sequence to resolve. I must say though that it is quite rare to be able t activate a Drupal module without regretting having ever been born! (lol)

I love Drupal but make no mistake it’s by no means smooth sailing…

Problems activating the countries_api module for Drupal 6.x

Problems activating the countries_api module for Drupal 6.x

It would appear from this that the simple answer is that the database field that defines the length of the column iso3 is simply not large enough. I’m going to have a look and get back to you in a jiffy…

So far I have just ignored this error. I was just trying to activate the Google Analytics module (along with charting, charting_api and system) It hasn’t caused me any problems so far, but it has yet to be seen if there are any real problems caused by this.

If you have any further information of the effect of this, please let me know in the comments.

Simon

* UPDATE *

After all that, I’ve now had a proper chance to look at Drupal’s ‘Google Analytics Module’ and I’ve decided to uninstall it…

My reasoning is that Google Analytics looks a lot nicer and has all the features, it also doesn’t require 5 modules to be installed namely:

Google Analytics
Google Analytics API
Countries
Countries_API
Services

I’ll now just use the JavaScript code in my page.tpl.php file until something nicer comes along. I would however only like to call the stats for users that aren’t me because I call up my sites all the time when I’m developing them and so the reports would be very wonky indeed.