Multisito

Questa documentazione spiega come trasformare un classico sito Envolution in un multisito. Non c'è quasi niente nella cartella NS-Multisites, è normale, perchè quasi tutto si trova già nel codice di Envolution e saranno necessarie alcune manipolazioni fatte da persona esperta (ma neanche tanto, poi).

L'esempio riportato considera diversi nomi di dominio e un unico server. Consideriamo:

www.domain1.com, www.domain1.net, www.domain1.org, essai.domain1.net
www.domain2.com, www.domain2.net, www.domain2.org, othersubdomain.domain2.net

Si vuole avere lo stesso contenuto per tutti i domain1, e per tutti i domain2 eccetto per "othersubdomain.domain2.net" e per tutti i "othersubdomain.domain2.net" invece un contenuto diverso.

Creare una cartella nella cartella principale.

Chiamarla "parameters"

creare nella cartella parameters il seguente file: whoisit.inc.php

Sorgente di parameters/whoisit.inc.php:

<?
/* potete modificare ogni cosa, SERVER_NAME può servire in parecchie      
configurazioni. Perciò, invece di usare SERVER_NAME, dovrete usare     
 HTTP_HOST. Per i sottodomini, magari volete sopprimere il primo livello       
dal nome di dominio, e, per continuare con l'esempio "linux.mouzaia",      
allora usate "mouzaia". */

global $SERVER_NAME;
$serverName = $SERVER_NAME;
$serverName = str_replace("www","",$serverName);
$serverName = str_replace("essai","",$serverName);
$serverName = str_replace(".org","",$serverName);
$serverName = str_replace(".net","",$serverName); 
$serverName = str_replace(".com","",$serverName);
?>
Trovate un file "whoisit.inc.php" nella cartella NS-Multisites/installation. Copiatelo nella cartella "parameters".

In questa certella, creare una cartella di nome domain1, un'altra di nome domain2, e una terza di nome "othersubdomain.domain2".

In queste cartelle copiare il file originale config.php, e modificare ognuno di essi come desiderato, in particolare $dbname e $prefix.

Creare una cartella all'interno di ognuna di queste cartelle, chiamarla "images"

Quando usate una configurazione multisito, è normale avere i loghi in questa cartella. Il solo logo è il minimo: metteteci pure le immagini che volete usare come logo: E' OBBLIGATORIO.

Ho modificato il file print.php per puntare proprio lì. Bisogna modificare anche i temi di conseguenza: nell'esempio il tema "extralite".

Le modificazioni sono:

img src=\"".WHERE_IS_PERSO."images/logo.gif\" alt=\""._WELCOMETO." $sit

Non so perchè questo "logo.gif" appaia proprio quì, dovrebbe essere ovviamente "$site_logo" ...

 

Sostituite l'originale config.php della cartella principale con:

<?

include("parameters/whoisit.inc.php");
if (!(empty($serverName)))
{ include("parameters/".$serverName."/config.php"); }

/* this next defined is coming before the one I put in mainfile2.php. So there are 2 possibilities, to destroy the one I put in mainfile2.php, or to let it, as it is coming after the one below, it wont affect WHERE_IS_PERSO. */

define("WHERE_IS_PERSO","parameters/".$serverName."/");

?>

Trovate un config.php in "NS-Multisites/installation". Copiatelo nella cartella principale di Envolution, ma attenzione, non dimenticate di copiare il file originale config.php come descritto sopra, prima di copiare quest'ultimo !

 

E così, il vostro è un multisito. Ora vorrete avere la possibilità di dare a ogni sottosito un proprio tema.

Spiegazione: il vostro è un "multisito". Potete modificare ogni cosa in ogni singolo config.php, avrà effetto solo sul sito corrispondente. Ma i temi sono disponibili solo nella loro cartella base dei temi. Le immagini sono quelle di images/topics ...Dobbiam o personalizzare anche questo.

Nelle cartelle "domain1", "domain2", "othersubdomain.domain2":

Creare una cartella themes in ognuna di esse.

In questa cartella create un semplice "index.html" per ragioni di sicurezza. Poi copiate un tema completo come quelli della cartella base dei temi con tutte le sottocartelle. I temi che mettete quì DEVONO AVERE UN NOME DIVERSO . Perciò ho fatto un test coI tema di Envolution, Envo-Sky, chiamandolo Envo-Sky2. Percui d'ora in avanti vedrete anche questo nuovo tema affianco agli altri temi.

Quest'è tutto per i temi personalizzati .

Anche un pntables.php personalizzato?

Semplice ! copiate pntables.php nella vostra cartella"parametes/linux.mouzaia". Poi potete modificarlo. Se il sistema non trova pntables.php in questa cartella, userà quello principale.

Immaggini Personalizzate.

Dato che config.php non è molto usato in Envolution, ma più nelle tabelle del database, presumo che si possa modificare il contenuto di ex-tipath direttamente nel database:

SELECT nuke_module_vars.pn_value FROM nuke_module_vars WHERE nuke_module_vars.pn_modname='/PNConfig' AND nuke_module_vars.pn_name='tipath'

Dato che tabelle appartengono a un dominio, potete modificare pn_value, cambiando lì il percorso delle immagini.

Non funziona !

Il problema potrebbe essere la configurazione del server. In particolare, dentro whoisit.inc.php, ho usato SERVER_NAME. Forse non è la variabile di sistema più adatta da usare. Controllate facendo un semplice phpinfo(). E modificate di conseguenza whoisit.inc.php.

Sempre in whatisit.inc.php, ho usato .com, .net, .org, ma, naturalmente a voi servirà anche .it, .fr, allora usate una cartella che si chiama linux.mouzaia.org o come volete voi......