...I have tried several times with all of the different versions since 1.17RC and I just can't get this to work.
Here are config's and problems:
My current installation is 2.3.4 multisite version with multisite module 1.20.
I have added the mainfile changes mentioned in the beginning of the thread on hack for 1.17RC multisite. I also changed the /kernel/config.php back to the original from XOOPS 2.3.3 as suggested by wishcraft earlier in this thread.
I have 3 domains pointed at the root directory of the install.
I am able to select and set the general preferences and module preferences for each of the domains using the preferences tab in the multisite module. I have set different site titles, slogans and default themes for each. However, The theme and startup module that are listed in the "Current Domain & Sub-domain Pool" under the Domains tab, does not match those that were set under the Preferences tab. Also, The Preferences link for each domain under "Current Domain & Sub-domain Pool" throws up a 403 "Forbidden - You don't have permission to access /modules/multisite/admin.php on this server."
When browsing the front end of the sites, the default preferences from the initial installation of XOOPS (before installing and configuring Multisite v1.20) takes over theme display on all three domains (also the theme shown in "Current Domain & Sub-domain Pool"). The URLS are correct in the browser's address bar but the theme on the screen for any of the domains is the default from the from the XOOPS installation.
I have been able to get distinct custom blocks to show in each domain by creating them with the blocks manager in the multisite module. One strange behavior here is that the block for the first domain had to be assigned to another, and then re-assigned back to the first one before it would display.
I am not able to assign module access to individual domains, they are either on or off for all of them.
This whole thing sounds like a preferences/permissions problem, but I just don't know enough about it to find out.
A "Multisite Module Configuration for Dummies" would be a huge contribution to the "Button Pushing" portion of XOOPS user community.
Here is install environment details:
XOOPS Version - XOOPS 2.3.4
PHP Version - 5.2.8
MySQL Version - 5.1.30
Server API Version - cgi-fcgi
OS Version - Linux
safe_mode - Off
register_globals - Off
magic_quotes_gpc - Off
allow_url_fopen - On
fsockopen - On
allow_call_time_pass_reference - On
post_max_size - 64M
max_input_time - 60
output_buffering -
max_execution_time - 30
memory_limit - 64M
file_uploads - On
upload_max_filesize - 64M
Here is mainfile sample:
if ( !defined("XOOPS_MAINFILE_INCLUDED") ) {
define("XOOPS_MAINFILE_INCLUDED", 1);
// XOOPS Physical Paths
// Physical path to the XOOPS documents (served) directory WITHOUT trailing slash
define( 'XOOPS_ROOT_PATH', '/home/myaccount/public_html/testmultisite' );
// For forward compatibility
// Physical path to the XOOPS library directory WITHOUT trailing slash
define( 'XOOPS_PATH', '/home/myaccount/xoops_trust_path/testmultisite/xoops_lib' );
// Physical path to the XOOPS datafiles (writable) directory WITHOUT trailing slash
define( 'XOOPS_VAR_PATH', '/home/myaccount/xoops_trust_path/testmultisite/xoops_data' );
// Alias of XOOPS_PATH, for compatibility, temporary solution
define("XOOPS_TRUST_PATH", XOOPS_PATH);
// XOOPS Protocol (URL) start of addition for multisite
if (!empty($_SERVER['HTTPS']))
if ($_SERVER['HTTPS']=='on')
define('XOOPS_PROT', 'https://');
else
define('XOOPS_PROT', 'http://');
else
define('XOOPS_PROT', 'http://'); //end of addition for multisite
// XOOPS Virtual Path (URL)
// Virtual path to your main XOOPS directory WITHOUT trailing slash
// Example: define( 'XOOPS_URL', 'http://www.mytestdomain1.com' );
// define( 'XOOPS_URL', 'http://www.mytestdomain1.com' ); removed to substitute next line for multisite
define( 'XOOPS_URL', ''.strtolower(XOOPS_PROT.$_SERVER['HTTP_HOST'].'').'' ); //line added for multisite
// Shall be handled later, don't forget!
define("XOOPS_CHECK_PATH", 0);
// Protect against external scripts execution if safe mode is not enabled
if ( XOOPS_CHECK_PATH && !@ini_get("safe_mode") ) {
if ( function_exists("debug_backtrace") ) {
$xoopsScriptPath = debug_backtrace();
if ( !count($xoopsScriptPath) ) {
die("XOOPS path check: this file cannot be requested directly");
}
$xoopsScriptPath = $xoopsScriptPath[0]["file"];
} else {
$xoopsScriptPath = isset($_SERVER["PATH_TRANSLATED"]) ? $_SERVER["PATH_TRANSLATED"] : $_SERVER["SCRIPT_FILENAME"];
}
if ( DIRECTORY_SEPARATOR != "/" ) {
// IIS6 may double the chars
$xoopsScriptPath = str_replace( strpos( $xoopsScriptPath, "\\", 2 ) ? "\\" : DIRECTORY_SEPARATOR, "/", $xoopsScriptPath);
}
if ( strcasecmp( substr($xoopsScriptPath, 0, strlen(XOOPS_ROOT_PATH)), str_replace( DIRECTORY_SEPARATOR, "/", XOOPS_ROOT_PATH)) ) {
exit("XOOPS path check: Script is not inside XOOPS_ROOT_PATH and cannot run.");
}
}
// Database
// Choose the database to be used
define( 'XOOPS_DB_TYPE', 'mysql' );
// Set the database charset if applicable
if (defined("XOOPS_DB_CHARSET")) die();
define( 'XOOPS_DB_CHARSET', 'utf8' );
// Table Prefix
// This prefix will be added to all new tables created to avoid name conflict in the database. If you are unsure, just use the default "xoops".
define( 'XOOPS_DB_PREFIX', 'prefix' );
// Database Hostname
// Hostname of the database server. If you are unsure, "localhost" works in most cases.
define( 'XOOPS_DB_HOST', 'localhost' );
// Database Username
// Your database user account on the host
define( 'XOOPS_DB_USER', 'myaccount_user' );
// Database Password
// Password for your database user account
define( 'XOOPS_DB_PASS', 'myaccount_password' );
// Database Name
// The name of database on the host. The installer will attempt to create the database if not exist
define( 'XOOPS_DB_NAME', 'myaccount_database' );
// Use persistent connection? (Yes=1 No=0)
// Default is "Yes". Choose "Yes" if you are unsure.
define( 'XOOPS_DB_PCONNECT', 0 );
define( 'XOOPS_GROUP_ADMIN', '1' );
define( 'XOOPS_GROUP_USERS', '2' );
define( 'XOOPS_GROUP_ANONYMOUS', '3' );
// Temporary solution for extra protector module. To be refactored
// Set the following value as true if you want to enable protector module
$ENABLE_PROTECTOR = true;
if ( !empty($ENABLE_PROTECTOR) ) {
@include XOOPS_TRUST_PATH . '/modules/protector/include/precheck.inc.php';
}
if (!isset($xoopsOption["nocommon"]) && XOOPS_ROOT_PATH != "") {
include XOOPS_ROOT_PATH."/include/common.php";
include_once XOOPS_ROOT_PATH."/modules/multisite/post.load.php"; //line added for multisite
}
if ( !empty($ENABLE_PROTECTOR) ) {
@include XOOPS_TRUST_PATH . '/modules/protector/include/postcheck.inc.php';
}
}
...interested in any advice, opinions or otherwise.
Thanks much.