%META:TOPICINFO{author="ProjectContributor" date="1252718760" format="1.1" version="1"}%
%META:TOPICPARENT{name="AdminDocumentationCategory"}%
%STARTINCLUDE%
---+ System Requirements

_Server and client requirements_

Low client and server base requirements are core features that keep Foswiki widely deployable, particularly across a range of browser platforms and versions.  Many extensions exist which enhance and expand Foswiki's capabilities; they may have additional requirements.

%TOC%

---++ Server Requirements

The code is written in Perl 5, and uses a number of shell commands from perl.
The default package requires [[http://www.gnu.org/software/rcs/rcs.html][RCS (Revision Control System)]], a GNU Free Software package. Foswiki 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.6.1 or higher (5.8.4 or higher is recommended) |
| RCS | 5.7 or higher (including GNU =diff=) %BR% Optional, Foswiki 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 patching the code using patches in diff format submitted by the community. |
| GNU =fgrep=, =egrep= | Modify command line parameters in configure if you use non-GNU grep programs |
| Cron/scheduler | %BULLET% Unix: =cron= %BB% Windows: =cron= equivalents <!-- SMELL: Macintosh version? --> |
| Web server | Apache is well supported; see Foswiki:Support.InstallingOnSpecificPlatforms for alternative options. |

---+++ Perl Modules
A complete list of the required and optional Perl modules can be found in =lib/DEPENDENCIES=.

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>


#ClientRequirements
---++ Client Requirements

The [[InstallationGuide][standard installation]] has relatively low browser requirements:

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

CSS and Javascript are used in most skins. Some skins will require more recent releases of browsers. The default skin is tested on IE 6, 7, Safari 3.0, and recent Mozilla based browsers (such as Firefox).

You can easily select a balance of browser capability versus look and feel. Try the installed skins at %SYSTEMWEB%.SkinBrowser and more at Foswiki:Extensions.SkinPackage.

---++ Important note about 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
