Ubuntu Install

Here we have some step-by-step instructions for installing Tiki on Ubuntu Server with Apache2, MySQL5, and PHP5.

Install Ubuntu Server

I would recommend installing only SSH Server as part of the initial install.

Patch it up

sudo apt-get update
sudo apt-get upgrade

Install Lamp

You can choose to install it through tasksel (tested with Ubuntu 14.04 LTS) plus a few other handy packages, just in case they do not come along with the lamp-server itself:
sudo apt-get install tasksel
sudo tasksel install lamp-server
sudo apt-get install mysql-server mysql-client apache2 php5 php5-tidy php-pear memcached php5-xcache php5-gd php5-xmlrpc php-xml-parser phpmyadmin sendmail

For later Ubuntu versions
sudo apt-get install libapache2-mod-php php-mysql

Then you can enable the module
sudo php5enmod mcrypt

Enable the Apache rewrite rules:

Command on a console
sudo  a2enmod rewrite
sudo  service apache2 restart

And add this section between the VirtualHost tags the to this file /etc/apache2/sites-enabled/000-default.conf (or equivalent for your configuration; in this case, the doc. root where tiki is installed is /var/www/html/, which is where ubuntu 14.04 comes pre-configured for the base doc root):

sudo nano /etc/apache2/sites-enabled/000-default.conf

Section to add (just after the Document root line):
<Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        ## The following lines to allow connections have changed syntax
        ## between apache 2.2 and apache 2.4
        ## See: http://httpd.apache.org/docs/2.4/upgrading.html  > Run-Time Configuration Changes > Access control
        #Order allow,deny
        #Allow from all
        Require all granted

After the change, it should look like:
Contenido de /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
	# The ServerName directive sets the request scheme, hostname and port that
	# the server uses to identify itself. This is used when creating
	# redirection URLs. In the context of virtual hosts, the ServerName
	# specifies what hostname must appear in the request's Host: header to
	# match this virtual host. For the default virtual host (this file) this
	# value is not decisive as it is used as a last resort host regardless.
	# However, you must set it for any further virtual host explicitly.
	#ServerName www.example.com

	ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

<Directory /var/www/html/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all

	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
	# error, crit, alert, emerg.
	# It is also possible to configure the loglevel for particular
	# modules, e.g.
	#LogLevel info ssl:warn

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".
	#Include conf-available/serve-cgi-bin.conf

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

1.2. Enable phpmyadmin if needed

You may need to do this, even if in previous ubuntu versions it didn’t seem to be needed:
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo ln -s /etc/apache2/conf-available/phpmyadmin.conf /etc/apache2/conf-enabled/phpmyadmin.conf
service apache2 restart

Then you can reach your mysql ddbb to manage them through PhpMyAdmin at (replace example.com with your domain name):

1.3. Create for tiki a mysql db and a mysql user with local perms for that db

Use your PhpMyAdmin install:

  • Go to users: We remove debian-sys-maint user, to prevent system upgrades from eventually touching the mysql db’s.
  • Create a new user for mysql that does NOT have all perms
    • New user is tikiuser, and we do not select neither database nor general perms for this user.
  • Go to the start page for PhpMyAdmin again
  • Create a bbdd named tiki12svn and as collation select UTF8_unicode_ci
  • Go to the users tab, and go to Databases
    • Select the db tiki12svn, and check all perms except “grant” to that user for that db

And that’s all. Then you will need to tell tiki that we have created:
  • mysql db: tiki12svn
  • mysql user: tikiuser
  • mysql password: xxxxxxx (whatever you provided as password)

1.4. Install Tiki 12 through subversion

(url’s taken from http://dev.tiki.org/Get+code )
Create a new folder

Create folder /var/www/html/12.x and change directory to that new folder:

sudo mkdir /var/www/html/12.x
cd /var/www/html/12.x

We fetch tiki12 through subversion to this folder:
svn checkout https://svn.code.sf.net/p/tikiwiki/code/branches/12.x .

Then we run the Tiki setup script through console:
sh setup.sh

You can have a look at what the script does here:

This script manages all Tiki dependencies through a program called “Composer” (it downloads and updated them when needed)

Then you can proceed with the standard Tiki installation thorugh the web browser (replace example.com with your domain name):

and this will take us to tiki-install.php:

Tip for Spanish speakers: see the video from a course on Tiki:

At the screen to Setup the database connection, we provide the database name, db user and password that we previosuly created and we follow instructions on screen.

At the new installation, the first user is admin, with password admin. We replace the password and continue to log in for the first time.
You have your tiki installed, ready for you to continue using the Wizards

This how-to has been tested on Ubuntu server 9.04, but should work fine also with more recent Ubuntu GNU/Linux distributions. Tiki is working fine in many Tiki 10.04 and 12.04 setups (with slightly different setup procedures, maybe): therefore, some effort to converge all documentation in this page is underway.

Install LAMP

You can choose to install it through tasksel (untested in Ubuntu 12.04 LTS):
sudo apt-get install tasksel
sudo tasksel install lamp-server

Or alternatively to a tasksel-based installation of lamp, you can install the required packages by hand as usual (and their dependencies) automagically, which has been tested on Ubuntu 12.04 and works fine:
sudo apt-get install mysql-server mysql-client apache2 php5 php5-tidy php-pear memcached php5-xcache php5-gd php5-xmlrpc php-xml-parser phpmyadmin sendmail

Install stuff for Image Galleries

sudo apt-get install imagemagick php5-imagick php5-gd graphviz

Download latest stable Tiki version

These are hosted on SourceForge, if you want to grab the most current stable version directly:
Tiki 9.x (LTS) or the latest stable at each moment in time.


Alternatively, you can also Get code from SVN.

sudo apt-get install subversion

Move the Tiki tarball to where you need it

Get the latest tarball from http://info.tiki.org/Download
As an example, it’s described here with Tiki 9.2.:
sudo mv tikiwiki-9.2.tar.gz /var/www/html/

Extract Tiki

cd /var/www/html
sudo tar -xvzf tikiwiki-9.2.tar.gz

Install Tiki

cd /var/www/html/tikiwiki-9.2
sudo sh setup.sh

User [www-data]:
Group [www-data]:
Multi []:
Checking dirs :
  backups ...  ok.
  db ...  ok.
  dump ...  ok.
  img/wiki ...  ok.
  img/wiki_up ...  ok.
  img/trackers ...  ok.
  modules/cache ...  ok.
  temp ...  ok.
  temp/cache ...  ok.
  templates_c ...  ok.
  templates ...  ok.
  styles ...  ok.
  maps ...  ok.
  whelp ...  ok.
  mods ...  ok.
  files ...  ok.
  tiki_tests/tests ...  ok.
  lib/Galaxia/processes ...  ok.
Fix global perms ... chowned ... done.
Fix special dirs ... done.

Setup MySQL for the Tiki database.

We’ll create the database and create a user with rights to the Tiki database. In the following example, the database name is tiki, the username is tiki, and the password for tiki is tikipassword. You’ll need this information later when we configure Tiki, so make sure you write this stuff down. Replace names as you see fit.
mysql -u root -p

You’ll be prompted for your mysql root password you entered earlier, then are met with the mysql prompt. Type the following commands exactly as shown.
mysql>CREATE DATABASE tikiwiki default character set 'UTF8';
mysql>GRANT ALL ON tikiwiki.* TO 'tiki'@'localhost' IDENTIFIED BY 'tikipassword';

Update your default directory for Apache. Use vim or nano to edit.

sudo nano -w /etc/apache2/apache2.conf

Add the following line to the end of the <Directory /var/www> section (just above the ending </Directory>)
RedirectMatch ^/$ /tikiwiki-9.2/

It’s not clear that this step might interfere with latest behavior or rewrite rules found in .htaccess file distributed (as _htaccess) by Tiki. If you experience any issues, don’t do this step, and just use your tiki from your subfolder (add the subfolder to the path in the browser). Or adapt the base path in your /etc/apache2/sites-available/default (or equivalent) file, etc.

If you keep accessing your tiki from a subfolder, adapt the corresponding part of the .htaccess file in the tiki root file tree:

# You may need to uncomment and fix the RewriteBase value below to suit your installation. e.g. if your Tiki is not installed directly in the web root.
RewriteBase   /tikiwiki-9.2

Enable rewrite rules for Apache web server

sudo a2enmod rewrite
sudo  service apache2 restart

And add this section between the VirtualHost tags the to this file /etc/apache2/sites-enabled/000-default.conf (or equivalent for your configuration; in this case, the doc. root where tiki is installed is /var/www/ ):

sudo nano /etc/apache2/sites-enabled/000-default.conf

Section to add (just after the Documen root line):
<Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all

Give yourself some more memory for PHP

Note it may not be necessary as the default is now 128M, but just in case:
sudo nano -w /etc/php5/apache2/php.ini

memory_limit = 16M      ; Maximum amount of memory a script may consume (16MB)

to memory_limit = 128M

PHP sendmail Ubuntu

To get it working in the end I had to:
sudo apt-get install sendmail

Check its working
ps -aux | grep sendmail

Edit your php.ini to uncomment sendmail:
located in
sudo nano -w /etc/php5/apache2/php.ini

;sendmail_path =

sendmail_path =  /usr/sbin/sendmail -t -i

[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i 

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

Or use Postfix instead of Sendmail

sudo apt-get install postfix

No extra configuration is of either Postfix or PHP is required, beyond choosing which sort of mail system you’re setting up, which is explained during Postfix installation. It just works, at least in my virgin 6.x Tiki install on a virgin Ubuntu Lucid. Tiki can send mail.

Restart Apache

sudo /etc/init.d/apache2 restart

Configure Tiki

Point a browser to http://hostname/tikiwiki-9.2/tiki-install.php
Replace “hostname” above with actual hostname or IP address
Database type is MySQL Improved
Database name is tikiwiki
Database User is tiki
Password is tikipassword

You can also see the standard documentation about the installation

and see how to apply a configuration profile to adapt your tiki to your own use ase with just a few clicks:

Applying Profiles

Starting in Tiki4, the interface has been improved and streamlined. No more profiles at install time, but a nicer profile manager anytime :-)

Applying the configuration profile “Bug_Tracker”

Profiles can also be applied at any time after Tiki is installed by following these steps:
  1. Log into Tiki as an administrator
  2. Open the Administration page (click the “Admin Home” link in the menu)
  3. Click on the Profiles link
  4. Show profiles available in the registered repositories by clicking List. You can filter the list of profiles by name, type and repository if you like.
  5. Click on the name of the profile you want to apply. Details about that profile will be obtained from the repository and displayed for your review.
  6. Click the Apply Now button


Note: sendmail still needs some work. I suspect the email is being send to the server but is going no where. I suspect that if you setting up Tiki with professional hosting you won’t need to worry about sendmail?

Related links

Alias names for this page:
UbuntuInstall | Install Ubuntu | InstallUbuntu






Keywords serve as “hubs” for navigation within the Tiki documentation. They correspond to development keywords (bug reports and feature requests):

Accessibility (WAI and 508)
Accounting (7.x)
Articles and Submissions
Batch (6.x)
BigBlueButton audio/video/chat/screensharing (5.x)
Browser Compatibility
Link Cache
Clean URLs
Communication Center
Compression (gzip)
Contacts (Address Book)
Contact us
Content Templates
Contribution (2.x)
Credit (6.x)
Custom Home and Group Home Page
Date and Time
Debugger Console
Directory of hyperlinks
Documentation link from Tiki to doc.tiki.org (Help System)
Docs 8.x
Draw 7.x
Dynamic Content
Dynamic Variable
External Authentication
Featured links
File Gallery
Friendship Network (Community)
Gmap Google maps
i18n (Multilingual, l10n, Babelfish)
Image Gallery
Inter-User Messages
Kaltura video management (4.x)
Live Support
Logs (system & action)
Look and Feel
Lost edit protection
Map with Mapserver
Meta Tags
Mobile Tiki and Voice Tiki
Performance Speed / Load
Platform independence (Linux-Apache, Windows/IIS, Mac, BSD)
Profile Manager
Search engine optimization
Search and Replace
Semantic links (3.x)
Shadow Layers
Shopping cart
Social Networks
Spam protection (Anti-bot CATPCHA)
Tags (2.x)
Tell a Friend, alert + Social Bookmarking
TikiTests (2.x)
Theme CSS & Smarty
Transitions (5.x)
User Administration including registration and banning
User Files
User Menu
WebDAV (5.x)
Web Services
Wiki 3D
Wiki History, page rename, etc
Wiki Page Staging and Approval (2.x)
Wiki Plugin extends basic syntax
Wiki Syntax
Wiki structure (book and table of content)

Tiki Newsletter

Delivered fresh to your email inbox!
Newsletter subscribe icon
Don't miss major announcements and other news!
Contribute to Tiki
Show php error messages