IGWiki Main Page


IGSuite Howto

Ricerca pagine

SourceForge Logo

IGSuiteConfigurare IGSuite e il suo ambiente (Documento scaduto)
  Modifica PaginaStorico paginaProprietàGet PdfCalcTranslatorVisualizza il documento in formato stampabile.Posso Aiutarti

Configurare IGSuite

La configurazione di IGSuite comprende moltissimi aspetti che riguardano sia l'ambiente su cui il sistema opera, ma anche il modo stesso in cui dovrà farlo. Una corretta configurazione di IGSuite evita numerose anomalie e perdite di tempo e la sicurezza di avere a disposizione tutte le feature presenti.

Per configurare "completamente" tutto l'ambiente necessario al funzionamento di IGSuite si consiglia di rispettare il seguente ordine:

  • Controllare i prerequisiti e installare IGSuite come da documentazione;
  • Configurare il file '/tua_directory/cgi-bin/igsuite.conf' secondo quanto riportato di seguito;
  • Impostare gli account degli utenti di IGSuite con i relativi permessi come riportato di seguito;
  • Impostare i valori delle "tabelle base" come riportato di seguito;
  • Configurare i vari Client o accertarsi che rispondano ai requisiti sotto elencati;


Il file di configurazione igsuite.conf

Durante l'installazione iniziale di IGSuite, lo script da riga di comando "install.pl" o l'applicazione web-based IGPacman (a seconda di come si è scelto di installare IGSuite) pongono una serie di domande atte ad impostare i parametri necessari al funzionamento di IGSuite. In realtà quello che veramente fanno tali script, oltre alla copia dei file di sistema, non è altro che la scrittura del file "igsuite.conf". È questo file e solo questo, che definisce tutto l'ambiente offerto dalla suite e dal suo FrameWork.

Finita l'installazione è buona norma raggiungere il file igsuite.conf, all'interno della directory ./cgi-bin/conf/ e "ritoccare" alcuni parametri che di default vengono ignorati durante l'installazione perché non necessari al funzionamento preliminare del sistema.

N.B. Si ricorda che il file igsuite.conf altro non è che una porzione di codice Perl, occorre pertanto rispettare la sintassi di questo linguaggio nel corso delle modifiche del file

La localizzazione del linguaggio

Essendo IGSuite multiutente, ed offrendo ad ogni utente la possibilità di poter scegliere il linguaggio in cui operare, occorre comunicare al sistema quale sarà il linguaggio di "default", quello ad esempio utilizzato quando nessun utente è loggato (nel caso quindi si abbia un utente guest). Tale linguaggio verrà anche utilizzato per applicazioni di IGSuite funzionanti al di fuori dell'ambiente web-based.

$default_lang = 'it';

I linguaggi attualmente supportati da IGSuite sono: it - en - es - fr - pt - nl

Dati generali sulla propria attività

Per dati generali in realtà intendiamo dati anagrafici inerenti la società che utilizzerà IGSuite, quindi:

$soc_name     = 'Ecosystem S.p.A.';
$soc_logo     = 'http://miosito/logo.jpg';
$soc_email    = 'info@ecosystemspa.com';
$soc_address  = 'Via della Solfarata Km 10.750';
$soc_city     = 'Pomezia';
$soc_cap      = '00040';
$soc_country  = 'IT'; 
$soc_prov     = '(RM)';
$soc_fax      = '069100000';
$soc_tel      = '069100000';

Tali dati verranno utilizzati da IGSuite in molte occasioni (intestazione dei documenti commerciali, Intestazioni di reportistiche, generazione mappe, prelievo meteo etc) è opportuno quindi inserirli tutti.

L'account dell'amministratore

Questo account in genere definito durante l'installazione, è quello che ha i maggiori privilegi all'interno di IGSuite, e soprattutto è quello necessario a stabilire la prima connessione subito dopo l'installazione.

$login_admin  = 'lucas';
$pwd_admin    = 'xxxxxxxx';


L'ambiente di Apache

Dato che IGSuite lavora in un ambiente web-based, è di primaria importanza la configurazione di tutti gli aspetti che riguardano il server Web che lo ospita. Fino ad oggi IGSuite non è mai stato utilizzato attraverso un server diverso da Apache, ma funzionando quest'ultimo oramai su ogni piattaforma e garantendo il massimo in termini di prestazioni e stabilità preferiamo affidarci completamente al suo ambiente.

Quando all'interno di un ambiente web-based viene eseguito un CGI questi assume i privilegi dell'utente che in quel momento sta eseguendo il server web (a meno che non venga configurato un comportamento differente all'interno del file di configurazione di Apache). È per questo motivo che è di fondamentale importanza regolare i privilegi dei file e delle directory in cui andrà ad operare IGSuite.

Per la gestione di informazioni/dati IGSuite oltre ad utilizzare l'apporto di un database, sfrutta anche il filesystem locale. In genere nel file di configurazione di Apache questa directory è indicata come Document Root, e in effetti è la directory principale da cui IGSuite creerà tutta la struttura delle directory a lui necessarie per il salvataggio dei vari documenti.

$htdocs_dir = '/igsuite/Documenti';

In genere la Document Root di IGSuite (specificata in $htdocs_dir) dovrebbe coincidere con la Document Root di Apache in modo che se da un browser digito l'indirizzo del server che ospita IGSuite accedo direttamente alla Document Root di IGSuite. Ma ovviamente non sempre è possibile e non sempre si vuole ottenere questo risultato magari per la necessità di gestire più applicazioni sulla stessa macchina o altre configurazioni particolari. Viene quindi in aiuto la variabile $webpath con la quale è possibile specificare il percorso per raggiungere la Document Root di IGSuite da Web.

$webpath = 'Demo';

In questo modo ad esempio se la Document Root di Apache è uguale a "/srv/www" e la Document Root di IGSuite è uguale a "/srv/www/Demo" permettiamo al sistema di comprendere qual'è l'esatto percorso per raggiungere l'albero della struttura di IGSuite via Web.

In via opzionale è possibile indicare a IGSuite il percorso completo dove trovare le immagini (gif/png) del suo pacchetto.

$img_url = '';

Lasciando un valore nullo IGSuite usa il valore di default che è uguale a: '$webpath/images/'

L'header per accedere ai documenti via Samba

Questo è un aspetto tanto innovativo quanto complicato da spiegare. L'idea è quella di fornire ai client (in base ai permessi dell'utente) un percorso ai documenti del sistema (documenti protocollati, di qualità, fax, archivio etc) che ne permetta sia l'accesso in lettura che in scrittura. Per ottenere questo dobbiamo fare in modo che il percorso del filesystem presente sul server e che abbiamo definito con $htdocs_dir, sia accessibile dai vari client sia in lettura che in scrittura. Per ottenere tale accesso i metodi sono molteplici e variano in relazione alla piattaforma in cui operano rispettivamente il server e il client.

Ipotizzando che il server operi su Linux e il client su Windows possiamo tranquillamente risolvere il problema avviando samba sul server, e creando una "share" che permetta di condividere il filesystem di IGSuite con il client Windows. Ora che siamo riusciti a risolvere questo problema, dobbiamo però istruire IGSuite su quale percorso "offrire" ai client per accedere al documento, percorso che chiaramente varierà anche in funzione del browser utilizzato dal client.

$htdocs_path{'konqueror-linux'} = 'smb://192.168.0.200/fdos/Documenti';
$htdocs_path{'mozilla-win'}     = 'file:///L:/Documenti';
$htdocs_path{'msie-win'}        = 'file:///L|/Documenti';
$htdocs_path{'mozilla-linux'}   = 'file:///L/Documenti';
$htdocs_path{'galeon-linux'}    = 'file:///L/Documenti';

Come si capirà dall'esempio riportato, all'interno del file igsuite.conf si può specificare un tipo di percorso per ogni abbinamento browser/piattaforma presenti sui vari client. Da notare la prima definizione dove si utilizza il protocollo "smb://" presente nelle ultime versioni di Konqueror.

L'accesso a Hylafax

Il server Hylafax viene gestito da parte di IGFax attraverso delle sessioni FTP. Fermo restando il doversi accertare che sia possibile raggiungere con sessioni Ftp il Server Hylafax (controllare i firewall!) e che quest'ultimo sia in funzione, occorrerà anche impostare un valido account su di esso, per fare in modo che IGSuite lo utilizzi per l'invio e la ricezione dei fax.

Per informazioni su come impostare un account su Hylafax si rimanda alla documentazione ufficiale su http://www.hylafax.org link ma in breve è possibile aggiungere nuovi utenti Hylafax attraverso questo comando da digitare sul server dove risiede Hylafax:

faxadduser -a [adminpassword] -p [userpassword] -u [uid] [username]


E' anche possibile, tra le opzioni di Hylafax, permettere l'accesso attraverso l'IP dei client piuttosto che una login o una password; questa è senza dubbio la soluzione più pratica e veloce per operare con IGSuite.

Ecco dunque tutti i valori da inserire nel file igsuite.conf per una corretta configurazione di IGFax:

$hylafax_dir = '/var/spool/fax';
$hylafax_host = '127.0.0.1'; ## Use Ip instead of host
$hylafax_port = '4559';
$hylafax_login = 'root';
$hylafax_pwd = 'xxxxxxxx';


Occorre prestare attenzione al path relativo alla directory di installazione di Hylafax ($hylafax_dir) che potrebbe variare a seconda della distribuzione Linux in uso. Tale path viene utilizzato da IGFax esclusivamente per la produzione dei rapportini di invio/ricezione e non è necessario per l'invio e la ricezione dei fax. Ne consegue che l'uso dei rapportini è possibile solo qualora il server Hylafax risiede sulla stessa macchina dove è stato installato IGSuite. A tal proposito si dovrà impostare degli adeguati permessi in lettura da parte dell'utente che esegue Apache (in genere quello specificato in $www_user) per la directory xferfaxlog di Hylafax.

I due valori $hylafax_host e $hylafax_port permettono di specificare rispettivamente l'host e la porta con la quale raggiungere il server Hylafax che può essere quindi anche diverso da quello dove è installato IGSuite. E' preferibile indicare un IP piuttosto che un nome di host.

Nel caso $hylafax_login e $hylafax_pwd non vengano specificate, IGSuite utilizzerà la login e la password dell'utente di IGSuite che di volta in volta utilizzerà IGFax. Utilizzare quindi tali valori solo quando si ha un unico account per l'accesso a Hylafax per tutti gli utenti di IGSuite.

Dopo aver modificato igsuite.conf operare come segue:

  • Accertarsi che il file di configurazione di Hylafax "hosts.hfaxd" contenga l'IP del server su cui gira IGSuite (nel caso è lo stesso di quello su cui gira Hylafax dovrà contenere 127.0.0.1)
  • Assicurarsi che i "modem" configurati in Hylafax all'interno dei relativi file di configurazione, abbiano impostati nei parametri: "RecvFileMode", "LogFileMode" e "DeviceMode" il valore "0666". In genere tali file hanno un nome tipo: "config.ttyS0".


Per maggiori informazioni Vi rimandiamo alle pagine del manuale di Hylafax.

N.B. con alcune funzioni di Hylafax IGFax non riesce a reperire correttamente il numero di telefono del mittente del fax. In questi casi è possibile risolvere il problema attraverso l'applicazione 'faxinfo' presente all'interno del pacchetto di Hylafax configurando il suo percorso o path all'interno del file di configurazione igsuite.conf con il seguente parametro:

$ext_app{faxinfo} = '/usr/sbin/faxinfo';


I permessi di default di IGWiki

All'interno di IGWiki è data la possibilità di impostare per ogni pagina i permessi di lettura e quelli di scrittura. Nel nostro file di configurazione igsuite.conf è possibile specificare quali i permessi di default utilizzati quando si crea una nuova pagina.

$def_wiki_show = 'A';
$def_wiki_edit = 'P';

I valori che si possono utilizzare sono:

  • P - Per dare permessi solo al proprietario della pagina.
  • S - Per dare permessi a tutti gli utenti di IG (escluso guest)
  • F - Per dare i permessi agli utenti facenti parte dello stesso gruppo del proprietario della pagina
  • A - Per dare i permessi a tutti indistintamente


L'accesso al Database

IGSuite sfrutta l'accesso ad un RDBM per la gestione dei dati. Attualmente IGSuite funziona senza problemi sia con Postgres ( http://www.postgres.org link ) che con MySql ( http://www.mysql.org link ) ed in via sperimentale con SQLite. Quindi è questa la prima impostazione da definire: il driver che IGSuite dovrà utilizzare per accedere all'RDBM

$db_driver    = 'postgres';
o in alternativa
$db_driver    = 'mysql';
o ancora (sperimentale)
$db_driver    = 'sqlite';

Le altre impostazioni sono molto intuibili ma per completezza le elenchiamo (nell'esempio le impostazioni necessarie a Postgres):

$db_name      = 'igsuite';
$db_host      = 'localhost';
$db_port      = '5432';
$db_login     = 'postgres';
$db_password  = 'xxxxxxxx';

Si ricorda che la maggior parte dei problemi di installazione di IGSuite è dovuta ad un'errata configurazione sul Database dell'account $db_login $db_password e più precisamente ai privilegi impostati per tale account.

N.B. chiaramente potendo specificare l'host del db si ha la possibilità di utilizzare un RDBM che non si trova sulla stessa macchina dove gira Apache e IGSuite

Il Menù di IGSuite

Per una migliore trattazione di questa opzione si rimanda a questa Faq


 %menu_item=(
        'Mia voce'=> ['http://link_a_mia_voce','blank_']
        'Mia voce2'=> ['http://link_a_mia_voce2','blank_']
 );


Le applicazioni esterne

Alcune delle feature di IGSuite sono ottenute sfruttando applicazioni esterne, occorre quindi impostare in igsuite.conf il path completo per accedere a tali applicazioni. Si ricorda che nelle direttive di sviluppo di IGSuite incorre l'obbligo di utilizzare solo applicazioni eseguibili allo stesso modo su ogni piattaforma supportata da IGSuite.

$ext_app{gs} = '/usr/bin/gs';
$ext_app{convert} = '/usr/bin/convert';
$ext_app{faxinfo}= '/usr/sbin/faxinfo';

Queste prime due applicazioni sono necessarie solo per il corretto funzionamento di IGFax e IGFileManager. Rispettivamente, "gs" è GhostScript ( http://www.cs.wisc.edu/~ghost/ link ); "convert" fa parte del pacchetto ImageMagick ( http://www.imagemagick.org link ) e "faxinfo" fa parte del pacchetto di Hylafax e serve 'solo' a migliorare la lettura dei tag dei fax (tipo il numero di telefono del mittente).

$ext_app{htmldoc} = '/usr/bin/htmldoc';
$ext_app{htpasswd} = '/usr/bin/htpasswd';
$ext_app{tiffcp} = '/usr/bin/tiffcp';

Rispettivamente "htmldoc" serve a igwiki se si vogliono convertire pagine wiki in formato pdf; "htpasswd" occorre a IGSuite se si vuole gestire accessi HTACCESS di Apache attraverso IGSuite, e "tiffcp" se si vuole attivare una piccola feature di IGArchive che permette di manipolare i file tiff.

L'abiente di IGWebMail

Per configurare IGWebMail dobbiamo suddividere gli aspetti che lo riguardano in due gruppi: l'invio di e-mail, e la ricezione delle e-mail.

Configurare la posta in Uscita

Per inviare messaggi di posta elettronica è possibile configurare il comportamento di IGWebMail in due modi diversi: attraverso l'utilizzo di Sendmail, o attraverso l'utilizzo di un sever SMTP (raggiungibile da server cui è installato IG).

Specificando il path per accedere a Sendmail automaticamente si disabilita l'uso del server Smtp, anche se per esso si sono specificati dei parametri. Quindi abbiamo:

$ext_app{sendmail} = '/usr/sbin/sendmail';

o in alternativa:

$smtp_conf{host} = 'localhost';## Your SMPT Ip address or Hostname
$smtp_conf{port} = '25';       ## Your SMPT port
$smtp_conf{debug} = 0;         ## Debug flag


N.b. Allo stato attuale IGWebMail non supporta l'autenticazione sul protocollo SMTP!

Configurare la posta in Entrata

Anche per la posta in entrata abbiamo due opportunità, possiamo infatti o ricevere la posta da un server Pop3, oppure leggere direttamente un file (o una directory) di spool dei messaggi presenti sul sistema locale.

Specificando un server Pop3 automaticamente si disabilita l'uso dello spoolfile anche se per esso sono stati specificati dei parametri. Quindi abbiamo:

$pop3_conf{host} = 'localhost';
$pop3_conf{port} = 110;
$pop3_conf{login} = '';
$pop3_conf{pwd} = '';

N.b. Attraverso $pop3_login e $pop3_pwd possiamo specificare un account unico per l'accesso al server Pop3. È questo un caso particolare che in genere non viene utilizzato.

In IGSuite ogni utente puo' configurare un suo account di posta elettronica spostandosi su Impostazioni->Profilo_Personale. Nel caso nessuna login e password sia specificata dall'utente per l'account Pop3, IGSuite utilizzerà la login e la password che ogni utente normalmente usa per accedere alla Suite.

I server Pop3 possono essere configurati in molti modi, ad esempio per quanto riguarda la porta d'accesso o il tipo d'autenticazione degli utenti. Nel caso la configurazione standard sopra illustrata non sia sufficente o si riscontrino dei problemi d'accesso si rimanda alla lettura di questa documentazione: pop3 configurazione avanzata.

La configurazione dello spool file offre la possibilità di supportare molti sistemi di posta elettronica con i rispettivi differenti modi in cui vengono salvati i messaggi di posta sul filesystem. Originariamente l'accesso agli spool file erano garantiti dall'esecuzione di IGWebMail con suid ma successivamente, per prevenire problemi di sicurezza e facilitare la configurazione di IGSuite, si è deciso di consigliare agli utenti di aggiungere semplicemente l'utente che esegue Apache al gruppo dell'utente che esegue il server di posta elettronica (ad esempio su Linux modificando il file /etc/group).

N.B. Si consiglia di preferire l'accesso alla posta in arrivo attraverso un server Pop3 piuttosto che un file spool, anche se quest'ultimo offre maggiori prestazioni in termini di velocità.

HomeDirSpool: Nel caso si usi qmail, o qualsiasi sistema di posta in cui questa viene gestita in file diversi (con nome configurabile) all'interno delle directory 'home' degli utenti, occorre impostare le seguenti due variabili, inserendo in $homedirspoolname il nome delle directory che il server di posta crea nelle home degli utenti:

$homedirspools = 'yes';
$homedirspoolname = 'Mailbox';


MailSpoolDir: Nel caso invece in cui il server di posta salvi tutti i messaggi in una stessa directory dando ad ogni file di spool il nome dell'utente, occorre impostare il nome di tale directory all'interno della variabile $mailspooldir:

$mailspooldir = '/var/spool/mail';


HashedMailSpool: Nel caso il server di posta usi salvare i messaggi di posta elettronica con una struttura tipo /var/spool/mail/u/s/username occorre impostare la seguente variabile a "yes" e aver comunque impostato il valore di $mailspooldir come sopra descritto:

$hashedmailspools = 'yes';
$mailspooldir = '/var/spool/mail';


N.B. una volta individuata quale l'impostazione che corrisponde al proprio sistema di posta elettronica impostare solo e solo quella con valore "yes" mettendo un valore "no" o commentando tutte le altre.

I permessi degli utenti

All'interno di IGSuite per ogni utente è possibile definire i privilegi di accesso ad ogni risorsa. Chiaramente tali privilegi sono modificabili solo dall'amministratore o da un utente con permessi "SYS_USER_ADMIN".

Per modificare i permessi di un utente cliccare su "Personale" scegliere l'utente per cui si vogliono modificare i permessi e poi cliccare su "Gestione Permessi", apparirà una schermata che elenca tutte le feature di IGSuite e per ognuna offre una serie di check box con i quali abilitare o disabilitare l'accesso all'utente.

Particolare riguardo ha il permesso "SYS_USER_ADMIN" con il quale è possibile definire ulteriori utenti con permessi di Amministratore.

Le tabelle di base

Le tabelle base di IGSuite permettono all'amministratore di impostare dei valori che regolano il funzionamento di alcune feature del sistema. Tali tabelle sono accessibili da "Impostazioni->Gestione tabelle di base" il nome che le identifica è abbastanza autoesplicativo. Durante il primo utilizzo di IGSuite il sistema avviserà l'utente della necessità di valorizzare tali tabelle, non è quindi indispensabile preoccuparsi di inserire da subito tutti i valori.

I Client

In realtà c'è poco da dire sul modo in cui occorre configurare i client su cui utilizzare IGSuite se non nel fatto che bisogna accertarsi che ogni tipo di sistema di cache o proxy del browser utilizzato sia disattivato. Questo chiaramente per non incorrere in pagine che in realtà non sono dinamiche, ma riportare da una cache del browser.

Altro aspetto (se utilizzato) è quello che riguarda l'accesso ai documenti gestiti da IGSuite e più precisamente alla condivisione impostata su Samba per accedere al Document Root di IGSuite (si veda sopra).


Nome: Configurare IG - Revisione: 19 - Autore: LucaS (18.02.2005) - Modificata da: LucaS (25.06.2008) - Categoria: Documentazione - Scadenza: 31.12.2020 - Permessi di visualizzazione: Tutti indistintamente - Permessi di modifica: Condiviso con gli utenti dello stesso gruppo - Approvata da: LucaS - Copyright © LucaS All right reserved - Pagina disponibile anche in: en