Gforge Install


This is an installation guide.

How to install a multitiki on a GForged Server
by Xavier de Pedro. October'2004-May'2006.

Index


Introduction

Introduction

I'll explain how I did install one Tiki on a server with GForge, and also two more tiki sites using its multi-install capability. This worked for Tiki versions ranging from 1.8.4 to 1.10cvs).

In my case, I installed them on http://ourproject.org (op.o), which offers free hosting for free projects (with copylefted content). So these steps can be followed easily there, and I guess that they are reproducible at any GForge'd server (version 3 or later).
Image

Specific details of a GForged server

Specific details of a GForged server

We have to take into account some specificities of a GForged server:

  1. For a multitiki install, there is a slightly different procedure than the one described in RecipeMultitiki, on InstallVirtualHosting, because with GForge, there is no need of root access to touch any httpd.conf.
    .
  2. If we consider, for instance, a parent tiki site called "myproject" and installed at URL http://myproject.ourproject.org, the URL of the multitiki child sites (for instance, site1, site2...) are of the form:
    • http://myproject.site1.ourproject.org ,
    • http://myproject.site2.ourproject.org ...
      (instead of the common names for virtual hosting:
      http://site1.myproject.ourproject.org,
      http://site2.myproject.ourproject.org, ...).

    .
  3. The op.o GForged server allows users to connect through SSH to execute commands, to the path (for a user called "userX"):
    Copy to clipboard
    /var/lib/gforge/chroot/home/users/userX/

    And the project, called "myproject", is created at:
    Copy to clipboard
    /var/lib/gforge/chroot/home/groups/myproject/

Setup of the new subdirectories in the multitiki

Setup of the new subdirectories in the multitiki

We'll assume that you already have an account at any Gforge'd server (such as op.o)

  1. Download Tiki to your local computer.
    .
  2. Open a SFTP (SSH or secure file transfer) connection to the Gforge'd server. From GNU/Linux you can use gftp (graphical two pane progam; very easy, friendly and localized to most languages! :-) or use sftp from a shell, for instance. From M$ Windows you can use WinSCP (nice and free software, also translated to other languages different from English).
    .
  3. Upload the file containing tiki install, and follow the common procedures described under the file "install" for a common single tiki install on Unix.
    .
    (if no success, get more information from InstallTiki to solve the problem that may have risen).
  4. So that once you have your base tiki up and running, you have to execute again the setup command from the base directory where you installed tiki in (in my case, under /var/lib/gforge/chroot/home/groups/myproject/htdocs/ ):
    1. Log in again (if needed) to your gforged server account, using a ssh enabled program (calling ssh from shell on GNU/Linux or using, for instance, Putty for M$ Window$, or Secure Shell for non commercial users on M$ Window$)
      You should be in your home directory, like
      Copy to clipboard
      /var/lib/gforge/chroot/home/users/userX/
    2. Move to the directory of your project "myproject", and execute the command
      Copy to clipboard
      cd ../.. cd /groups/myproject/htdocs/ ./setup.sh userX groupX 02755 myproject site1 site2

    where userX is the name of the user, and groupX is the name of the project (groupX=myproject)
    (in a similar manner to what is explained in InstallVirtualHosting)
    .

Creation of the new databases

Creation of the new databases

Request your GForge'd server admin to create the two new databases for you (assume names ddbb1 and ddbb2).

Configuration of the database information on Tiki

Configuration of the database information on Tiki
  1. In a similar manner to what is explained in RecipeMultitiki, the local.php file must be modified to be like:
    Copy to clipboard
    <?php $db_tiki='mysql'; $dbversion_tiki='1.9'; $host_tiki="localhost"; if ($_SERVER["HTTP_HOST"] == "myproject.ourproject.org") { $dbs_tiki = 'ddbb0'; $user_tiki="db_user_myproject"; $pass_tiki="****"; $tikidomain = 'myproject'; } elseif ($_SERVER["HTTP_HOST"] == "myproject.site1.ourproject.org") { $dbs_tiki = 'ddbb1'; $user_tiki="db_user_site1"; $pass_tiki="****"; $tikidomain = 'site1'; } elseif ($_SERVER["HTTP_HOST"] == "myproject.site2.ourproject.org") { $dbs_tiki = 'ddbb2'; $user_tiki="db_user_site2"; $pass_tiki="****"; $tikidomain = 'site2'; } else { // default case, your choice is to block or open to a default domain $dbs_tiki = 'myproject'; $user_tiki="db_user_myproject"; $pass_tiki="****"; $tikidomain = 'myproject'; } ?>

    Where "db_user_myproject", "db_user_site1" and "db_user_site2" are database user names, and "****" means they respective passwords.

Fill in the databases of the child tikis

Fill in the databases of the child tikis
  1. If needed, place a copy of tiki-install.php again under your base htdocs directory (normally it's deleted or renamed for security reasons after your first tiki installation, whenever it was).
  2. Call to tiki-install.php from your favourite browser at your site1, such as:
    Copy to clipboard
    http://myproject.site1.ourproject.org/tiki-install.php

    And follow the steps of the web installation assistant, creating a ddbb with, for instance, a BasicEnabled profile for easy use.
    Hopefully everything would be executed successfully smile
  3. Click on Click here to proceed into tiki without removing the script
    • Check that your base child tiki is installed successfully.
  4. And go for the second child tiki (site2), repeating from step 2 to fill the second database (ddbb2), at
    Copy to clipboard
    http://myproject.site2.ourproject.org/tiki-install.php
  5. Then you can (and must) remove or rename the tiki-install.php script, and enter the second child tiki site. If the browser does not remove autmoatically the tiki-install.php script, the do it manually, from /var/lib/gforge/chroot/home/groups/myproject/htdocs/, with the command:
    Copy to clipboard
    mv ./tiki-install.php ./tiki-install.done

And that should be it!biggrin

Configure your child tiki installs specifications

Configure your child tiki installs specifications

You should go to each child tiki install, and configure it properly to your needs or likes.
For instance,

  1. since tikiwiki uses cookies, we have to make sure the cookies know which site you are at.
    • To do this you need to login as admin and go to the Login administration page. Toward the bottom is HTTP(S) server name, HTTP(S) port and HTTP(S) URL prefix. You will want to fill the approiate fields in. For my example site I would fill these fields in like this:
      HTTP server namedomain.com
      HTTP port80
      HTTP URL prefixtiki-test1/
  2. If you are going to use the remember me feature you will also want to fill out these fields: Remember me domain, Remember me path.
    • For my example site I would fill these fields in like this:
      Remember me domaindomain.com
      Remember me pathtiki-test1/
  3. You could, if you would like to, configure files to be stored under subdirectories and not inside the database.
    • This can be set for wiki_attachments, files from file galleries, images from image galleries, trackers, and userfiles.
    • You can create separate directories outside the htdocs directory, or whatever you like. Create them through the ssh screen, and configure them in your Child Tiki Admin settings for each feature.

In case this brief tutorial was useful to anybody, I would appreciate receiving comments on this page. wink