author Colas Nahaboo <>
Sat, 26 Jan 2008 15:50:53 +0100
changeset 0 414e01d06fd5
child 1 e2915a7cbdfa
permissions -rw-r--r--
RELEASE 4.2.0 freetown
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
     2 <html xmlns="" xml:lang="en-us" lang="en-us">
     3 <head><title>TWikiInstallationGuide</title></head>
     4 <body class=""><div class="twikiPage">
     5 <a name="PageTop"></a> 
     6 <p />
     7 <h1><a name="TWiki_Installation_Guide"></a> TWiki Installation Guide </h1>
     8 <p />
     9 <strong>The following is installation instructions for the TWiki 4.2 production release on an Apache web server on Linux.</strong> Visit <a href="" title="'TWiki.InstallingTWiki' on" class="interwikiLink">TWiki:TWiki.InstallingTWiki</a> for the latest updates to this guide and supplemental information for installing or upgrading TWiki, including notes on installing TWiki on different platforms, environments and web hosting sites.
    10 <p />
    11 If you are upgrading from a previous version of TWiki, you probably want to read <code>TWikiUpgradeGuide</code> instead.
    12 <p />
    13 Both this document and the TWikiUpgradeGuide are also available in the root of the distribution as HTML files. For this reason links to pages inside your own TWiki are written like <code>TWiki.WebHome</code> and not like live web links.
    14 <p />
    15 <div class="twikiToc"><span class="twikiTocTitle">On this page:</span> <ul>
    16 <li> <a href="#Preparing_to_install_TWiki"> Preparing to install TWiki</a>
    17 </li> <li> <a href="#Basic_Installation"> Basic Installation</a>
    18 </li> <li> <a href="#Important_Server_Security_Settin"> Important Server Security Settings</a>
    19 </li> <li> <a href="#Next_Steps"> Next Steps</a>
    20 </li> <li> <a href="#Enable_Authentication_of_Users"> Enable Authentication of Users</a>
    21 </li> <li> <a href="#Define_the_Administrator_User_s"> Define the Administrator User(s)</a>
    22 </li> <li> <a href="#Set_TWiki_Preferences"> Set TWiki Preferences</a>
    23 </li> <li> <a href="#Enable_Email_Notification"> Enable Email Notification</a>
    24 </li> <li> <a href="#Enable_WebStatistics"> Enable WebStatistics</a>
    25 </li> <li> <a href="#Automate_removal_of_expired_sess"> Automate removal of expired sessions and lease files</a>
    26 </li> <li> <a href="#Enable_Localisation"> Enable Localisation</a>
    27 </li> <li> <a href="#Tailor_New_Users_Home_Topic"> Tailor New Users Home Topic</a>
    28 </li> <li> <a href="#Install_Plugins"> Install Plugins</a>
    29 </li> <li> <a href="#Customize_Your_TWiki"> Customize Your TWiki!</a>
    30 </li> <li> <a href="#Customization_of_Special_Pages"> Customization of Special Pages</a>
    31 </li> <li> <a href="#WYSIWYG_vs_Raw_Edit"> WYSIWYG vs Raw Edit</a>
    32 </li> <li> <a href="#Copyright_License_and_Classifica"> Copyright, License and Classification Statements</a>
    33 </li> <li> <a href="#Troubleshooting"> Troubleshooting</a>
    34 </li> <li> <a href="#Appendices"> Appendices</a>
    35 </li> <li> <a href="#TWiki_System_Requirements"> TWiki System Requirements</a> <ul>
    36 <li> <a href="#Server_Requirements"> Server Requirements</a>
    37 </li> <li> <a href="#Required_CPAN_Modules"> Required CPAN Modules</a>
    38 </li> <li> <a href="#Optional_CPAN_Modules"> Optional CPAN Modules</a>
    39 </li> <li> <a href="#Client_Requirements"> Client Requirements</a>
    40 </li> <li> <a href="#Important_note_about_TWiki_Plugi"> Important note about TWiki Plugins</a>
    41 </li></ul> 
    42 </li> <li> <a href="#Notes_on_Installing_TWiki_on_Non"> Notes on Installing TWiki on Non-Root Account</a>
    43 </li> <li> <a href="#Installing_Manually_Without_Conf"> Installing Manually Without Configure</a>
    44 </li></ul> 
    45 </div>
    46 <p />
    47 <h2><a name="Preparing_to_install_TWiki"></a> Preparing to install TWiki </h2>
    48 <p />
    49 Before attempting to install TWiki, you are encouraged to review the <a href="" title="'TWiki.AdminSkillsAssumptions' on" class="interwikiLink">TWiki:TWiki.AdminSkillsAssumptions</a>. This guide assumes the person installing TWiki has, at a minimum, basic knowledge of server administration on the system on which TWiki is to be installed. While it is possible to install TWiki with FTP access alone (for example, on a hosted site), it is tricky and may require additional support from your hosting service (for example, in setting file ownership and installing missing perl CPAN libraries).
    50 <p />
    51 To help setup a correct Apache configuration, you are very much encouraged to use the automatic tool <a href="" title="'TWiki.ApacheConfigGenerator' on" class="interwikiLink">TWiki:TWiki.ApacheConfigGenerator</a> which generates the contents for an Apache config file for TWiki based on your inputs.
    52 <p />
    53 While this installation guide specifically describes installation on an Apache web server on Linux, TWiki should be fine with any web server and OS that meet the system requirements (see below). For additional notes on installing TWiki on other systems, see <a href="" title="'TWiki.InstallingTWiki#OtherPlatforms' on" class="interwikiLink">TWiki:TWiki.InstallingTWiki#OtherPlatforms</a>.
    54 <p />
    55 If you are installing TWiki without Unix/Linux root (administrator) priviledges (for example, on a hosted domain), see "Notes on Installing TWiki on Non-Root Account" below for supplemental instructions to the basic steps presented below.
    56 <p />
    57 If you are upgrading from an earlier major version of TWiki such as Cairo (TWiki 3) you will need the information found in <a href="" title="'TWiki.TWikiUpgradeGuide' on" class="interwikiLink">TWiki:TWiki.TWikiUpgradeGuide</a>.  There is also a static HTML <code>TWikiUpgradeGuide.html</code> included in the root of your TWiki distribution.
    58 <p />
    59 Upgrading from a recent TWiki4 release is much simpler. Upgraders from earlier TWiki4 versions can follow the steps described in <a href="" title="'TWiki.UpgradingTWiki04x00PatchReleases' on" class="interwikiLink">TWiki:TWiki.UpgradingTWiki04x00PatchReleases</a> to ensure a safe upgrade without accidently overwriting customizations.
    60 <p />
    61 One of the more difficult tasks is installation of addition CPAN libraries. See <a href="" title="'TWiki.HowToInstallCpanModules' on" class="interwikiLink">TWiki:TWiki.HowToInstallCpanModules</a> for detailed information on how to install CPAN libraries.
    62 <p />
    63 If you need help, ask a question in the <a href="" title="'Support' on" class="interwikiLink">TWiki:Support</a> web or on <a href="" title="'Codev.TWikiIRC' on" class="interwikiLink">TWiki:Codev.TWikiIRC</a> (, channel #twiki) 
    64 <p />
    65 <a name="StandardInstallation"></a>
    66 <h2><a name="Basic_Installation"></a> Basic Installation </h2>
    67 <p /> <ol>
    68 <li> <strong>Download</strong> the TWiki distribution from <a href="" target="_top"></a>.
    69 </li> <li> <strong>Make a directory</strong> for the installation and <strong>unpack the distribution</strong> in it. In the rest of this document we assume this directory is called <code>twiki</code>. <ul>
    70 <li> <strong>Note!</strong> that TWiki does not allow spaces in the directory names. Especially on Windows make sure to use a directory path without spaces.
    71 </li></ul> 
    72 </li> <li> <strong>Setup access file and directory rights</strong> to enable the webserver user (the user Apache runs the CGI scripts as) to read and write inside the twiki directory. <ul>
    73 <li> <strong>Warning!</strong> Do not just just run a <code>chmod -R 770 twiki</code>. The access rules have different meaning for files and directories. This is the most common mistake installers make.
    74 </li> <li> The distribution tgz has the file and directory access rights setup to work with a reasonable security level that will work for all types of installations including shared hosting.
    75 </li> <li> The ownership of the twiki directory tree is normally set to the user that unpacked the tgz and will have to be changed to the webserver user using the command <code>chown -R user:group /path/to/twiki</code>. The webserver username varies from Distributions. Examples for some major distributions: <ul>
    76 <li> RedHat, Fedora, CentOS, Gentoo, Mandriva : <code>chown -R apache:apache /path/to/twiki</code>
    77 </li> <li> debian/Ubuntu/Kubunto : <code>chown -R www-data:www-data /path/to/twiki</code>
    78 </li> <li> Suse : <code>chown -R wwwrun:www /path/to/twiki</code>
    79 </li></ul> 
    80 </li> <li> If you mistakenly change the access rights in a way that makes TWiki stop working, simply run the script found at <a href="" title="'TWiki.SettingFileAccessRightsLinuxUnix' on" class="interwikiLink">TWiki:TWiki.SettingFileAccessRightsLinuxUnix</a> to set the access right of the entire TWiki tree back to the distributed defaults.
    81 </li> <li> It is possible to define tighter access rules than the ones given by default after the installation is complete. But how tight they should be depends on your distribution and local needs. Typically you may want to limit all access from world if the webserver machine has login access for other users than root and the web server administrator. For a dedicated web server made just for running TWiki with limited login access the default access rights have a good safety level.
    82 </li></ul> 
    83 </li> <li> <strong>Check the Perl installation</strong>. Ensure that Perl 5 and the Perl CGI library are installed on your system. <ul>
    84 <li> The default location of Perl is <code>/usr/bin/perl</code>. <strong>If it's somewhere else</strong>, change the path to Perl in the first line of each script in the <code>twiki/bin</code> directory.
    85 </li> <li> Some systems require a special extension on perl scripts (e.g. <code>.cgi</code> or <code>.pl</code>). This is normally only needed under Windows and only where perl scripts are only recognized by file extension. Linux and Unix users should normally never need to do this. If necessary, rename all files in <code>twiki/bin</code>  (i.e. rename <code>view</code> to <code></code> etc). If you do this, make sure you set the <code>ScriptSuffix</code> option in <code>configure</code> (Step 6).
    86 </li></ul> 
    87 </li> <li> <strong>Create the file LocalLib.cfg</strong> located as <code>twiki/bin/LocalLib.cfg</code> <ul>
    88 <li> There is a template for this file in <code>twiki/bin/LocalLib.cfg.txt</code>. Simply copy <span class="twikiNewLink">LocalLib<a href="" rel="nofollow" title="Create this topic">?</a></span> .cfg.txt to <span class="twikiNewLink">LocalLib<a href="" rel="nofollow" title="Create this topic">?</a></span> .cfg. Make sure the ownership and access rights of the copy are the same as <span class="twikiNewLink">LocalLib<a href="" rel="nofollow" title="Create this topic">?</a></span> .cfg.txt
    89 </li> <li> The file <code>twiki/bin/LocalLib.cfg</code> must contain a setting for <code>$twikiLibPath</code>, which must point to the absolute file path of your <code>twiki/lib</code> e.g. <code>/var/www/twiki/lib</code>.<br />
    90 </li> <li> If you need to install additional <a href="" target="_top">CPAN</a> modules, but can't update the main Perl installation files on the server, you can set <code>$CPANBASE</code> to point to your personal <a href="" target="_top">CPAN</a> install. Don't forget that the webserver user has to be able to read those files as well.
    91 </li></ul> 
    92 </li> <li> <strong>Choose best configuration method</strong> for your webserver. There are two ways to configure Apache: config file included from httpd.conf or .htaccess files <ul>
    93 <li> Apache config file: The recommended method is using a config file. With a config file you can put the entire TWiki configuration in ONE file (typically named <code>twiki.conf</code>). Performance is much better with a config file, and one file gives the best overview and ensures that you get a safe installation . However using a config file requires that you can restart Apache which again means that you need root or sudo access to stop and start Apache. The TWiki apache config file is included from the main Apache config file http.conf. Most distributions have a directory from which any file that ends with <code>.conf</code> gets included when you restart Apache (Example RedHat/Fedora/Centos: /etc/httpd/conf.d). If you use a virtual host setup in Apache you should include the twiki.conf file from inside the desired virtual host config in your Apache configuration.
    94 </li> <li> .htaccess file: This should only be used when you cannot use a config file. Performance is slowed down because Apache has to look through <em>all</em> directories in search for possible .htaccess files each time someone views a page in TWiki. Normally this is the only way to control Apache in a shared host environment where you have no root or sudo priviledges.
    95 </li></ul> 
    96 </li> <li> <strong>Configure the webserver</strong> <ul>
    97 <li> Unless you are an Apache expert setting up the webserver can be quite difficult. But TWiki has three resources that make setting up Apache easier. <ul>
    98 <li> The best and easiest way is to use webpage <a href="" title="'TWiki.ApacheConfigGenerator' on" class="interwikiLink">TWiki:TWiki.ApacheConfigGenerator</a> which contains a tool that can generate a safe and working config file for TWiki on Apache.
    99 </li> <li> In the root of the twiki installation you find an example config file <code>twiki_httpd_conf.txt</code>
   100 </li> <li> In the root of the twiki installation and in the <code>twiki/bin</code> directory you find example <code>.htaccess</code> files you can copy and modify. The files contains help text explaining how to set them up. In <code>twiki/bin</code> you find <code>.htaccess.txt</code> which can be copied to <code>.htaccess</code> and defined access to the CGI scripts. In the root of TWiki you find <code>pub-htaccess.txt</code> which you can copy to <code>pub/.htaccess</code>, <code>subdir-htaccess.txt</code> which you can copy to all directories as <code>.htaccess</code> except bin and pub, and you find <code>root-htaccess.txt</code> which you can copy to <code>.htaccess</code> in the twiki root directory. But again only use .htaccess files if you do not have root priviledges.
   101 </li></ul> 
   102 </li> <li> If you are unsure about how to do this on your system, see <a href="" title="'TWiki.InstallingTWiki#OtherPlatforms' on" class="interwikiLink">TWiki:TWiki.InstallingTWiki#OtherPlatforms</a> for links to information about various server setups.
   103 </li> <li> <strong>Note!</strong> When you use config files you need to restart Apache each time you change a setting to make the new setting active.
   104 </li></ul> 
   105 </li> <li> <strong>Protect the configure script</strong> <ul>
   106 <li> You should never leave the <code>configure</code> script open to the public. Limit access to the <code>twiki/bin/configure</code> script to either localhost, an IP address or a specific user using basic Apache authentication. The <a href="" title="'TWiki.ApacheConfigGenerator' on" class="interwikiLink">TWiki:TWiki.ApacheConfigGenerator</a> lets you setup who has access to the configure script. Also the example twiki-httpd-conf.txt and bin/.htaccess.txt files includes the needed setting to protect the configure script.
   107 </li> <li> If you limit the access to a particular user then you need to setup a .htpasswd file that contains the user name and password that Apache will authenticate against. Per default both <a href="" title="'TWiki.ApacheConfigGenerator' on" class="interwikiLink">TWiki:TWiki.ApacheConfigGenerator</a> and the example config files and .htaccess files uses <code>twiki/data/.htpasswd</code> but this file does not exist until you have TWiki running and have registered the first user. You therefore have two options. Either limit the access to localhost or an IP address, or make a .htpasswd file. To make a .htpasswd file change directory to <code>twiki/data</code> and issue the command <code>htpasswd -c .htpasswd username</code> and enter your password when asked. The username must match the <code>Require user username</code> directive in the Apache config file or .htaccess file. Do not use a username you will later use to register in TWiki because TWiki will then claim that you are already registered.
   108 </li></ul> 
   109 </li> <li> <strong>Run the <code>configure</code> script</strong> from your browser (enter <code>http://yourdomain/twiki/bin/configure</code> into your browser address bar) <ul>
   110 <li> Resolve any errors or warnings it tells you about.
   111 </li> <li> <strong>Note!</strong> When you run <code>configure</code> for the first time, you can only edit the section <code>General Path Settings</code>. Save these settings, and then return to <code>configure</code> to continue configuration.
   112 </li> <li> If your webserver can be accessed by more than one domain name make sure to add the additional alternative URLs to <code>{PermittedRedirectHostUrls}</code>
   113 </li> <li> When you return to configure you now need to setup <em>Mail and Proxies</em>. Especially the <code>{WebMasterEmail}</code>, and <code>{SMTP}{MAILHOST}</code> must be defined to enable TWiki to send registration emails. Many ISPs have introduced authentication when sending emails to fight spam so you may also have to set <code>{SMTP}{Username}</code> and <code>{SMTP}{Password}</code>. If you do not want to enable mailing or want to enable it later you can uncheck <code>{EnableEmail}</code>.
   114 </li></ul> 
   115 </li></ol> 
   116 <p />
   117 You now have a basic, unauthenticated installation running. At this point you can just point your Web browser at <code></code> and start TWiki-ing away!
   118 <p />
   119 <h2><a name="Important_Server_Security_Settin"></a> Important Server Security Settings </h2>
   120 Before you continue any further there are some basic and very important security settings you have to make sure are set correctly.
   121 <p /> <ul>
   122 <li> As already described above you should protect the configure script from general access. The configure script is designed for use by administrators only and should be restricted to invocation by them only, by using the basic Apache authentication. Because of this there has not been put much effort into hardening the script. The configure script cannot save any settings once the password has been saved the first time, but the script could still be vulnerable to specially crafted field values and the script reveals many details about the webserver that you should not display in public.
   123 </li> <li> You absolutely must turn off any kind of PHP, Perl, Python, Server Side Includes etc in the <code>pub</code> directory. TWiki has some built-in protection which renames files with dangerous filenames by appending .txt to the filename. But this is a secondary security measure. The essential action that you must take is to turn off any possible execution of any of the attached files.<br /> Most Linux distributions have a default Apache installation which has PHP and server side include (SSI) enabled.
   124 </li> <li> Make sure that you deny access to all other twiki directories than the <code>bin</code> and <code>pub</code> directories. When you have access to the Apache config files the <code>twiki_httpd_conf.txt</code> file mentioned above also contains protection of these directories.<br />     For those that do not have access to the Apache config files a sample <code>subdir-htaccess.txt</code> file can be copied as <code>.htaccess</code> to the data, lib, locale, templates, tools and working directories.
   125 </li></ul> 
   126 <p />
   127 The <a href="" title="'TWiki.ApacheConfigGenerator' on" class="interwikiLink">TWiki:TWiki.ApacheConfigGenerator</a> as well as the example <code>twiki_httpd_conf.txt</code> and example <code>htaccess.txt</code> files include the needed settings that protect against all 3 security elements.
   128 <p />
   129 <h2><a name="Next_Steps"></a> Next Steps </h2>
   130 <p />
   131 Once you have TWiki installed and running, you might consider the following optional steps for setting up and customizing your TWiki site. Many of the references below refer to topics within your TWiki installation. For example, <code>TWiki.TWikiSkins</code> refers to the <code>TWikiSkins</code> topic in your TWiki web. Easy way to jump directly to view the pages is to open your own TWiki in your browser and write <code>TWiki.TWikiSkins</code> in the Jump test box to the right in the top bar and hit Enter. You can find these topics in the on-line reference copy at the official TWiki website: <a href="" title="'TWiki04x02.WebHome' on" class="interwikiLink">TWiki Release 4.2</a>
   132 <p />
   133 <a name="AuthenticationOfUsers"></a>
   134 <h2><a name="Enable_Authentication_of_Users"></a> Enable Authentication of Users </h2>
   135 <p />
   136 This step provides for site access control and user activity tracking on your TWiki site. <strong><em>This is particularly important for sites that are publicly accessible on the web.</em></strong> This guide describes only the most common of several possible authentication setups for TWiki and is suitable for public web sites. For information about other setups, see <code>TWiki.TWikiUserAuthentication</code>, and <a href="" title="'TWiki.TWikiUserAuthenticationSupplement' on" class="interwikiLink">TWiki:TWiki.TWikiUserAuthenticationSupplement</a>.
   137 <p />
   138 These are the steps for enabling "Template Login" which asks for a username and password in a web page, and processes them using the Apache 'htpasswd' password manager. Users can log in and log out.
   139 <p /> <ol>
   140 <li> Under the <code>Security Settings</code> pane of <code>configure</code> : <ol>
   141 <li> Select <code>TWiki::Client::TemplateLogin</code> for <code>{LoginManager}</code>.
   142 </li> <li> Select <code>TWiki::Users::HtPasswdUser</code> for <code>{PasswordManager}</code>.
   143 </li> <li> Save your <code>configure</code> settings.
   144 </li> <li> Register yourself using the <code>TWiki.TWikiRegistration</code> topic.<br />      Check that the password manager recognizes the new user. Check that a new line with the username and encrypted password is added to the <code>data/.htpasswd</code> file. If not, you probably got a path wrong, or the permissions may not allow the webserver user to write to that file.
   145 </li></ol> 
   146 </li> <li> Edit a topic (by clicking on the <code>Edit</code> link at beginning or end of topic) to check if authentication works.
   147 </li></ol> 
   148 <p />
   149 You are strongly encouraged to read <code>TWiki.TWikiUserAuthentication</code>, <a href="" title="'TWiki.TWikiUserAuthenticationSupplement' on" class="interwikiLink">TWiki:TWiki.TWikiUserAuthenticationSupplement</a>, and <a href="" title="'TWiki.SecuringTWikiSite' on" class="interwikiLink">TWiki:TWiki.SecuringTWikiSite</a> for further information about managing users and security of your TWiki site.
   150 <p />
   151 <strong>Note!</strong> The other <code>LoginManager</code> option <code>TWiki::Client::ApacheLogin</code> uses a basic Apache type authentication where the browser itself prompts you for username and password. Most will find the TemplateLogin looking nicer. But ApacheLogin is required when you use Apache authentication methods like mod_ldap where all authentication is handled by an Apache module and not by the TWiki perl code. When you use ApacheLogin the apache configuration must be set up to require authentication of the some but not all the scripts in the bin directory. This section in the Apache config (or .htaccess) controls this
   152 <p />
   153 <pre>
   154 &#60;FilesMatch &#34;(attach&#124;edit&#124;manage&#124;rename&#124;save&#124;upload&#124;mail&#124;logon&#124;rest&#124;.&#42;auth).&#42;&#34;&#62;
   155    require valid-user
   156 &#60;/FilesMatch&#62;
   157 </pre>
   158 <p />
   159 The <a href="" title="'TWiki.ApacheConfigGenerator' on" class="interwikiLink">TWiki:TWiki.ApacheConfigGenerator</a> includes this section when you choose <em>ApacheLogin</em>. In the example <code>twiki_httpd_conf.txt</code> and <code>bin/.htaccess.txt</code> files this section is commented out with #. Uncomment the section when you use <em>ApacheLogin</em>. It is important that this section is commented out or removed when you use <em>TemplateLogin</em>.
   160 <p />
   161 <a name="DefineAdminUser"></a>   
   162 <h2><a name="Define_the_Administrator_User_s"></a><a name="Define_the_Administrator_User_s_"></a> Define the Administrator User(s) </h2>
   163 <p />
   164 Administrators have read and write access to any topic in TWiki, irrespectively of TWiki access controls. When you install TWiki one of the first things you will want to do is define yourself as an administrator. You become an administrator simply by adding yourself to the <code>TWikiAdminGroup</code>. It is the <a href="" class="twikiLink">WikiName</a> and not the login name you add to the group. Editing the <code>Main.TWikiAdminGroup</code> topic requires that you are an administrator. So to add the first administrator you need to login using the internal TWiki admin user login and the password you defined in configure.
   165 <p /> <ul>
   166 <li> Navigate to the <code>Main.TWikiAdminGroup</code> topic
   167 </li> <li> Follow carefully the steps <code>Main.TWikiAdminGroup</code> of how to become an admin
   168 </li> <li> Note that if you use <em>ApacheLogin</em> you have to be registered and logged in before you use the <em>internal admin login</em>
   169 </li></ul> 
   170 <p />
   171 <a name="SetPreferences"></a>
   172 <h2><a name="Set_TWiki_Preferences"></a> Set TWiki Preferences </h2>
   173 <p />
   174 Preferences for customizing many aspects of TWiki are set simply by editing a special topic with TWiki.
   175 <p /> <ul>
   176 <li> <code>TWiki.TWikiPreferences</code>. Read through it and identify any additional settings or changes you think you might need. You can edit the settings in <code>TWiki.TWikiPreferences</code> but these will be overwritten when you later upgrade to a newer TWiki version. Instead copy any settings or variables that you want to customize from <code>TWiki.TWikiPreferences</code> and paste them into <code>Main.TWikiPreferences</code>.  When you later upgrade TWiki simply avoid overwriting the <code>data/Main/TWikiPreferences.txt</code> file and all your settings will be kept. Settings in <code>Main.TWikiPreferences</code> overrides settings in both <code>TWiki.TWikiPreferences</code> and any settings defined in Plugin topics. See notes at top of <code>TWiki.TWikiPreferences</code> for more information.
   177 </li></ul> 
   178 <p />
   179 <h2><a name="Enable_Email_Notification"></a> Enable Email Notification </h2>
   180 <p />
   181 Each TWiki web has an automatic email notification service that sends you an email with links to all of the topics modified since the last alert. To enable this service: <ol>
   182 <li> Confirm the Mail and Proxies settings in the Configure interface.
   183 </li> <li> Setup a cron job (or equivalent) to call the <code>tools/mailnotify</code> script as described in the <code>TWiki.MailerContrib</code> topic.
   184 </li></ol> 
   185 <p />
   186 <h2><a name="Enable_WebStatistics"></a> Enable WebStatistics </h2>
   187 <p />
   188 You can generate a listing manually, or on an automated schedule, of visits to individual pages, on a per web basis. For information on setting up this feature, see the <code>TWiki.TWikiSiteTools</code> topic.
   189 <p />
   190 <h2><a name="Automate_removal_of_expired_sess"></a> Automate removal of expired sessions and lease files </h2>
   191 <p />
   192 Per default TWiki cleans out expired session and lease files each time any topic is viewed. This however cost performance. It is an advantage to define a negative value in <code>configure</code> for {Sessions}{ExpireAfter} and install let cron run the <code>tools/</code> script. Read The topic <code>TWikiScripts#tick_twiki_pl</code> for details how to do this.
   193 <p />
   194 <h2><a name="Enable_Localisation"></a> Enable Localisation </h2>
   195 <p />
   196 TWiki now supports displaying of national (non-ascii) characters and presentation of basic interface elements in different languages. To enable these features, see the <code>Localisation</code> section of <code>configure</code>. For more information about these features, see <a href="" title="'TWiki.InternationalizationSupplement' on" class="interwikiLink">TWiki:TWiki.InternationalizationSupplement</a>.
   197 <p />
   198 <a name="TailorUsersTopic"></a>
   199 <h2><a name="Tailor_New_Users_Home_Topic"></a> Tailor New Users Home Topic </h2>
   200 <p />
   201 When a new users registers on your TWiki, a home topic is created for them based on the <code>TWiki.NewUserTemplate</code> topic (and its <code>TWiki.UserForm</code>). It contains additional resources you can use to: <ul>
   202 <li> Localise the user topic.
   203 </li> <li> Add a default ALLOWTOPICCHANGE so only the user can edit their own home topic. We do not encourage this for Intranet sites as it sends a wrong signal to new users, but it can be necessary on a public TWiki to prevent spam.
   204 </li> <li> Add and remove fields defined in the <code>TWiki.UserForm</code>
   205 </li></ul> 
   206 <p />
   207 If you choose to tailor anything you are strongly adviced to copy <code>NewUserTemplate</code> and <code>UserForm</code> to the Main web and tailor the Main web copies. TWiki will look for the <code>NewUserTemplate</code> in the Main web first and if it does not exist it uses the default from the TWiki web. By creating a <code>Main.NewUserTemplate</code> and its <code>Main.UserForm</code> you will not loose your tailorings next time you upgrade TWiki.
   208 <p />
   209 If you added or removed fields from the user form you may also need to tailor <code>TWiki.TWikiRegistration</code>.
   210 <p />
   211 <h2><a name="Install_Plugins"></a> Install Plugins </h2>
   212 <a href="" title="'Plugins' on" class="interwikiLink">TWiki:Plugins</a> is an extensive library of Plugins for TWiki, that enhance functionality in a huge number of ways. A few plugins are pre-installed in the TWiki distribution. For more information on these, see <code>TWiki.InstalledPlugins</code>.
   213 <p />
   214 You activate installed plugin in the <em>Plugins</em> section of <code>configure</code>. In this section you also find a <em>Find More Extensions</em> button which opens an application which can install additional plugins from the website. If you are behind a firewall or your server has no access to the Internet it is also possible to install plugins manually. Manual installation instructions for the plugins can be found in the plugin topics on Additional documenation on TWiki plugins can be found at <a href="" title="'TWiki.TWikiPluginsSupplement' on" class="interwikiLink">TWiki:TWiki.TWikiPluginsSupplement</a>.
   215 <p />
   216 Some plugins require that you define their settings in <code>configure</code>. You fill find these under the <em>Extensions</em> section of configure.
   217 <p />
   218 <h2><a name="Customize_Your_TWiki"></a><a name="Customize_Your_TWiki_"></a> Customize Your TWiki! </h2>
   219 <p />
   220 The real power of TWiki lies in it's flexibility to be customized to meet your needs. You can with small means change the looks of the default skin (called PatternSkin) by reading the <code>TWiki.PatternSkinCustomization</code>
   221 <p />
   222 At the official TWiki website you can find more resources. A good place to start for exploring what's possible is <a href="" title="'TWiki/TWikiAdminCookBook' on">TWiki:TWiki.TWikiAdminCookBook</a> which offers tips and tricks for customizing your TWiki site. Many of these are appropriate to implement immediately after installing TWiki and before adding content so now's a good time to look at these.
   223 <p />
   224 <h2><a name="Customization_of_Special_Pages"></a> Customization of Special Pages </h2>
   225 <p />
   226 Some pages are meant to be customized after choice of authentication. If you do not use the internal TWiki password manager the topics that contains the features for changing and resetting passwords and changing the email address should be changed to a note describing how to perform these tasks in your organization. The topics are:
   227 <p /> <ul>
   228 <li> <code>TWiki.ChangePassword</code>
   229 </li> <li> <code>TWiki.ResetPassword</code>
   230 </li> <li> <code>TWiki.ChangeEmailAddress</code>
   231 </li></ul> 
   232 <p />
   233 <h2><a name="WYSIWYG_vs_Raw_Edit"></a> WYSIWYG vs Raw Edit </h2>
   234 <p />
   235 From TWiki release 4.2.0 the WYSIWYG editor has been replaced by a much better and more powerful editor and it was decided that WYSIWYG would be the default edit mode. An Edit Raw link is available for those that have a need or preference for this mode.
   236 <p />
   237 However you may prefer to have the same user interface as in TWiki 4.1 where <em>Edit</em> was the raw text editor and you had a WYSIWYG button. You can modify the templates that define the buttons by following the description on <a href="" title="'Codev.TWikiRawEditDefault04x02' on" class="interwikiLink">TWiki:Codev.TWikiRawEditDefault04x02</a>.
   238 <p />
   239 <h2><a name="Copyright_License_and_Classifica"></a> Copyright, License and Classification Statements </h2>
   240 <p />
   241 In the bottom of each topic you will find a default copyright messages saying "Copyright &amp;&copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors." It is a setting WEBCOPYRIGHT that defines this. This is often not adequate.
   242 <p /> <ul>
   243 <li> If your TWiki is used in a commercial application without public access you should replace this by your normal copyright notice. You should also consider adding classifications (e.g. For Internal Use Only) so people do not have to add this manually to every new topic.
   244 </li> <li> If your TWiki is public with public access you need to decide which copyright and license the contributions should be covered by. For open source type applications licenses such as <a href="">the GNU Free Documentation License</a>, <a href="">FreeBSD Documentation License</a>, and <a href="">Creative Commons license</a> are possible licenses to consider. Remember that once people have started contributing it is difficult and not correct to change or impose licenses on existing contributions.
   245 </li></ul> 
   246 <p />
   247 You change the copy right statement globally by taking these steps.
   248 <p /> <ul>
   249 <li> Copy the setting WEBCOPYRIGHT from <code>TWiki.TWikiPreferences</code> to <code>Main.TWikiPreferences</code> and alter the copied text to your need.
   250 </li> <li> You can create a unique message for each web by adding the WEBCOPYRIGHT setting to <code>WebPreferences</code> in each web. E.g. adding a confidencial classification to a very restricted web.
   251 </li> <li> The WEBCOPYRIGHT in <code>TWiki.WebPreferences</code> covers the documentation that comes with TWiki and is covered by the original TWiki Copyright and GPL License. You will normally leave this unchanged.
   252 </li></ul> 
   253 <p />
   254 <h2><a name="Troubleshooting"></a> Troubleshooting </h2>
   255 <p />
   256 The first step is to re-run the <code>configure</code> script and make sure you have resolved all errors, and are satisfied that you understand any warnings.
   257 <p />
   258 Failing that, please check <b><a href="" title="'TWiki.InstallingTWiki' on">TWiki:TWiki.InstallingTWiki</a></b> on, the supplemental documentation that help you <b>install TWiki on different platforms, environments and web hosting sites</b>. For example: <ul>
   259 <li> For Unix or Linux, check <a href="" title="'Codev/TWikiOnUnix' on">TWiki:Codev.TWikiOnUnix</a> and <a href="" title="'Codev/TWikiOnLinux' on">TWiki:Codev.TWikiOnLinux</a>.
   260 </li> <li> For Windows, check the <a href="" title="'Codev/WindowsInstallCookbook' on">TWiki:Codev.WindowsInstallCookbook</a>. 
   261 </li> <li> For MacOS X, check <a href="" title="'Codev.TWikiOnMacOSX' on" class="interwikiLink">TWiki:Codev.TWikiOnMacOSX</a>.
   262 </li></ul> 
   263 <p />
   264 It is also advisable to review <a href="" title="'Codev.KnownIssuesOfTWiki04x02' on" class="interwikiLink">TWiki:Codev.KnownIssuesOfTWiki04x02</a>.
   265 <p />
   266 If you need help, ask a question in the <a href="" title="'Support' on" class="interwikiLink">TWiki:Support</a> web or on <a href="" title="'Codev/TWikiIRC' on" class="interwikiLink">TWiki:Codev/TWikiIRC</a> (, channel #twiki)
   267 <p />
   268 <h2><a name="Appendices"></a> Appendices </h2>
   269 <p />
   270 <p />
   271 <a name="SystemRequirements"></a>
   272 <h2><a name="TWiki_System_Requirements"></a> TWiki System Requirements </h2>
   273 <p />
   274 Low client and server base requirements are core features that keep TWiki widely deployable, particularly across a range of browser platforms and versions. 
   275 <p />
   276 <h3><a name="Server_Requirements"></a> Server Requirements </h3>
   277 <p />
   278 TWiki is written in Perl 5, uses a number of shell commands, and requires <a href="" rel="nofollow" target="_top">RCS (Revision Control System)</a>, a GNU Free Software package. TWiki is developed in a basic Linux/Apache environment. It also works with Microsoft Windows, and should have no problem on any other platform that meets the requirements.
   279 <p />
   280 <p />
   281 <table cellspacing="0" id="table1" cellpadding="0" class="twikiTable" rules="rows" border="1">
   282 	<thead>
   283 		<tr class="twikiTableOdd twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   284 			<th bgcolor="#687684" valign="top" class="twikiTableCol0 twikiFirstCol"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=0;table=1;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Resource</font></a> </th>
   285 			<th bgcolor="#687684" valign="top" class="twikiTableCol1 twikiLastCol"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=1;table=1;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Required Server Environment</font></a> </th>
   286 		</tr>
   287 	</thead>
   288 	<tbody>
   289 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   290 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Perl </td>
   291 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol"> 5.8.4 or higher is recommended </td>
   292 		</tr>
   293 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   294 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> RCS </td>
   295 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1 twikiLastCol"> 5.7 or higher (including GNU <code>diff</code>) <br /> Optional, TWiki includes a pure perl implementation of RCS that can be used instead (although it's slower) </td>
   296 		</tr>
   297 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   298 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> GNU <code>diff</code> </td>
   299 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol"> GNU <code>diff</code> 2.7 or higher is required when not using the all-Perl <span class="twikiNewLink">RcsLite<a href="" rel="nofollow" title="Create this topic">?</a></span> .  <br /> Install on PATH if not included with RCS (check version with <code>diff -v</code>)  <br /> Must be the version used by RCS, to avoid problems with binary attachments - RCS may have hard-coded path to <code>diff</code> </td>
   300 		</tr>
   301 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   302 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> Other external programs </td>
   303 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1 twikiLastCol"> <code>fgrep, egrep</code> </td>
   304 		</tr>
   305 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   306 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Cron/scheduler </td>
   307 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol"> &#8226; Unix: <code>cron</code> <br />&#8226; Windows: <code>cron</code> equivalents <!-- SMELL: Macintosh version? --> </td>
   308 		</tr>
   309 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   310 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol twikiLast"> Web server </td>
   311 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1 twikiLastCol twikiLast"> Apache is well supported; for information on other servers, see <a href="" title="'TWiki.InstallingTWiki#OtherWebServers' on">TWiki:TWiki.InstallingTWiki#OtherWebServers</a>. </td>
   312 		</tr>
   313 	</tbody></table>
   314 <p />
   315 <h3><a name="Required_CPAN_Modules"></a> Required CPAN Modules </h3>
   316 <p />
   317 Most of the CPAN libraries listesd below are part of a standard Perl installation so you most likely have them all!
   318 <p />
   319 See <a href="" title="'TWiki/HowToInstallCpanModules' on">TWiki:TWiki.HowToInstallCpanModules</a> for detailed information on how to install CPAN libraries
   320 <p />
   321 <p />
   322 <p />
   323 The following Perl <a href="" rel="nofollow" target="_top">CPAN</a> modules are used by TWiki:
   324 <p />
   325 <table cellspacing="0" id="table2" cellpadding="0" class="twikiTable" rules="rows" border="1">
   326 	<thead>
   327 		<tr class="twikiTableOdd twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   328 			<th bgcolor="#687684" valign="top" class="twikiTableCol0 twikiFirstCol"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=0;table=2;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Module</font></a> </th>
   329 			<th bgcolor="#687684" valign="top" class="twikiTableCol1 twikiLastCol"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=1;table=2;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Preferred version</font></a> </th>
   330 		</tr>
   331 	</thead>
   332 	<tbody>
   333 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   334 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Algorithm::Diff (included) </td>
   335 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol"> &nbsp; </td>
   336 		</tr>
   337 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   338 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> CGI::Carp </td>
   339 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1 twikiLastCol"> &gt;=1.26 </td>
   340 		</tr>
   341 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   342 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Config </td>
   343 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol"> &gt;=0 </td>
   344 		</tr>
   345 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   346 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> Cwd </td>
   347 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1 twikiLastCol"> &gt;=3.05 </td>
   348 		</tr>
   349 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   350 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Data::Dumper </td>
   351 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol"> &gt;=2.121 </td>
   352 		</tr>
   353 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   354 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> Error (included) </td>
   355 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1 twikiLastCol"> &nbsp; </td>
   356 		</tr>
   357 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   358 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> File::Copy </td>
   359 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol"> &gt;=2.06 </td>
   360 		</tr>
   361 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   362 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> File::Find </td>
   363 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1 twikiLastCol"> &gt;=1.05 </td>
   364 		</tr>
   365 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   366 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> File::Spec </td>
   367 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol"> &gt;=3.05 </td>
   368 		</tr>
   369 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   370 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> FileHandle </td>
   371 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1 twikiLastCol"> &gt;=2.01 </td>
   372 		</tr>
   373 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   374 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> IO::File </td>
   375 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol"> &gt;=1.10 </td>
   376 		</tr>
   377 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   378 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> Text::Diff (included) </td>
   379 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1 twikiLastCol"> &nbsp; </td>
   380 		</tr>
   381 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   382 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol twikiLast"> Time::Local </td>
   383 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLastCol twikiLast"> &gt;=1.11 </td>
   384 		</tr>
   385 	</tbody></table>
   386 <p />
   387 <h3><a name="Optional_CPAN_Modules"></a> Optional CPAN Modules </h3>
   388 <p />
   389 The following Perl modules may be used by TWiki:
   390 <p />
   391 See <a href="" title="'TWiki/HowToInstallCpanModules' on">TWiki:TWiki.HowToInstallCpanModules</a> for detailed information on how to install CPAN libraries
   392 <p />
   393 <table cellspacing="0" id="table3" cellpadding="0" class="twikiTable" rules="rows" border="1">
   394 	<thead>
   395 		<tr class="twikiTableOdd twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   396 			<th bgcolor="#687684" valign="top" class="twikiTableCol0 twikiFirstCol"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=0;table=3;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Module</font></a> </th>
   397 			<th bgcolor="#687684" valign="top" class="twikiTableCol1"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=1;table=3;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Preferred version</font></a> </th>
   398 			<th bgcolor="#687684" valign="top" class="twikiTableCol2 twikiLastCol"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=2;table=3;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Description</font></a> </th>
   399 		</tr>
   400 	</thead>
   401 	<tbody>
   402 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   403 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Archive::Tar </td>
   404 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> &nbsp; </td>
   405 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2 twikiLastCol"> May be required by the Extensions Installer in configure if command line tar or unzip is not available </td>
   406 		</tr>
   407 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   408 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> CGI::Cookie </td>
   409 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> &gt;=1.24 </td>
   410 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2 twikiLastCol"> Used for session support </td>
   411 		</tr>
   412 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   413 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> CGI::Session </td>
   414 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> &gt;=3.95 </td>
   415 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2 twikiLastCol"> Highly recommended! Used for session support </td>
   416 		</tr>
   417 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   418 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> Digest::base </td>
   419 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> &nbsp; </td>
   420 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2 twikiLastCol"> &nbsp; </td>
   421 		</tr>
   422 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   423 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Digest::SHA1 </td>
   424 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> &nbsp; </td>
   425 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2 twikiLastCol"> &nbsp; </td>
   426 		</tr>
   427 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   428 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> Jcode </td>
   429 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> &nbsp; </td>
   430 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2 twikiLastCol"> Used for I18N support with perl 5.6 </td>
   431 		</tr>
   432 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   433 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Locale::Maketext::Lexicon </td>
   434 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> &gt;=0 </td>
   435 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2 twikiLastCol"> Used for I18N support </td>
   436 		</tr>
   437 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   438 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> Net::SMTP </td>
   439 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> &gt;=2.29 </td>
   440 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2 twikiLastCol"> Used for sending mail </td>
   441 		</tr>
   442 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   443 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Unicode::Map </td>
   444 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> &nbsp; </td>
   445 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2 twikiLastCol"> Used for I18N support with perl 5.6 </td>
   446 		</tr>
   447 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   448 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> Unicode::Map8 </td>
   449 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> &nbsp; </td>
   450 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2 twikiLastCol"> Used for I18N support with perl 5.6 </td>
   451 		</tr>
   452 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   453 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> Unicode::MapUTF8 </td>
   454 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> &nbsp; </td>
   455 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2 twikiLastCol"> Used for I18N support with perl 5.6 </td>
   456 		</tr>
   457 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   458 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> Unicode::String </td>
   459 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> &nbsp; </td>
   460 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2 twikiLastCol"> Used for I18N support with perl 5.6 </td>
   461 		</tr>
   462 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   463 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol twikiLast"> URI </td>
   464 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLast"> &nbsp; </td>
   465 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2 twikiLastCol twikiLast"> Used for configure </td>
   466 		</tr>
   467 	</tbody></table>
   468 <p />
   469 Most of them will probably already be available in your installation. You can check version numbers with the <code>configure</code> script, or if you're still trying to get to that point, check from the command line like this:
   470 <p />
   471 <pre>
   472 perl -e 'use FileHandle; print $FileHandle::VERSION."\n"'
   473 </pre>
   474 <p />
   475 <a name="ClientRequirements"></a>
   476 <h3><a name="Client_Requirements"></a> Client Requirements </h3>
   477 <p />
   478 The TWiki standard installation has relatively low browser requirements:
   479 <p /> <ul>
   480 <li> HTML 3.2 compliant
   481 </li> <li> Cookies, if persistent sessions are required
   482 </li></ul> 
   483 <p />
   484 CSS and Javascript are used in most skins, although there is a low-fat skin (Classic skin) available that minimises these requirements. Some skins will require more recent releases of browsers. The default skin (Pattern) is tested on IE 6, Safari, and Mozilla 5.0 based browsers (such as Firefox).
   485 <p />
   486 You can easily select a balance of browser capability versus look and feel. Try the installed skins at <code>TWiki/TWikiSkinBrowser</code> and more at <a href="" title="'Plugins.SkinPackage' on" class="interwikiLink">TWiki:Plugins.SkinPackage</a>.
   487 <p />
   488 <h3><a name="Important_note_about_TWiki_Plugi"></a> Important note about TWiki Plugins </h3>
   489 <p /> <ul>
   490 <li> Plugins can require just about anything -  browser-specific functions, stylesheets (CSS), Java applets, cookies, specific Perl modules,... - check the individual Plugin specs. <ul>
   491 <li> <strong><em> Note:</em></strong> Plugins included in the TWiki distribution do not add requirements, except for the <a href="" class="twikiLink">CommentPlugin</a> which requires Perl 5.6.1.
   492 </li></ul> 
   493 </li></ul> 
   494 <p />
   495 <a name="NonRootInstallNotes"></a>
   496 <h2><a name="Notes_on_Installing_TWiki_on_Non"></a> Notes on Installing TWiki on Non-Root Account </h2>
   497 <p />
   498 The following supplemental notes to the <a href="#StandardInstallation" class="twikiAnchorLink">Basic Installation</a> instructions apply to installing TWiki on a system where you don't have Unix/Linux root (administrator) privileges, for example, on a hosted Web account or an intranet server administered by someone else.
   499 <p />
   500 Referring to the <a href="#StandardInstallation" class="twikiAnchorLink">Basic Installation</a> steps presented above:
   501 <p /> <ul>
   502 <li> <strong>Step 2:</strong> If you cannot unpack the TWiki distribution directly in your installation directory, you can unpack the distribution on your local PC and then manually create the directory structure on your host server and upload the files as follows: <ul>
   503 <li> Using the table below, create a directory structure on your host server
   504 </li> <li> Upload the TWiki files by FTP (transfer as text except for the image files in <code>pub</code> directory.)
   505 </li> <li> <strong><em>Note:</em></strong> Don't worry if you are not able to put the twiki/lib directory at the same level as the <code>twiki/bin</code> directory (e.g. because CGI bin directories can't be under your home directory and you don't have root access). You can create this directory elsewhere and configure the <code>twiki/bin/setlib.cfg</code> file (done in Step 2).
   506 </li></ul> 
   507 </li></ul> 
   508 <p />
   509 <blockquote>
   510 <p />
   511 <table cellspacing="0" id="table4" cellpadding="0" class="twikiTable" rules="rows" border="1">
   512 	<thead>
   513 		<tr class="twikiTableOdd twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   514 			<th bgcolor="#687684" valign="top" class="twikiTableCol0 twikiFirstCol"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=0;table=4;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">TWiki dir:</font></a> </th>
   515 			<th bgcolor="#687684" valign="top" class="twikiTableCol1"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=1;table=4;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">What it is:</font></a> </th>
   516 			<th bgcolor="#687684" valign="top" class="twikiTableCol2"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=2;table=4;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Where to copy:</font></a> </th>
   517 			<th bgcolor="#687684" valign="top" class="twikiTableCol3 twikiLastCol"> <a rel="nofollow" href="http://localhost/TWiki.TWikiInstallationGuide?keywords=TWiki.TWikiInstallationGuide&amp;amp;keywords=skin&amp;amp;keywords=plain&amp;amp;skin=plain&amp;amp;sortcol=3;table=4;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Example:</font></a> </th>
   518 		</tr>
   519 	</thead>
   520 	<tbody>
   521 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   522 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> <code>twiki</code> </td>
   523 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> start-up pages </td>
   524 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2"> root TWiki dir </td>
   525 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol3 twikiLastCol"> <code>/home/smith/twiki/</code> </td>
   526 		</tr>
   527 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   528 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> <code>twiki/bin</code> </td>
   529 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> CGI bin </td>
   530 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2"> CGI-enabled dir </td>
   531 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol3 twikiLastCol"> <code>/home/smith/twiki/bin</code> </td>
   532 		</tr>
   533 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   534 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> <code>twiki/lib</code> </td>
   535 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> library files </td>
   536 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2"> same level as <code>twiki/bin</code> </td>
   537 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol3 twikiLastCol"> <code>/home/smith/twiki/lib</code> </td>
   538 		</tr>
   539 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   540 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> <code>twiki/locale</code> </td>
   541 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> language files </td>
   542 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2"> dir secure from public access </td>
   543 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol3 twikiLastCol"> <code>/home/smith/twiki/locale</code> </td>
   544 		</tr>
   545 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   546 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> <code>twiki/pub</code> </td>
   547 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> public files </td>
   548 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2"> htdoc enabled dir </td>
   549 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol3 twikiLastCol"> <code>/home/smith/twiki/pub</code> </td>
   550 		</tr>
   551 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   552 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> <code>twiki/data</code> </td>
   553 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> topic data </td>
   554 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2"> dir secure from public access </td>
   555 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol3 twikiLastCol"> <code>/home/smith/twiki/data</code> </td>
   556 		</tr>
   557 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   558 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol"> <code>twiki/templates</code> </td>
   559 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1"> web templates </td>
   560 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2"> dir secure from public access </td>
   561 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol3 twikiLastCol"> <code>/home/smith/twiki/templates</code> </td>
   562 		</tr>
   563 		<tr class="twikiTableOdd twikiTableRowdataBgSorted1 twikiTableRowdataBg1">
   564 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol0 twikiFirstCol"> <code>twiki/tools</code> </td>
   565 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol1"> TWiki utlilities </td>
   566 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol2"> dir secure from public access </td>
   567 			<td bgcolor="#edf4f9" valign="top" class="twikiTableCol3 twikiLastCol"> <code>/home/smith/twiki/tools</code> </td>
   568 		</tr>
   569 		<tr class="twikiTableEven twikiTableRowdataBgSorted0 twikiTableRowdataBg0">
   570 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol0 twikiFirstCol twikiLast"> <code>twiki/working</code> </td>
   571 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol1 twikiLast"> Temporary and internal files </td>
   572 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol2 twikiLast"> dir secure from public access </td>
   573 			<td bgcolor="#ffffff" valign="top" class="twikiTableCol3 twikiLastCol twikiLast"> <code>/home/smith/twiki/working</code> </td>
   574 		</tr>
   575 	</tbody></table>
   576 <p />
   577 </blockquote>
   578 <p /> <ul>
   579 <li> <strong>Step 3:</strong> Files in the pub directory must be readable as a url. This means that directory permissions should be set to <code>755</code> (or <code>775</code> ) and file permissions should be set to <code>644</code> (or <code>664</code>). If you can run a <code>chmod</code> command, you can accomplish this in two quick steps by running these commands from the root direct: <ul>
   580 <li> <code>chmod -R 755 pub</code>
   581 </li> <li> <code>chmod 644 `find pub -type f -print`</code>
   582 </li> <li> In addition, you should create a <code>.htaccess</code> file in the pub directory, using the template included in the root level of the distribution entitled <code>pub-htaccess.txt</code>.
   583 </li> <li> Note: This setup does not provide for absolute security for TWiki attachments. For more information, see <a href="" title="'Codev.SecuringYourTWiki' on" class="interwikiLink">TWiki:Codev.SecuringYourTWiki</a>.
   584 </li></ul> 
   585 </li></ul> 
   586 <p /> <ul>
   587 <li> <strong>Step 6:</strong> In order to run the configure script, create a file called <code>.htaccess</code> in the bin directory that includes the following single line: <code>SetHandler cgi-script</code> . This informs the server to treat all the perl scripts in the bin directory as scripts.
   588 </li></ul> 
   589 <p />
   590 For additional information about installing TWiki on a hosted accounts, see <a href="" title="'TWiki.InstallingTWiki#WebHostingSites' on" class="interwikiLink">TWiki:TWiki.InstallingTWiki#WebHostingSites</a>
   591 <p />
   592 <h2><a name="Installing_Manually_Without_Conf"></a> Installing Manually Without Configure </h2>
   593 <p />
   594 It is highly recommended to use run configure from the browser when setting up TWiki. Configure does a lot of the hard work for you.
   595 <p />
   596 But there may be instances where you do not want to use configure or where configure simply won't run because of a missing dependency.
   597 <p />
   598 The manual steps you have to take are:
   599 <p /> <ul>
   600 <li> Copy the file <code>lib/TWiki.spec</code> to <code>lib/LocalSite.cfg</code>
   601 </li> <li> Remove the comment # in front of <code>$TWiki::cfg{DefaultUrlHost}</code>, <code>$TWiki::cfg{ScriptUrlPath}</code>, <code>$TWiki::cfg{PubUrlPath}</code>, <code>$TWiki::cfg{PubDir}</code>, <code>$TWiki::cfg{TemplateDir}</code>, <code>$TWiki::cfg{DataDir}</code>, <code>$TWiki::cfg{LocalesDir}</code>, and <code>$TWiki::cfg{OS}</code> and make sure these settings have the correct values.
   602 </li> <li> Make sure to define at least these settings: <code>$TWiki::cfg{LoginManager}</code>, <code>$TWiki::cfg{WebMasterEmail}</code>, <code>$TWiki::cfg{SMTP}{MAILHOST}</code>, <code>$TWiki::cfg{SMTP}{SENDERHOST}</code>. 
   603 </li></ul> 
   604 <p />
   605 <p />
   606 <p />
   607 <strong><em>Related Topics:</em></strong> <a href="" class="twikiLink">AdminDocumentationCategory</a>, <a href="" title="'TWiki.InstallingTWiki' on" class="interwikiLink">TWiki:TWiki.InstallingTWiki</a>
   608 <a name="TopicEnd"></a>
   609 <p />
   610 <p />
   611 <p />
   612 <p />
   613 <p />
   614 </div><!--/twikiPage--></body></html>