create new tag
, view all tags
These are the instructions we used at work for the IIS/ActiveState perl with TWiki Athens Release. I have not tested them since 2002, but I just got hold of the cd they were stored on and I figure they might help you. Please feel free to reformat them, I don't have time at the moment.

1) Install Windows Advanced Server. 6) Once Advanced Server is installed, apply Service Pack 2, 7)From disk management of "Computer Management", a primary partion "D" (Programs) of size 4GB is created. The remaining space is used for another primary partition "E" (Data)

8)We also installed the following programs:

  • Acrobat 4.5
  • Arcserver 2000 - Backup Agent for Open Files
  • Arcserver 2000 - SP2
  • Arcserver 2000 - Windows NT/2000 Agent
  • IE5.5
  • MS Hotfixes 1t
  • Norton Antivirus
  • SMTP mailer
  • Windows 2000 Admin tools
  • Windows 2000 Server Resource kit
  • Winzip 8.0

On rebooting, the IIS server directory structures are moved from C:\Inetpub to D:\wwwroot.

9) Install Siteminder

Once Siteminder is installed, on the same tab as 'Enable Web Agent' (which you must tick during installation), the IIS proxy user must be changed to 'nobody' and a corresponding password set. This same id and password must be created as a Windows 2000 user, which has the permission 'act as part of the operating system'.

10) Install Active States Perl - all default installation options should be accepted.

11) Install Cygwin - n.b. packages selected for installation were:

  • File comparison utilities
  • fgrep, egrep etc.
The install root is d:\cygwin, default text type is DOS. All other configuration parameters are left unchanged. Ensure that "Create a desktop item" is ticked.

12) Unpack rcs57pc1.zip to d:\RCS.

13) Unpack Twiki20010901.zip to a new directory - "d:\twikiroot". This is referenced as $twikiroot throughout this document.

14) Install the twiki utilities:

  • Unzip aatwikiutil.zip (attached) to the twikiroot directory.
  • Create the following directories -
    • d:\twikiroot\logs
    • d:\lastbackup. On a remote server create the following directories and share the top level folder:
    • twikibackups
    • twikibackups\FridayArchive

14) Associate

  1. Create a $twikiroot\logs directory (See ChangeTheLocationOfTheTwikiLogFiles for the reason why)
  2. Create a new EMPTY folder named 'twiki' in the d:\www directory using Windows Explorer. (on production server this is d:\www\emeia\uk\bc\)
  3. Using the InternetInformationServicesMmc, AddVirtualSubDirectories as specified below to the twiki directory.
  4. AddVirtualSubDirectories for the following:
    • TwikiRoot\logs - alias should be logs and created under twiki
    • d:\lastbackup - alias should be lastbackup and created under twiki In each case, the virtual directory should be created under the default website and the access permissions should be set to read and browse.

15) In Information Service Manager, associate PL files with Perl

  • Start->programs->administrative tools->Internet Services Manager)
  • Expand the tree until the default web site is expanded.
  • Right click on the Twiki directory and select "properties".
  • Click on the "Create" button (this should also be done for the subordinate bin directory)
  • Change execute permissions to "Scripts and Executables"
  • Click on the "Configuration" button
  • Under application mappings, click on the .PL association. Uncheck the "Check that file exists" box and remove all quotation marks. Add the -T option after the ".exe". Do the same for .PLX.

16) The following files changes were made in the twiki bin directory:

BEGIN{($_=$0)=~s!(.*)[\\/][^\\/]+$!!;chdir $1}

in the case of scripts that are also run as CRON jobs (statistics.pl and mailnotify.pl), the line below was used instead:

BEGIN{($_=$0)=~s!(.*)[\\/][^\\/]+$!!;chdir $1 if (defined $1)}

17) Start->Programs->IIS Web Agent Management Console. On the settings tab, enable the web agent. For the changes to take affect, then restart IIS.

18) Amend Twiki.cfg as shown in following diff output:

Setting of environment variables - note for Windows, then TZ environment variable must be set to TZ!
< #
< $wikiHomeUrl      = "http://your.domain.com/twiki";
> $wikiHomeUrl      = "http://localhost/twiki";
< $defaultUrlHost   = "http://your.domain.com";
> $defaultUrlHost   = "http://localhost";
64a64,65 -- ADD THIS ABOVE THE PUBDIR variable
> #          TWiki root directory
> $twikiroot        = "d:/twikiroot";
66,68c67,69 -- REPLACE ALL /home/httpd/twiki with $twikiroot
< $pubDir           = "/home/httpd/twiki/pub";
< #                   Template directory :
< $templateDir      = "/home/httpd/twiki/templates";
> $pubDir           = "$twikiroot/pub";
> #                   Template directory :   
> $templateDir      = "$twikiroot/templates";
< $dataDir          = "/home/httpd/twiki/data";
> $dataDir          = "$twikiroot/data";
> $logsDir          = "$twikiroot/logs";

97a101,102  -- THIS SHOULD BE ADDED BEFORE the line reading "# variables that might need to be changed"
> # For RCS on Windows, very important:
> $ENV{'TZ'} = "GMT";
< $scriptSuffix     = "";
> $scriptSuffix     = ".pl";
< $safeEnvPath      = "/bin:/usr/bin";
> $safeEnvPath      = "/rcs";
< $rcsDir           = "/usr/bin";
> $rcsDir           = "/rcs";
136c141 - THE .EXE extension was added to the following RCS commands
< $revInitBinaryCmd = "$rcsDir/rcs $rcsArg -q -i -t-none -kb %FILENAME%";
> $revInitBinaryCmd = "$rcsDir/rcs.exe $rcsArg -q -i -t-none -kb %FILENAME%";
< $revCiCmd         = "$rcsDir/ci $rcsArg -q -l -m$cmdQuote
$cmdQuote -t-none -w$cmdQuoteguest$cmdQuote %FILENAME%"; --- > $revCiCmd = "$rcsDir/ci.exe $rcsArg -q -l -m$cmdQuote
$cmdQuote -t-none -w$cmdQuoteguest$cmdQuote %FILENAME%"; 141c146 < $revCiDateCmd = "$rcsDir/ci -l $rcsArg -q -mnone -t-none -d$cmdQuote2018-02-11$cmdQuote -w$cmdQuoteguest$cmdQuote %FILENAME%"; --- > $revCiDateCmd = "$rcsDir/ci.exe -l $rcsArg -q -mnone -t-none -d$cmdQuote2018-02-11$cmdQuote -w$cmdQuoteguest$cmdQuote %FILENAME%"; 143c148 < $revCoCmd = "$rcsDir/co $rcsArg -q -p%REVISION% %FILENAME%"; --- > $revCoCmd = "$rcsDir/co.exe $rcsArg -q -p%REVISION% %FILENAME%"; 145c150 < $revHistCmd = "$rcsDir/rlog $rcsArg -h %FILENAME%"; --- > $revHistCmd = "$rcsDir/rlog.exe $rcsArg -h %FILENAME%"; 147c152 < $revInfoCmd = "$rcsDir/rlog $rcsArg -r%REVISION% %FILENAME%"; --- > $revInfoCmd = "$rcsDir/rlog.exe $rcsArg -r%REVISION% %FILENAME%"; 149c154 < $revDiffCmd = "$rcsDir/rcsdiff $rcsArg -q -w -B -r%REVISION1% -r%REVISION2% %FILENAME%"; --- > $revDiffCmd = "$rcsDir/rcsdiff.exe $rcsArg -q -w -B -r%REVISION1% -r%REVISION2% %FILENAME%"; 151c156 < $revDelRevCmd = "$rcsDir/rcs $rcsArg -q -o%REVISION% %FILENAME%"; --- > $revDelRevCmd = "$rcsDir/rcs.exe $rcsArg -q -o%REVISION% %FILENAME%"; 153c158 < $revUnlockCmd = "$rcsDir/rcs $rcsArg -q -u %FILENAME%"; --- > $revUnlockCmd = "$rcsDir/rcs.exe $rcsArg -q -u %FILENAME%"; 155c160 < $revLockCmd = "$rcsDir/rcs $rcsArg -q -l %FILENAME%"; --- > $revLockCmd = "$rcsDir/rcs.exe $rcsArg -q -l %FILENAME%"; 157c162 < $revBreakLockCmd = "$rcsDir/rcs $rcsArg -q -l -M %FILENAME%"; --- > $revBreakLockCmd = "$rcsDir/rcs.exe $rcsArg -q -l -M %FILENAME%"; 161c166 < $lsCmd = "/bin/ls"; --- > $lsCmd = "/cygwin/bin/ls.exe"; 163c168 < $egrepCmd = "/bin/egrep"; --- > $egrepCmd = "/cygwin/bin/egrep.exe"; 165c170 < $fgrepCmd = "/bin/fgrep"; --- > $fgrepCmd = "/cygwin/bin/fgrep.exe"; 191c196 - N.B. This is not displayed correctly on this page - $dataDir was simply changed to $twikiroot/logs < $logFilename = "$dataDir/log2018-02-11.txt"; --- > $logFilename = "$logsDir/log2018-02-11.txt"; 268a274,275 > # Path to Microsoft IS Search Catalogue > $debugFilename was changed to: $debugFilename = "$logsDir/debug.txt"; #variables for batch job - NEW SECTION ADDED! $WorkingDir = "d:/lastbackup/"; # where to zip to temporarily $TWikiDir = "$twikiroot"; $BUdir = "//CHANGETOREMOTEMACHINENAME/twikibackups/"; # needs trailing / $PermBUdir = $BUdir."FridayArchive/"; # place to store permanent copy every Friday $BUname = "EaiTWiki"; $alertme ="richard.ellery\@uk.domainname.com"; # who to tell if something goes wrong. Needs the \ to escape the @

19) Virtual web sites: In the d:\www directory, create a file named default.htm containing the following html (n.b. remove the 'b' of metab!). This will redirect all page requests without a path to the view.pl script. N.B. For production, the server name will not be wiki.development...!

  <metab http-equiv="Refresh" CONTENT="1;URL=http://wiki.development.domainname.com/twiki/bin/view.pl/Main/WebHome">

For each additional DNS name, follow this procedure to create a new virtual web site within IIS Manager:

  • Right click on the default web server and select new->site. This will invoke the "Web Site Creation Wizard"
  • Click Next.
  • As a description, enter the DNS name e.g. siebel.wiki.development.domainname.com and click Next
  • As Host Header name for the site, again enter the DNS name.
  • For the home directory path, create a dummy directory under d:\www and enter this directory as the path (it does not matter what the directory is called because it will never be referenced). Click Next.
  • Untick all boxes on the permissions page and click next to complete the wizard.
  • Once the wizard is complete, right click on the new virtual directory, select properties and go to the Home Directory tab. Select the option for 'A redirection to URL' and enter the full path to the required Twiki web. e.g. for Siebel, http://wiki.development.domainname.com/twiki/bin/view.pl/Siebel. Click OK to complete the configuration of the virtual web site.

20) Install the TigerSkinPlugin. Install the OrangeSkinPlugin from the same wiki page.

[Creating the Orange Skin.

The OrangeSkin.zip file was created using the following procedure:

  • In the 'templates' directory, copy the edit, preview, twiki, view.tiger.tmpl files to *.orange.tmpl. In the new files, change all occurrences of 'tiger' to 'orange' being careful to observe the case of the original.
  • In the lib\Twiki\Plugins directory, copy the TigerSkinPlugin.pm file to OrangeSkinPlugin.pm. In the new file, change all occurrences of 'tiger' to 'orange' being careful to observe the case of the original.
  • Using Twiki edit the TwikiPreferences page on the Twiki web, adding the following preference. This will set the default skin to Orange and allow the user to choose between orange and tiger skins:
      * Set SKIN = orange 
      * Set SKINS = orange,tiger 
  • in the Twiki web, copy the TigerSkin and TigerSkinPlugin pages to OrangeSkin and OrangeSkinPlugin. On each page change all occurrences of 'tiger' to 'orange' being careful to observe the case of the original.
  • Create a zip file for the orange skin. The command subst x: d:\www\twiki was used to create a path suitable for use by Winzip - the files were zipped from the x drive. All files corresponding to those in the Tigerskin installation zip file were added to the zip archive.

21) Install SiteMinderPlugin.

22) In \lib\twiki\store.pm, find and comment the line $tmp .= " 2>&1 1>$TWiki::nullDev" and all others like it where stdout redirection to the null stream occurs;

This will fix an RCS problem caused by directing its output to a null stream.

23) Install IIS Search according to TWikiIisSearch. n.b. I used $searchCatDir = "d:\\index\\catalogue"

24) Install SpacedOutWikiWordsPlugin.

25) Install RemoveWebNotifyTopicBodyHack - NOT TESTED!

26) Install TWiki:Plugins.SessionPlugin

27) Apply FileSystemNameClash fix.

28) Install JavaPastePlugin .- NOT FINISHED!

29) In Twiki.pm, add a %SCRIPTSUFFIX % extension into the putBack variable i.e.:

$putBack .= " href=\"$scriptUrlPath/rename%SCRIPTSUFFIX %/$web/$topic?newweb=$fromWeb&newtopic=$fromTopic&";
  • You need to remove the space before the final % sign.

30) Install the 401 script and arrange for it to be used by IIS (Richard - can you make this explicit?)

31) Install changes to the register script (Richard - see changes doc)

32) The following changes (in bold) were made to Twiki.pm in order to allow webnames that were Wiki Words.

   # 'Web.TopicName#anchor' link:
   # 'Web.TopicName' link:
   #   s/([\*\s][\(\-\*\s]*)([A-Z]+[a-z0-9]*)\.([A-Z]+[a-z]+[A-Z]+[a-zA-Z0-9]*)/&internalLink($1,$2,$3,"$TranslationToken$3$TranslationToken","",1)/geo;

33) The WebIndex pages of each web were edited and the scope="topic" parameter was removed. This was preventing the webindex from functioning.

 % SEARCH{"\.*" scope="topic" regex="on" nosearch="on"}%
 % SEARCH{"\.*" regex="on" nosearch="on"}%

-- MartinCleaver - 03 Jul 2003

Thanks to RichardEllery for helping with the install.

-- MartinCleaver - 12 Jul 2003

Topic attachments
I Attachment History Action Size Date Who Comment
Compressed Zip archivezip aatwikiutil.zip r1 manage 3.0 K 2003-07-04 - 01:12 MartinCleaver make backup, mailtest
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2003-07-12 - MartinCleaver
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.