Modifiche da apportare a WebCalendar v0.9.45-4 SARGE per supporto virtual host
I file di installazione di webcalendar sono ripartiti su:
/usr/share/webcalendar …. la web application
/var/lib/webcalendar…. i file sql con la struttura del DB
/etc/webcalendar …. i file di configurazione… linkati da
/usr/share/webcalendar/includes/
per creare i files principali per ciascun virtualhost si deve:
– creare un DB separato
– creare un file setting.php (info per connetersi al DB)
– creare un file style.php (file di stile css ..)
(altre operazioni come l’inserimento di loghi ecc.. possono venire fatte dal pannello di amministrazione di WC e salvate direttamente sul database…)
________________________________
Per lasciare indipendente la struttura di WC dai file di configurazione prendiamo come parametro per differenziare i diversi file ed il database il “nome server”… ottenuto dal valore della varibile interna php $_SERVER[‘SERVER_NAME’]
il nome sarà webcalendar.dominio.it, bisognerà aggiungerlo nel file di zona di bind.
(se si vuole modificare il dominio di 3° livello basta creare i files di configurazione con il nome del nuovo sottodominio… )
Per ovvi motivi legati al nome del DB tutto ciò che non è un carattere alfanumerico viene sostituito da _
I nuovi file di configurazione verranno creati sotto /usr/share/webcalendar/includes/ e saranno 2, uno sostituisce settings.php e l’altro styles.php
styles.php –> /usr/share/webcalendar/includes/webcalendar_dominio_it_css.php
settings.php –> /usr/share/webcalendar/includes/webcalendar_dominio_it.php
____________________________________________________________
MODIFICHE DA EFFETTUARE SUI FILES….
______________________________________________________________
le linee che iniziano con >>> sono da aggiungere, quelle con più di 2 slash da remmare, quelle con 2 slash sono già commentate dagli sviluppatori
______________________________________________________________
FILE /usr/share/webcalendar/includes/config.php
// Open settings file to read
$settings = array ();
>>> $file_config= ereg_replace( “[^A-Za-z0-9]”, “_”,
$_SERVER[‘SERVER_NAME’]);
>>> $file_config.=’.php’;
>>> $fd = @fopen ( $file_config, “rb”, true );
/////$fd = @fopen ( “settings.php”, “rb”, true );
______________________________________________________________
FILE /usr/share/webcalendar/includes/init.php
// Include the styles
if ( ! $disableStyle ) {
>>> $css_file_config= ereg_replace( “[^A-Za-z0-9]”, “_”, $_SERVER[‘SERVER_NAME’]);
>>> $css_file_config.=’_css.php’;
>>> include_once “includes/$css_file_config”;
//////include_once ‘includes/styles.php’;
}
______________________________________________________________
FILE /usr/share/webcalendar/login.php
>> $css_file_config= ereg_replace( “[^A-Za-z0-9]”, “_”, $_SERVER[‘SERVER_NAME’]);
>>> $css_file_config.=’_css.php’;
>>> include “includes/$css_file_config”;
///// include “includes/styles.php”;
// Print custom header (since we do not call print_header function)
_______________________________________________________________
Esempio di VirtualHost per httpd.conf
ServerAdmin [email protected]
Alias /webcalendar /usr/share/webcalendar
DocumentRoot /var/www/dominio.it
ServerName webcalendar.dominio.it
ErrorLog /var/log/apache/error.log
CustomLog /var/log/apache/access.log common
______________________________________________________________
Per il file setting.php copiare quello originale da
/etc/webcalendar/settings.php
a
/usr/share/webcalendar/includes/webcalendar_dominio_it.php
_____________________________________________________________
Per il file di stile copiare quello originale da
/etc/webcalendar/styles.php
a
/usr/share/webcalendar/includes/webcalendar_dominio_it_css.php
_____________________________________________________________
Creare il DATABASE…. (usando webcal_ come prefisso + dominio, i caratteri non alfanumerici diventano _)
mysqladmin -u root –password=’passsssword’ create webcal_dominio_it
e costruire le varie tabelle
mysql -u root –password=’passsssword’ webcal_dominio_it < /var/lib/webcalendar/sql/tables-mysql.sql _____________________________________________________________ ls di esmepio della dir includes con domini vari... -rw------- 1 www-data www-data 650 Sep 13 16:15 webcalendar_ilfumouccide_it.php -rw------- 1 www-data www-data 21942 Sep 13 16:04 webcalendar_ilfumouccide_it_css.php -rw------- 1 www-data www-data 645 Sep 13 15:01 webcalendar_t3xil33_it.php -rw------- 1 www-data www-data 21942 Sep 13 15:37 webcalendar_t3xil33_it_css.php -rw------- 1 www-data www-data 645 Sep 13 15:01 webcalendar_texilee_it.php -rw------- 1 www-data www-data 21919 Sep 13 15:33 webcalendar_texilee_it_css.php _____________________________________________________________ verificare e reloadare bind e apache poi da browser http://webcalendar.dominio.it/webcalendar nome e password: admin