Comparing versions
Version 2Current version
The following is used when you want to create multiple TikiPro sites using the same install, but possibly different databases.

A simple kernel/config_inc.php looks something like this:
{CODE()}<?php
global $db_tiki, $host_tiki, $user_tiki, $pass_tiki, $dbs_tiki;
$db_tiki = "pgsql";
$host_tiki = "localhost";
$user_tiki = "tiki";
$pass_tiki = "mypasswd";
$dbs_tiki = "mydb";
define( 'TIKI_DB_PREFIX', '' );
define( 'TIKI_ROOT_URL', '/tikipro/' );
?>{CODE}

This allows a single configuration for the code base. If we would like to have other configurations, we would have to add some smarts to the kernel/config_inc.php, so that it can redirect each request appropriately.

Imagine we have two sites setup using virtual hosting, site1 and site2. We can configure config_inc.php as follows:
{CODE()}<?php
global $db_tiki, $host_tiki, $user_tiki, $pass_tiki, $dbs_tiki, $tikidomain;
$db_tiki = "pgsql";
$host_tiki = "localhost";
$user_tiki = "tiki";
$pass_tiki = "mypasswd";
$dbs_tiki = "mydb";
define( 'TIKI_ROOT_URL', '/' );
switch ($_SERVER"HTTP_HOST") {
case "site1":
define( 'TIKI_DB_PREFIX', 'site1.' );
$tikidomain = "site1";
break;
case "site2":
define( 'TIKI_DB_PREFIX', 'site2.' );
$tikidomain = "site2";
break;
}
}
?>{CODE}

As mentioned on the TikiWiki Page http://tikiwiki.org/AkiraMultiTiki - you can use a similar method without using virtual hosting. I haven't tried this yet, but the coding would look something like this.
{CODE()}<?php
global $db_tiki, $host_tiki, $user_tiki, $pass_tiki, $dbs_tiki, $tikidomain;
$db_tiki = "pgsql";
$host_tiki = "localhost";
$user_tiki = "tiki";
$pass_tiki = "mypasswd";
$dbs_tiki = "mydb";
switch ( extractTopPath( $SCRIPT_URL ) ) {
case '/site1/':
define( 'TIKI_DB_PREFIX', 'site1.' );
define( 'TIKI_ROOT_URL', '/site1/' );
$tikidomain = "site1";
break;
case "/site2/":
define( 'TIKI_DB_PREFIX', 'site2.' );
define( 'TIKI_ROOT_URL', '/site2/' );
$tikidomain = "site2";
break;
}

function extractTopPath( $in ) {
if ( ( $point = strpos( substr( $in, 1 ), "/" ) ) === false ) {
return ( $in . "/" );
} else {
return substr( $in, 0, $point + 2 );
}
}
?>{CODE}
 
The following is used when you want to create multiple bitweaver sites using the same install, but possibly different databases.

A simple kernel/config_inc.php looks something like this:
{CODE()}<?php
global $db_tiki, $host_tiki, $user_tiki, $pass_tiki, $dbs_tiki;
$db_tiki = "pgsql";
$host_tiki = "localhost";
$user_tiki = "tiki";
$pass_tiki = "mypasswd";
$dbs_tiki = "mydb";
define( 'TIKI_DB_PREFIX', '' );
define( 'TIKI_ROOT_URL', '/bitweaver/' );
?>{CODE}

This allows a single configuration for the code base. If we would like to have other configurations, we would have to add some smarts to the kernel/config_inc.php, so that it can redirect each request appropriately.

Imagine we have two sites setup using virtual hosting, site1 and site2. We can configure config_inc.php as follows:
{CODE()}<?php
global $db_tiki, $host_tiki, $user_tiki, $pass_tiki, $dbs_tiki, $tikidomain;
$db_tiki = "pgsql";
$host_tiki = "localhost";
$user_tiki = "tiki";
$pass_tiki = "mypasswd";
$dbs_tiki = "mydb";
define( 'TIKI_ROOT_URL', '/' );
switch ($_SERVER"HTTP_HOST") {
case "site1":
define( 'TIKI_DB_PREFIX', 'site1.' );
$tikidomain = "site1";
break;
case "site2":
define( 'TIKI_DB_PREFIX', 'site2.' );
$tikidomain = "site2";
break;
}
}
?>{CODE}

As mentioned on the ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and bitweaver and TikiWiki Page http://tikiwiki.org/AkiraMultiTiki - you can use a similar method without using virtual hosting. I haven't tried this yet, but the coding would look something like this.
{CODE()}<?php
global $db_tiki, $host_tiki, $user_tiki, $pass_tiki, $dbs_tiki, $tikidomain;
$db_tiki = "pgsql";
$host_tiki = "localhost";
$user_tiki = "tiki";
$pass_tiki = "mypasswd";
$dbs_tiki = "mydb";
switch ( extractTopPath( $SCRIPT_URL ) ) {
case '/site1/':
define( 'TIKI_DB_PREFIX', 'site1.' );
define( 'TIKI_ROOT_URL', '/site1/' );
$tikidomain = "site1";
break;
case "/site2/":
define( 'TIKI_DB_PREFIX', 'site2.' );
define( 'TIKI_ROOT_URL', '/site2/' );
$tikidomain = "site2";
break;
}

function extractTopPath( $in ) {
if ( ( $point = strpos( substr( $in, 1 ), "/" ) ) === false ) {
return ( $in . "/" );
} else {
return substr( $in, 0, $point + 2 );
}
}
?>{CODE}
Page History
Date/CommentUserIPVersion
27 Feb 2005 (04:42 UTC)
Stephan Borg218.214.1.1133
Current • Source
Stephan Borg218.214.1.1132
View • Compare • Difference • Source
Stephan Borg218.214.1.1131
View • Compare • Difference • Source