Skip to main content.
home | support | download

Back to List Archive

Re: Configuring Swish-E on Windows IIS

From: Bill Moseley <moseley(at)>
Date: Wed Oct 20 2004 - 17:18:10 GMT
On Wed, Oct 20, 2004 at 08:43:06AM -0700, Smith, Sarah wrote:
> After you install using a binary distribution, you need to run the file
> ""

No, you are not suppose to need to run that.  I just installed swish
on Windows and I could see the installer start to run but
then no output was produced.  So that's a problem in the installer
setup that needs to be fixed.

Sorry about the trouble installing.

Dave, is that installer.nsi that needs fixing?  [amazing that vim
knows how to do syntax highligting on that file....]

> Caveat: If Swish-E is not going to be run from your local machine, the
> location of Perl and the drive letters set by the above "" may
> be wrong. For example, my machine thinks the website is on drive I: and
> Perl is on drive C: (my machine's hard drive). But Swish-E will not be
> running from my machine, so I had to change the I: drive letters to C:
> (the machine it's running on, NOT my hard drive)

I'm sorry, but that paragraph makes no sense to me. just
sets the paths to where things were installed.  If you are installing
swish on machine A, then copy it to machine B then I would expect
paths to be incorrect.  The installer can't figure out where swish
might be copied later.

Normally you would install swish via the normal installation process
on each machine and let it get the paths correct for that machine.
That's the point of having an installer.

> and change the shebang
> line to reflect where Perl is on the other machine (which is NOT where
> it is on my machine). 

Does Windows even use the shebang line?

> As of the current binary distribution, 2.4.2, the modules are not
> getting put in the right directory. Despite what has been said in some
> other posts, you will have to add the line
> use lib 'C:/Program Files/SWISH-E/share/doc/swish-e/example/modules/';
> to the top of swish.cgi so the beginning of the file will be:

Again, that's a problem with the installer.  The modules are not
suppose to be put there.  You don't want to be using libraries in a
"doc" directory, after all.  They are suppose to be moved to the "lib"
directory just like on other platforms.

Those are all bugs introduced on the last Windows version, so it

> I had to use absolute paths (i.e., with the drive letter) on everything
> EXCEPT in my swish.conf file, which for some reason would not work with
> a drive letter. So instead of IndexFiles C:/myweb/docs I had to use
> IndexFiles /myweb/docs

That doesn't make sense, either.  Can you give a better example and
report any errors you are seeing?

> One last thing that really helped me out was adding some error checking
> lines to the top of swish.cgi so I actually got feedback when there were
> 500 errors or my search form kept getting zero results. (I don't have
> access to error logs.) The lines are:
> $| = 1;
> print "Content-Type: text/plain\n\n";
> To add them, the  beginning of your file should look like:

Yuck.  Why in the world would you not have access to the error logs?
I just can't imagine working in that environment.  Can't you run IIS
locally for testing?

Anyway, I don't really see what adding text/plain as a content type
does for you.  Errors go to stderr so you want to capture that.  You
can reopen STDERR in perl to a file that you *can* read:

open STDERR, ">>c:/path/to/my/own.log" or die "Failed to redir stderr: $!";

Bill Moseley

Unsubscribe from or help with the swish-e list:

Help with Swish-e:
Received on Wed Oct 20 10:18:23 2004