%META:TOPICINFO{author="TWikiContributor" date="1111929255" format="1.0" version="34"}%
%TOC%
%STARTINCLUDE%
---# TWiki System Requirements

_Server and client requirements_

Low client and server base requirements are core features that keep TWiki widely deployable, particularly across a range of browser platforms and versions.  Many [[TWiki:Plugins.PluginPackage][Plugins]] and [[TWiki:Plugins.ContribPackage][contrib modules]] exist which enhance and expand TWiki's capabilities; they may have additional requirements.

---++ Server Requirements

TWiki is written in Perl 5, uses a number of shell commands, and requires [[http://www.gnu.org/software/rcs/rcs.html][RCS (Revision Control System)]], 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.

| *Resource* | *Required Server Environment *<nop>* |
| Perl | 5.005_03 or higher (5.8.4 or higher is recommended) |
| RCS | 5.7 or higher (including GNU =diff=) %BR% Optional, TWiki includes a pure perl implementation of RCS that can be used instead (although it's slower) |
| GNU =diff= | GNU =diff= 2.7 or higher is required when not using the all-Perl <nop>RcsLite.  %BR% Install on PATH if not included with RCS (check version with =diff -v=)  %BR% Must be the version used by RCS, to avoid problems with binary attachments - RCS may have hard-coded path to =diff= |
| GNU =patch= | For upgrades only: GNU =patch= is required when using the TWiki:Codev.UpgradeTWiki script |
| Other external programs | =fgrep, egrep= |
| Cron/scheduler | %BULLET% Unix: =cron= %BB% Windows: =cron= equivalents <!-- SMELL: Macintosh version? --> |
| Web server | Apache is well supported; see TWiki:TWiki.InstallingTWiki#OtherWebServers for other servers |

---+++ Required CPAN Modules
The following Perl modules are used by TWiki:
| *Module* | *Preferred version* |
| Algorithm::Diff (included) | |
| CGI::Carp | >=1.26 |
| Config | >=0 |
| Cwd | >=3.05 | 
| Data::Dumper | >=2.121 |
| Error (included) | |
| File::Copy | >=2.06 |
| File::Find | >=1.05 |
| File::Spec | >=3.05 |
| File::Temp | (included with perl 5.6 and later) |
| !FileHandle | >=2.01 |
| IO::File | >=1.10 |
| Text::Diff (included) | |
| Time::Local | >=1.11 |

---+++ Optional CPAN Modules
The following Perl modules may be used by TWiki:
| *Module* | *Preferred version* | *Description* |
| CGI::Cookie | >=1.24 | Used for session support |
| CGI::Session | >=3.95 | Used for session support |
| Digest::base | | |
| Digest::SHA1 | | |
| Jcode | | Used for I18N support with perl 5.6 |
| Locale::Maketext::Lexicon | >=0 | Used for I18N support |
| Net::SMTP | >=2.29 | Used for sending mail |
| Unicode::Map | | Used for I18N support with perl 5.6 |
| Unicode::Map8 | | Used for I18N support with perl 5.6 |
| Unicode::MapUTF8 | | Used for I18N support with perl 5.6 |
| Unicode::String | | Used for I18N support with perl 5.6 |
| URI | | Used for configure |

Most of them will probably already be available in your installation. You can check version numbers with the =configure= script, or if you're still trying to get to that point, check from the command line like this:
<verbatim>
perl -e 'use FileHandle; print $FileHandle::VERSION."\n"'
</verbatim>
<!--
SMELL: perhaps put download link to TWiki:Plugins.CpanContrib? (which 
also includes prebuilt versions of all of the CPAN modules used by 
all of the plugins checked into SVN)
-->

#ClientRequirements
---++ Client Requirements

The TWiki [[TWikiInstallationGuide][standard installation]] has relatively low browser requirements:

   * HTML 3.2 compliant
   * Cookies, if persistent sessions are required

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).
<!--
SMELL: what are some actual known good version number requirements for these browsers (eg, FireFox 1.0, or 1.0.3, or 1.0.7, or ???), etc.
-->

You can easily select a balance of browser capability versus look and feel. Try the installed skins at %TWIKIWEB%.TWikiSkinBrowser and more at TWiki:Plugins.SkinPackage.

---++ Important note about TWiki Plugins

   * Plugins can require just about anything -  browser-specific functions, stylesheets (CSS), Java applets, cookies, specific Perl modules,... - check the individual Plugin specs.
      * __%T% Note:__ Plugins included in the TWiki distribution do not add requirements, except for the CommentPlugin which requires Perl 5.6.1.

__Related Topics:__ AdminDocumentationCategory
