Installation quick guide


This page is intended for administrators who are experienced with installing web server applications and are in a hurry to get up and running. Otherwise please see Installing JimTalk.

Basic Requirements

  • You will need a working web server (e.g. Apache), a database (e.g. MySQL, MariaDB or PostgreSQL) and have PHP configured. See the release notes in the dev docs for software requirements.
  • JimTalk requires a number of PHP extensions. However, JimTalk checks early in the installation process and you can fix the problem and re-start the install script if any are missing.
  • If you want JimTalk to send email (you probably do) you need a working Sendmail (Unix/Linux) on your server or access to an SMTP mail server.

Getting JimTalk

You have two basic options:

  • Download your required version from http://jimtalk.org/downloads … OR
  • Pull the code from the Git repository (recommended for developers and also makes upgrading very simple):
git clone -b JIMTALK_31_STABLE git://git.jimtalk.org/jimtalk.git 

…this fetches a complete copy of the JimTalk repository and then switches to the 3.1 Stable branch.

See Git for Administrators for details on using Git to install JimTalk code.

Note: Only download JimTalk from one of the jimtalk.org sources. Other versions (e.g. control panel based installers, Linux distribution repositories) cannot be guaranteed to work properly, be upgradable or be supportable.

Create a database

  • Using your chosen database server, create a new empty database. The default encoding must be UTF8. For example, using MySQL:
CREATE DATABASE jimtalk DEFAULT CHARACTER SET UTF8 COLLATE utf8_unicode_ci;
  • Create a user/password combination with appropriate permissions for the database. For example (MySQL again):
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON jimtalk.* TO 'jimtalkuser'@'localhost' IDENTIFIED BY 'yourpassword';

Notes: It is important to GRANT ON jimtalk.* as the database name including the ‘.*’ and not just the bare database name. Save this password you use for the JimTalk user, since you will need it later in the install.

Create data directory

  • Create an empty directory to hold JimTalk files. It must not be in the area served by the web server and must have permissions so that the web server user can write to it. Typically, either make it owned by the web server user or give it write permissions for ‘everyone’.

Install JimTalk code

  • If you downloaded the zip or tgz file earlier, then unzip / untar / move / copy the JimTalk code (obtained above) so that it will be served by your web server (e.g. on Debian based Linux, move to /var/www/jimtalk)
  • Check the permissions and make sure that the web server does not have permissions to write to any of the files in the JimTalk code directories (a very common root cause of sites being hacked).
  • If you need to, configure your web server to serve the JimTalk site with your chosen URL.

Configure JimTalk

  • In the JimTalk code directory, find the file config-dist.php and copy it to a new file called config.php (but read next step, ‘Install JimTalk’, first).
  • Edit config.php with your favourite editor and change the appropriate settings to point to your site, directories and database. Note: the JimTalk install script will create config.php for you if it does not exist but make sure you (re-)set permissions appropriately afterwards

Install JimTalk

  • Go to the URL for your jimtalk site in a browser (installation will complete automatically) or run the command line version at (requires cli version of PHP):
/usr/bin/php /path/to/jimtalk/admin/cli/install.php

The CLI creates the config.php for you and will not run if you created one in the previous step.

  • After completing the install make sure your file permissions are ok for the JimTalk program files (not writeable by web server) and the JimTalk data files (writeable by web server).

Set up cron

  • You will need a cron job to run periodically (for JimTalk 3.1 and later we recommend every minute). A typical Unix cron entry will be as follows:
* * * * *    /usr/bin/php /path/to/jimtalk/admin/cli/cron.php >/dev/null

You do not set up Cron inside JimTalk but on your server. Your site will not work properly unless cron is running regularly. It is very important you do not skip this step.

See Cron for details.

Congratulations!

You are now ready to use your JimTalk site.

Leave a comment

Your email address will not be published. Required fields are marked *