History: Requirements
Preview of version: 167
2012-09: A Server Check script has been developed that will make everything easier! Just upload a single PHP file to your server and you will get advice on your server configuration.
See also Tiki Lifecycle.
Requirements and Setup
This page lists the minimum requirements and recommended settings to install Tiki.
If you are using a standard shared webhost, your webhost most likely meets these requirements and you should be able to install Tiki with no problems. Tiki is designed to run on shared hosting, using the LAMP stack.
These instructions are useful for people that are configuring their own server for Tiki.
Table of contents
Shared Host
Tiki will run in most shared webhost environments. Many hosts offer Tiki installation via a control panel application (such as Fantastico).
You should verify that your webhost meets the minimum requirements:
See Tiki Friendly Hosts for a list of working shared host environments.
Requirements
Webserver
You must have a fully operational webserver in order to install and use Tiki. Tiki should run on any webserver that supports PHP (such as Windows IIS or lighttpd), but is most widely tested and used with Apache. You may need to make minor modifications for non-Apache webservers.
To simply installation on Windows IIs, Tiki is included in the Windows Web App Gallery and can be installed with the Microsoft Web Platform Installer. See Microsoft Web Platform installer for details.
Your webserver should be configured with the following minimum requirements:
- 512 MB RAM
- 100 MB free storage
MySQL
Tiki requires a MySQL or MariaDB database. (version 5+)
The database can be installed in the same physical location of the webserver (that is, as localhost) or Tiki can access a remote database.
PHP
Tiki Version | Minimum PHP Version | Notes |
---|---|---|
Tiki13, Tiki14 or Tiki15 | PHP 5.5 | With a focus on the new Zend OPcache Why 5.5 and not 5.4 |
Tiki10, Tiki11 or Tiki12 | PHP 5.3 | PHP 5.3 was released in June 2009 and PHP 5.2.x reached end of life in December 2010, which is nearly two years before Tiki10 will be released |
Tiki7, Tiki8 or Tiki9 LTS | PHP 5.2 with the PDO extension | If PDO is not available, you can revert to ADOdb. See ReleaseNotes40 for details. If you can't get PHP 5.2 (released in November 2006!), you can keep on using Tiki6 LTS (end of support for Tiki6 LTS is when Tiki |
Tiki5 or Tiki6 LTS | PHP 5.1 with the PDO extension | If PDO is not available, you can revert to ADOdb. See ReleaseNotes40 for details. PHP 5.2 is preferred primarily to access features in Zend libraries and can be necessary for some of the newer features like WebDAV, however, globally, Tiki works with PHP 5.1 Tiki6 LTS End of life |
Tiki4 | PHP5 with the PDO extension | If PDO is not available, you can revert to ADOdb. See ReleaseNotes40 for details. |
Tiki3 LTS | PHP5 | This was a Long Term Support (LTS) version. End of life was May 2011, where you should upgrade to Tiki6 LTS |
Interesting links about PHP lifecycle
- http://php.net/supported-versions.php
- https://wiki.php.net/rfc/releaseprocess
- PHP 5.4 was released in March 2012 and thus, should be EoL in March 2015.
- http://w3techs.com/technologies/history_details/pl-php/5/q
For all versions, MySQLi extension is recommended but the Tiki installer will fall back to the older MySQL driver if MySQLi is unavailable.
The default memory_limit in a standard PHP 5.3 installation is 128M, and this should be fine for the vast majority of Tiki installations. Some web hosts install PHP with a lower default. Although Tiki may appear to install successfully, you will continually face issues with pages failing to load and system errors.
To review your PHP Memory Limits, access http://www.example.com/tiki-phpinfo.php and review the following values:
- max_execution_time = 60 ; Maximum execution time of each script, in seconds
- max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
- memory_limit = 128M ; Maximum amount of memory a script may consume
For some shared webhosts, these values may not be user-configurable and you may need to request changes from your webhost, whereas in other hosts you are allowed to fine tune this settings for your needs. You can try uncommenting the corresponding lines in the .htaccess file at your tiki root folder on the server, like:
# increase memory php_value memory_limit 128M # increase execution time... php_value max_execution_time 90
More information
Required PHP Functions
Some webhosts tend to disable some functions which are required for Tiki to run flawlessly.
Function | Notes |
---|---|
eval() | Required by Smarty templating engine. Causes "Please contact support about" messages appearing instead of Modules when ev php.ini . |
Additional Libraries
Library | Notes |
---|---|
libxml | Required http://us2.php.net/manual/en/ref.xml.php |
mbstring | Required by zend_search_lucene for Admin panel searching and managing preferences in perspectives. Useful when working with languages that require it http://us2.php.net/manual/en/ref.mbstring.php. mbstring needs to be compiled with --enable-mbregex or otherwise you will be missing functions like mb_split() which are needed for example by Smarty. |
ctype | Required |
calendar | Required for Tiki 6 and higher |
iconv | Required by certain Zend Framework validation and parsing classes |
php.ini Configuration
We recommend using the following configuration in your php.ini file:
PHP.INI Setting | Description |
---|---|
memory_limit = 128M | Specify the maximum memory for PHP scripts. |
_file_uploads = On | Required to allow uploads (files, images, etc.) to your Tiki |
upload_max_filesize = XXM post_max_size |
Specify the maximum upload filesize (in MB). |
allow_url_fopen = On | Allow trackback pings in your Tiki blogs. Deprecated since about Tiki4. No trackback feature available. |
session.save_handler = files session.save_path = /tmp |
The path that PHP stores session information. Ensure that the location exists and is writable. In Shared Hosting environments, if you do not have access to /tmp, use temp (no slash) instead. |
max_execution_time = 60 max_input_time = 60 |
Specify the idle timeout (in seconds). If you experience timeouts (such as when performing Admin functions) you may need to increase these settings. |
magic_quotes_gpc = Off | Turn off PHP's Magic Quotes function. |
default_charset = "utf-8" | Specify the default character encoding. |
mbstring.func_overload = 0 | Tiki will not work properly with mbstring.func_overload = 7. |
The location of the php.ini file may vary, depending on your operating sytem. Some common locations include:
- /etc/php.ini
- /etc/php/php.ini
- /etc/php5/apache2/php.ini (Debian)
- \windows\system\php.ini (Windows)
Notes:
- If safemode is on you may need safe_mode_allowed_env_vars = TZ in php.ini.
- To run PHP5 on 1and1.com add the following lines to your _htaccess file (Tiki 3):
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
uncomment line 29 and 30 then rename in .htaccess
Optional Software or Libraries
Some Tiki feautures require the following additional software or libraries:
Feature | Additional Requirements |
The ZipArchive class for php must be installed for some features such as XML Wiki Import-Export and PluginArchiveBuilder | |
Image processing, used for thumbnail generation, dynamic chart generation, and to prevent bot/automatic registration. | Use either GD Library 1.5 (or higher) or ImageMagick. ImageMagick is included, by default with PHP 4.3+ |
Manage and display maps as a GeoCMS (Geospatial Content Management System). | Mapserver 4.6+ |
Rewrite Tiki's default URLs | Use the Apache Clean URLs to create shorter, or custom, URLs. |
Elasticsearch 1.x: 12.x LTS while Elasticsearch 2.x: Tiki 15.x LTS |