To install Jojo on your development or live server, first make sure your server meets the minimum requirements.

In summary, these are...
  • PHP 5.2+
  • Apache / lighttpd / IIS6/7 web server
  • MySQL 4.1.x or 5.x
  • Access to alter Apache configs via .htaccess
  • Apache mod_rewrite enabled, and PHPGD2 - standard on most PHP hosts

We have also found that some web hosts don't have Freetype installed - this is required for CAPTCHAs to work properly.

Installation video

Our installation video is a quick walkthrough of the installation process. If you are new to Jojo, we recommend taking 6 minutes to watch this so the installation seems more familiar once you get started.

Jojo can be installed as a single-site or multi-site installation. Surprisingly, the multi-site install is simpler, so this is what we recommend in all cases.

Before you start

Obviously, ensure your server meets the requirements. For a development install on Windows, we recommend WAMP, or XAMPP is a good cross-platform option.
You will need a MySQL database already created, and a website configured via your web hosting control panel or via Apache configs.

For the installation, you will need to know your MySQL access details and passwords, as well as the absolute location of your website on the server eg '/home/username/htdocs/www' on Linux or 'c:/htdocs/www/yoursite' on Windows.

Folder locations

Jojo is a little different to many CMS systems in that most of the code should be placed outside of your website directory. This is a bonus for security.
Jojo is made up of 3 folders.

  1. /jojo/ - all of the files in the download should be extracted and placed on the server outside of the web root. If you are wanting to do a multi-site install, place these files somewhere where they are readable by all the websites that will be running Jojo.
  2. /mysite/ - This folder can be named anything you like - we will refer to the folder as 'mysite'. This folder contains 4 subfolders that are specific to each Jojo site. Downloads, for holding site-specific file uploads; cache, for site specific cache files; plugins, for site-specific plugins; and themes, for site-specific themes.
  3. /htdocs/ or /www/ or /public_html/ - these are the files that are visible to the web server. We recommend placing only 2 files in the web root - .htaccess and index.php; The installation procedure will prompt you to create a third file, config/config.php which holds some site-specific constants. Your web host will have created the web root folder for you, usually named 'www', 'htdocs', or 'public_html'.

Installation instructions

Unzip, unpack

Download the latest copy of Jojo, or grab a fresh copy from the Subversion (SVN) server. Unzip the download file.

Decide on folder locations

For a single site install, this decision is usually easy. If your host has assigned you space on /home/username/yourwebsite/htdocs then this is your 'Web directory'.
It's best to keep the jojo and mysite folders outside of the web root, so one step back in the directory structure is logical.

So if your web root is /home/username/yourwebsite/htdocs we consider the following folder locations appropriate.

Web Directory = /home/username/yourwebsite/htdocs
Jojo Directory = /home/username/yourwebsite/jojo
Mysite Directory = /home/username/yourwebsite/mysite


Another alternative would be to place everything within the web root, though this would defeat some of the work we have been doing, and may open up some security holes.
Web Directory = /home/username/yourwebsite/htdocs
Jojo Directory = /home/username/yourwebsite/htdocs/jojo
Mysite Directory = /home/username/yourwebsite/htdocs/mysite
This type of install may be appropriate if your host ONLY gives you access to the web-root.

Inside web root

Normally, you won't have much choice over the web directory, however the jojo and mysite directories are fairly flexible.

Copy files

Create the 'jojo' folder on your server in the location you decided. Copy or move all files from the download into this folder.

Next, decide on a location for 'mysite'. Create this folder.

Next, you should see in the main jojo folder another sub folder called '_www' - containing index.php - copy this file into your web directory. If there is a .htaccess file in your web directory, this will need to be removed as Jojo needs to create it's own .htaccess file.

Start install process

Jojo has an installation routine which checks your files are in the right places, and creates a .htaccess and config file for you.
In a browser, go to the address of your website homepage eg

This should launch the setup procedure.

Jojo will first search for a .htaccess file, and hopefully it doesn't find one. If Jojo has write access to the web directory, it will create the .htaccess file for you (this is a bad thing security wise, and should really be turned off). Otherwise Jojo will give you some code to copy-paste into a new .htaccess file in the web directory.

After the .htaccess file is found, Jojo will redirect to and ask for the location of your Jojo installation. This is the absolute link to the chosen location for your jojo files eg /home/username/ - note there are no trailing slashes here.

Follow all on screen instructions.