NOTE: This is a
DistributionDocument.
- Please help maintain high quality documentation:
This is a wiki, please
fix the documentation if you find errors or incomplete content.
Put questions and suggestions concerning the documentation of this topic in the comments section below.
Use the Support web for problems you are having using TWiki.
Use the Sandbox web to evaluate & test TWiki.
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
Plugins and
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
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 * |
Perl |
5.10.1 or higher |
RCS |
5.7 or higher (including GNU diff ) 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 RcsLite. Install on PATH if not included with RCS (check version with diff -v ) Must be the version used by RCS, to avoid problems with binary attachments - RCS may have hard-coded path to diff |
GNU df |
Used by the site statistics to record disk usage statistics, optional. The df command is pre-installed on Linux and OS-X. On Windows install the CoreUtils for Windows. |
GNU patch |
For upgrades only: GNU patch is required when using the TWiki:Codev.UpgradeTWiki script |
GNU fgrep , egrep |
Modify command line parameters in configure if you use non-GNU grep programs |
zip |
Zip archive command line utility. Used by the BackupRestorePlugin to create and restore from backups. |
Cron/scheduler |
• Unix: cron • Windows: cron equivalents |
Web server |
Apache is well supported; see TWiki:TWiki.InstallingTWiki#OtherWebServers for other servers |
Required CPAN Modules
Most of the CPAN libraries listesd below are part of a standard Perl installation so you most likely have them all!
See
TWiki:TWiki.HowToInstallCpanModules for detailed information on how to install CPAN libraries
The following Perl
CPAN modules are used by TWiki:
Module |
Preferred version |
Comment |
Algorithm::Diff |
|
Included in TWiki distribution |
CGI |
>=3.18 & <=4.03 |
A suitable version ships with TWiki since TWiki-6.0.2 using CgiContrib, e.g. it is no longer necessary to install or downgrade this module. Versions 2.89 and 3.37, as well as version > 4.13 must be avoided. |
CGI::Carp |
>=1.26 |
|
Config |
>=0 |
|
Cwd |
>=3.05 |
|
Data::Dumper |
>=2.121 |
|
Encode |
>=2.1 |
|
Error |
|
Included in TWiki distribution |
File::Copy |
>=2.06 |
|
File::Find |
>=1.05 |
|
File::Spec |
>=3.05 |
|
File::Temp |
>=0.18 |
This version included in Perl 5.9.5. File::Temp needs to be updated on RedHat 5 and CentOS 5. |
FileHandle |
>=2.01 |
|
HTML::Parser |
>=3.28 |
Needed by the WysiwygPlugin for WYSIWYG editing |
HTML::Entities |
>=1.25 |
Needed by the WysiwygPlugin for WYSIWYG editing; part of the HTML::Parser package. |
IO::File |
>=1.10 |
|
LWP |
|
Needed to install extensions in TWiki configure |
Net::SMTP |
>=2.29 |
Used for sending mail |
Text::Diff |
|
Included in TWiki distribution |
Time::Local |
>=1.11 |
|
Optional CPAN Modules
The following Perl modules may be used by TWiki:
See
TWiki:TWiki.HowToInstallCpanModules for detailed information on how to install CPAN libraries
Module |
Preferred version |
Description |
Archive::Tar |
|
May be required by the Extensions Installer in configure if command line tar or unzip is not available |
Authen::SASL |
|
Used for SMTP Authentication |
CGI::Cookie |
>=1.24 |
Used for session support |
CGI::Session |
>=3.95 |
Used for session support |
Crypt::SMIME |
>=0.09 |
Required if S/MIME-signed administrative e-mail is enabled. |
Digest::base |
|
|
Digest::SHA1 |
|
|
JSON |
>=2.0 |
Required if TWikiSheetPlugin is used, or if JSON objects are stored and retrieved in SetGetPlugin |
Locale::Maketext::Lexicon |
>=0 |
Used for I18N support |
Net::SMTP |
>=2.29 |
Used for sending mail |
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:
perl -e 'use FileHandle; print $FileHandle::VERSION."\n"'
Hardware Requirements
TWiki has quite lean hardware requirements. Get at minimum 2 cores CPU and 4GB RAM. Since TWiki runs under CGI, burstable CPU power is beneficial. Disk space depends on the use; 120GB should be sufficient for 100 users for many years.
If you are on Amazon EC2, a t3.medium instance type is sufficient, a t3.large is good. On the Google Cloud, a n1-highcpu-4 machine type is sufficient, a n1-highcpu-8 is good.
Client Requirements
The TWiki
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 minimizes 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).
You can easily select a balance of browser capability versus look and feel. Try the installed skins at
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.
Related Topics: AdminDocumentationCategory
Comments & Questions about this Distribution Document Topic
Would be useful to include a reference to
BrowserIssues (which should really be added to the TWiki docs - let me know best way to do this). I'd also like to discuss adding
WindowsInstallCookbook to the doc set.
We should also recommend Perl 5.6.1, while supporting 5.005_03.
--
RichardDonkin - 24 Mar 2002
Reference to RCS updated to reflect all Perl implementation -
TWiki:Codev/RcsLite
--
JohnTalintyre - 09 Apr 2002
Added that Perl 5.6.1 is recommended, though 5.005_03 is still the target for all TWiki code (see
ReadmeFirst.
--
RichardDonkin - 20 Apr 2002
Apache authentication (security) warning for clear-text "basic authentication" and SSL recommendation might be good here. Thoughts?
--
GrantBow - 05 Jan 2003
It'd be useful to have more information on using TWiki with non-Apache webservers such as Netscape Enterprise Server (although maybe that type of information should be over at
TWikiOn)?
--
GarethEdwards - 09 Jan 2003
I renamed this topic from
TWikiImplementationNotes to the more accurate name TWikiSystemRequirements.
--
PeterThoeny - 16 Jan 2003
Added caveats about Perl 5.8.0 and Apache 2.0, since neither of these has been very much tested with TWiki and I suspect there are problems. I know there are issues with UTF8 on Perl 5.8 and authentication on Apache 2.0 for Windows, but I would be happy to be contradicted
This does imply an update/bugfix release fairly soon after
BeijingRelease - no new features but some fixes for things like this.
--
RichardDonkin - 16 Jan 2003
Updated the part about using
RcsLite for grammar and clarity, added reference to
TWikiOn. BTW, the new name for this topic is much easier to remember!
--
RichardDonkin - 22 Jan 2003
Added links to pages on perl 5.8 on Codev and the best Apache topic I could find (in Support). I didn't see any other appropriate pages when doing "perl" or "apache" topic name searches.
--
GrantBow - 23 Jan 2003
Updated the Perl 5.8 link to
IssuesWithPerl5dot8, and did similar for Apache 2.0.
--
RichardDonkin - 10 May 2003
Update re UTF-8 URLs, and to soften the non-recommendation of Perl 5.8.
--
RichardDonkin - 26 Jul 2004
Updated the Perl version recommendation to be 5.6.2 or 5.8.5, since many people have been using 5.8.x for a year with no problems - as discussed on
IssuesWithPerl5dot8, have also updated
WindowsInstallCookbook.
--
RichardDonkin - 10 Dec 2004
Softened the Apache 2 discouragement and suggested 2.0.50 or higher, based on the hanging issue now resolved in that version. Latest possible version recommended anyway, and
IssuesWithApache2dot0 is your friend... Users of Apache 2 on Windows who require
I18N should check status of
ApacheTwoBreaksNonUTF8EncodedURLsOnWindows - currently, Apache 2.0's implementation of Unicode on Windows is causing some problems.
--
RichardDonkin - 10 Jan 2005
See
RemoveNewTopicLinkStyleFromRenderDotPm where I propose to introduce minimal CSS for classic skin to show "new topic" links. This should work ok on Netscape 4.7, according to
http://www.nic.fi/~tapio1/Teaching/Netscape.php3.
--
ArthurClemens - 22 Apr 2005
Re-applied
Richard's Perl 5.8 link
--
TWikiGuest - 13 Oct 2005
Added
patch
as a requirement due to
UpgradeTwiki dependency. This should go into any 4.0.x release of this doc as it caught a few people.
--
RichardDonkin - 03 Feb 2006
This topic is out of date for TWiki 4.
--
KennethLavrsen - 09 Apr 2006
Updated now to
TWikiSystemRequirements content.
--
PeterThoeny - 09 Apr 2006
At the top of the page, it suggests to put changes in the comments section. As a user, I don't like this - it means I have to read pages to random comments to try and find something very simple (what version of perl is supported). It kind of defeats the point of a wiki - you might as well have a forum! However, if 'someone' plans to convert these comments into the 'official' part of this page, thats cool, but then this should be mentioned at the top of the page so that people (like me) don't get the wrong idea.
--
EricWoods - 29 Jan 2007
Ah, good point. The idea is the fix the documentation directly. The reference to the comment section is in regards to not using the comments section for support question (which happens qute often.) I fixed the top banner a bit to be more explicit. Please help fine-tune the message at
DistributionDocHeader.
--
PeterThoeny - 30 Jan 2007
I updated the
Required CPAN Modules table because I just built Perl 5.10 from sources and Algorithm::Diff, Error, and Text::Diff are simply
not included.
--
JefferyMartin - 05 Dec 2008
The documentation on Algorithm::Diff, Error and Text::Diff was correct. They are not included in Perl, but they are included in the TWiki distribution, see
twiki/lib/CPAN/lib
directory.
The Encode module however is required.
I updated the docs accordingly.
--
PeterThoeny - 09 Dec 2008
Do you include the CPAN modules that you need but that are not included in the Perl base somewhere under
twiki/lib/CPAN
? If that is true, and the
WysiwygPlugin is now part of the standard TWiki install, then you also need to include
HTML::Parser.
--
JefferyMartin - 09 Dec 2008
Setup did not catch any missing modules, but I needed Unicode::String (ubuntu package libunicode-string-perl ) in order to complete the installation. Otherwise, I received an obscure
@INC error about unicode path.
--
JerreCope - 2010-03-20
Thanks Jerre for reporting, this is a known issue.
--
PeterThoeny - 2010-03-21
Thank you
DonSwift for refining the CGI version, this is now in the SVN repository for the next release.
--
Peter Thoeny - 2015-07-31