Guida all'installazione manuale

From VFront Wiki

Jump to: navigation, search

Stai leggendo la versione italiana Italian.gif del documento.
The English version English us.gif of this document is Manual installation guide

Contents

Licenza di questa documentazione

Copyright (c) 2007 Marcello Verona <marcelloverona@gmail.com>
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU
Free Documentation License".



Introduzione all'installazione manuale

VFront è predisposto per essere installato automaticamente. Solitamente è sufficiente aprire dal browser l'URL dove si è scompattato VFront e parte l'installer guidato. Si suggerisce di utilizzare questa procedura.

Tuttavia è possibile che

Questa guida mostrerà come installare (e disinstallare) VFront manualmente. Ti mostrerà inoltre cosa c'è nel file di configurazione e come modificarlo consapevolmente.




Requisiti di base

Per funzionare VFront necessita del seguente software:

E' preferibile utilizzare PHP come modulo di Apache. E' tuttavia possibile utilizzare VFront con PHP in modalità CGI, sebbene potrebbero essere riscontrati comportamenti imprevisti.

Sono richiesti i seguenti moduli per PHP:

Opzionalmente si richiedono inoltre i seguenti moduli

Per le operazioni relative alla reportistica è richiesto il parametro allow_url_fopen impostato su TRUE.
Il parametro è impostabile nel file php.ini oppure nel file httpd.conf (non ad esempio in un .htaccess).
La sezione statistiche utilizza invece PEAR (http://pear.php.net/) per la generazione dei grafici. Sono richiesti dunque, oltre a PEAR i pacchetti:

Nota bene: al momento in cui si scrive il pacchetto Image_Graph è alla release 0.72. Questa release ha un piccolo bug nella generazione delle etichette dei grafici a torta, che non vengono mostrate senza generare alcun errore. Per risolvere il problema utilizzare la versione CVS del file Image/Graph/Plot/Pie.php recuperabile dall'indirizzo
http://cvs.php.net/viewcvs.cgi/pear/Image_Graph/Graph/Plot/Pie.php?content-type=text%2Fplain&view=co



Nota importante per gli utilizzatori di MySQL

VFront utilizza l'information_schema per recuperare le informazioni sul DB. E' noto che l'information_schema di MySQL, essendo una vista logica su tutti i database, non ha buone performance. Se utilizzi un server database MySQL con molti (> ~100) database e tabelle potresti avere un rallentamento anche su VFront ( http://bugs.mysql.com/bug.php?id=19588 ). Questo accade tendenzialmente solo nelle procedure di amministrazione.

E' comunque in sviluppo una nuova versione di VFront che ignorerà l'information_schema e che utilizzerà solo le funzioni sulla struttura (SHOW, DESCRIBE, etc).



Nota importante per gli utilizzatori di PostgreSQL

VFront fa grande uso delle viste dello schema "information_schema". Ci sono alcune viste che possiedono dei bug per quanto riguarda l'attribuzione dei diritti, errori documentati sui forum del sito di Postgres (Si legga ad esempio http://archives.postgresql.org/pgsql-bugs/2006-12/msg00168.php e
http://archives.postgresql.org/pgsql-hackers/2007-08/msg00329.php). Le viste coinvolte sono key_column_usage e table_contraints. Questi bug si sono trascinati in numerose versioni di Postgres dalla 7.4 (nella quale è stato aggiunto l'information_schema) alla 8.2.

La conseguenza delle viste "bacate" di Postgres su VFront è l'impossibilità di rilevare la presenza di chiavi primarie e chiavi esterne nelle tabelle, compromettendo il funzionamento dell'intera applicazione. Il problema non si presenta nel caso di utilizzo di un utente "SUPERUSER" come utente di VFront per leggere il database, scelta peraltro sconsigliata per ragioni di sicurezza.

Per risolvere il bug è possibile eseguire lo script presente nella cartella _install dal nome

_install/postgres.information_schema.bugfix.sql

come utente superadmin (ad es. "postgres"). Lo script (che ricrea le viste con le giuste attribuzioni di diritti) funziona sicuramente nella versione 8.1. Per altre versioni è forse necessario apportare alcune modifiche al bugfix.


Procedura di installazione manuale

Sarà qui esposto come installare manualmente VFront:

  1. Creazione del filesystem
  2. Creazione del database
  3. Diritti del database
  4. Modifica del file conf

Recuperare i file e creare il filesystem

Puoi recuperare i file di VFront da sourceforge in due modi:

Dal repository ufficiale
https://sourceforge.net/projects/vfront/
Via SVN
La sintassi è svn co https://vfront.svn.sourceforge.net/svnroot/vfront vfront

Scarica VFront in una directory sottoposta a browsing da parte di Apache o [crea un alias] qualora voglia posizionarla in una directory speciale.

Note sull'SVN

La versione di SVN è una versione di sviluppo, quindi sono presenti bugfix e nuove features molto prima che nelle versioni ufficiali. D'altro canto è anche possibile che ci siano funzioni non completamente sviluppate e file in fase alpha.

Creazione del database

VFront utilizza un suo database (su Postgresql, più correttamente, uno schema) per gestire le maschere e le regole. Come specificato nel Manuale di riferimento questo database non intacca in alcun modo i dati presenti nel vostro database.

Per creare il DB esegui lo script presente nella cartella _install con i privilegi di amministrazione :

per MySQL
_install/vfront.mysql.sql
per PostgreSQL
_install/vfront.postgres.sql


Eliminazione del gruppo temp

Lo script sopra citato oltre a creare le tabelle, ne popola alcune (variabili e gruppo). Per procedere con l'installazione manuale è necessario cancellare il gruppo con

gid = -1.

Si tratta di un gruppo temporaneo, utile per l'installazione automatica. Se procedi con l'installazione manuale è importante cancellare questo gruppo.


Diritti del database

E' necessario attribuire all'utente database che si intende utilizzare i diritti sui database

Diritti su Database dati

Per quanto riguarda il database dati (il tuo database) i diritti minimi da impostare sono:

Per MySQL:

SELECT, INSERT, UPDATE, DELETE, SHOW VIEW


Per PostgreSQL

SELECT, INSERT, UPDATE, DELETE, REFERENCES


Diritti su Database VFront

Per quanto riguarda il database di VFront (o lo schema in Postgres) i diritti sono:

SELECT, INSERT, UPDATE, DELETE


Creazione dell'utente admin

A questo punto devi creare l'utente amministratore. Per farlo crea un utente nella tabella "utente" del database (o schema) di VFront che abbia livello=3 e gruppo=0. Nota bene che la password deve essere espressa in hash md5. Se operi con phpMyAdmin hai a disposizione l'opzione di convertire in MD5 una stringa. Altrimenti per generare un hash md5 della tua password, puoi utilizzare md5 da shell (su Linux), oppure puoi utilizzare uno dei tanti convertitori presenti su web, ad es. http://pajhome.org.uk/crypt/md5/

Modifica del file conf

Nella cartella conf è presente il file conf.vfront.php.dist.

Devi farne una copia e rinominarlo in conf.vfront.php. Potresti sempre rinominare l'originale file conf.vfront.php.dist, ma si suggerisce di tenerne una copia qualora volessi reinstallare VFront e usare la procedura automatica.

Puoi anche dargli un nome diverso e/o tenerlo in una posizione del filesystem diversa. In questo caso devi fare qualche modifica in più documentata nella sezione Inclusione del file di configurazione



Le sezioni indispensabili da modificare sono:

Copia dei file ed impostazione dei diritti a file e cartelle

Scompattare l'archivio di VFront nella directory sottoposta a browsing.
La struttura della directory dovrebbe apparire così:

VFRONT_ROOT
- _install
- admin
- conf
- files
  -- docs
  -- docsadmin
  -- html
  -- tmp
  -- xls_custom
- img
- inc
- js
- locale
- plugins
  -- FCKeditor
  -- highlight
  -- phpmailer
  -- phpgettext
  -- ods
  -- phpExcelReader
  -- ttf
- stats
- sty
- themes
- usr
- xml

Alcune cartelle devono essere scrivibili da Apache. Queste sono:

Qualora si volesse utilizzare il debug attraverso il file rpc.debug.txt (si veda oltre per una descrizione) anche questo file deve essere accessibile in scrittura da Apache.

Il file di configurazione in dettaglio

Il file di configurazione si chiama conf/conf.vfront.php. Attraverso il file di configurazione si possono impostare gran parte dei parametri di VFront. Altri parametri relativi all'uso ed all'aspetto saranno impostabili mediante l'area di amministrazione e la configurazione delle variabili della tabella "variabili".

Connessione al database

La prima sezione del file di configurazione è relativa alla connessione al database.
E' possibile scegliere se utilizzare VFront come front-end di un database MySQL 5.x oppure PostgreSQL 8.x. Si ricorda che mentre il supporto per MySQL 5.x ha avuto numerosi test ed applicazioni reali, il supporto per PostgreSQL è allo stato attuale ancora instabile e da considerarsi in fase alpha.

I parametri richiesti sono:

$db1['dbtype']="mysql"; 
// indica la tipologia di databas: può essere "mysql" oppure "postgres". DEVE essere specificato

$db1['host']="localhost";
// host del server:

$db1['port']="3306";
// porta del server: di default 3306 per MySQL e 5432 per PosgreSQL

$db1['user']="nomeutente";
// utente per la connessione al database

$db1['passw']="segreta";
// password per la connessione al database

$db1['dbname']="banca";
// nome del database: nel caso di postgres utilizzare "public", cioè il nome dello schema

$db1['frontend']="vfront_test";
// nome del database di VFront. In postgres corrisponde al nome dello schema (si suggerisce "frontend" oppure "vfront")

$db1['postgres_dbname']="nome_database";
// nome reale del database (solo nel caso si utilizzi Postgres)



Impostazioni di autenticazione

VFront permette l'autenticazione mediante la propria tabella "utente", oppure mediante altro sistema. La logica di autenticazione e quella di accreditamento di diritti dell'utente sono infatti disgiunte.
Quando si fa un'autenticazione esterna (ad esempio mediante LDAP) se l'utente esiste viene automaticamente autenticato su VFront. Il passaggio successivo sarà l'accreditamento di diritti mediante la tabella utente: qualora l'utente esistesse su LDAP e non sulla tabella utente verrà automaticamente iscritto in questa, e gli saranno attribuiti i diritti di default (gruppo 0). Per maggiori informazioni sull'uso dei gruppi e i diritti degli utenti si rimanda alla documentazione di VFront.

Il parametro per l'autenticazione è

$conf_auth['tipo_external_auth']= ''; 

Se impostato ='' oppure =null l'autenticazione avverrà mediante il database di VFront e la sua tabella utente.
Gli altri parametri possibili al momento sono

Qualora si impostasse uno di questi parametri saranno richiesti altre variabili:

$conf_auth['campo_email']='email';
// indica il nome del campo database o LDAP per recuperare l'email dell'utente,
// utilizzata per l'autenticazione

$conf_auth['campo_password']='passwd';
// indica il nome del campo database o LDAP per recuperare la password dell'utente,
// utilizzata per l'autenticazione

$conf_auth['campo_nome']='nome'; // opzionale
// Indica il nome del campo database o LDAP da cui recuperare il nome dell'utente

$conf_auth['campo_cognome']='cognome'; // opzionale
// Indica il nome del campo database o LDAP da cui recuperare il nome dell'utente

$conf_auth['password_crypt']='md5'; // md5 | sha1 | null
// Qualora le password fossero archiviate come hash md5 o sha1 impostare questo parametro

Autenticazione mediante database presente sullo stesso server (solo MySQL)

Qualora si sia scelta l'autenticazione esterna mediante DB diverso da VFront, impostare i seguenti parametri :

$conf_auth['db']['database']='nome_database'; 
// deve risiedere sullo stesso server (Solo Mysql) -- per altri server utilizzare DB_EXT, SOAP o altri metodi

$conf_auth['db']['tabella']='nome_tabella';
// nome della tabella da interrogare per l'autenticazione


Autenticazione mediante database esterno e/o residente su altro server (MySQL, PostgreSQL, ODBC)


Qualora si sia scelta l'autenticazione esterna mediante DB esterno e|o residente su altro server, impostare i seguenti parametri

$conf_auth['db_ext']['dbtype']="mysql"; 
// Può essere "mysql" oppure "postgres" oppure genericamente "odbc"

$conf_auth['db_ext']['host']="localhost";
// host del server DB esterno utilizzato per l'autenticazione

$conf_auth['db_ext']['port']="3306";
// porta del server DB esterno utilizzato per l'autenticazione:
// di default 3306 per MySQL e 5432 per PostgreSQL

$conf_auth['db_ext']['user']="john";
// utente per l'autenticazione

$conf_auth['db_ext']['passw']="secret";
// password

$conf_auth['db_ext']['dbname']="my_wonderful_db";
// nome del database

$conf_auth['db_ext']['tabella']="user_table";
// nome della tabella

$conf_auth['db_ext']['odbc_dsn']="";
// solo per connessioni ODBC: scrivere il DSN


Autenticazione mediante LDAP o Active Directory

Qualora si sia scelta l'autenticazione esterna mediante LDAP (o Active Directory) impostare i seguenti parametri :

/*  SECTION LDAP (o Active Directory)  */

// Base dn
$conf_auth['ldap']['base_dn']='o=Nome del server,c=IT';

// host
$conf_auth['ldap']['host']='localhost';

// porta: per default è 389 su openLDAP, 445 su Active Directory
$conf_auth['ldap']['port']='389';

// autenticazione (bind) anonima
$conf_auth['ldap']['anonymus_bind']=1;

// autenticazione (bind) con nome e password
$conf_auth['ldap']['bind_user']='someuser';
$conf_auth['ldap']['bind_passw']='somepassword';



Autenticazione mediante SOAP (sperimentale)

L'autenticazione SOAP è sperimentale e per ora si basa su file WSDL
Qualora si sia scelta l'autenticazione esterna mediante SOAP impostare i seguenti parametri :

$conf_auth['soap']['wsdl']='';
// indirizzo http(s) del file WSDL

$conf_auth['soap']['function_get_user']='';
//nome di funzione per interrogare l'elenco degli utenti

$conf_auth['soap']['function_get_user_results']='';
// nome di funzione per recuperare i dati degli utenti



Sezione SMTP e e-mail

VFront utilizza la classe PHPMailer per l'invio delle email. Per maggiori approfondimenti si veda http://phpmailer.sourceforge.net/
E' possibile configurare l'invio di email tramite SMTP mediante i seguenti parametri:

$conf_mail['SMTP_AUTH']=false;
// indica se utilizzare un SMTP personalizzato. In caso contrario verrà utilizzato l'SMTP del server.

// Le seguenti tre variabili sono da impostare qualora l'autenticazione SMTP sia impostata su TRUE:

$conf_mail['SMTP']="";
// Indirizzo SMTP da utilizzare qualora si voglia fare uso di STMP personalizzato

$conf_mail['SMTP_AUTH_USER']="";
// utente smtp

$conf_mail['SMTP_AUTH_PASSW']="";
// password smtp


$conf_mail['MAIL_SENDER']="";
// email del mittente per gli invii effettuati da VFront (principalmente per il debug)
// ad esempio "noreply@vfront.org"

$conf_mail['MAIL_SENDER_NAME']="";
// Nome in chiaro del mittente per gli invii effettuati da VFront
// ad esempio "Admin VFront"


E' richiesto inoltre di impostare le costanti:

// mail amministratore di sistema
define('_SYS_ADMIN_MAIL','admin@vfront.org');

// mail dello sviluppatore (per le email di debug)
define('_DEV_MAIL','dev@vfront.org');

La mail dello sviluppatore può essere utile qualora si volesse far arrivare un debug allo sviluppatore. Le email vengono inviate qualora VFront generi un errore e il debug sia impostato su FALSE (si veda la sezione successiva)


Sezione Debug

La sezione debug consta di tre variabili qui descritte:

// errori a video | errori in email
$DEBUG_SQL=true;


In ambiente di produzione si consiglia di impostare la variabile su FALSE: in caso di errore verrà spedita una email all'amministratore ed allo sviluppatore. L'utente vedrà in questo caso una schermata dove si comunica che è stato generato un errore.
In caso la variabile sia TRUE gli errori e l'SQL verranno invece mostrati a video.

$RPC_DEBUG=true;
// scrivi le chiamate SQL in un file (di default ./rpc.debug.txt) - default: FALSE


Questa funzione può essere molto utile per leggere cosa VFront ha eseguito mediante chiamate esterne. Il file ./rpc.debug.txt deve essere scrivibile da Apache.


Sezione Log

In questa sezione è presente una sola variabile che abilita o disabilita i log.
Il log di VFront permette di registrare data, ora, e autore di tutte le operazioni compiute attraverso le maschere, mostra uno storico dei record e permette un rollback delle cancellazioni e delle modifiche. Si consiglia caldamente di tenere il parametro impostato su TRUE.

$RPC_LOG=true;
// scrive un log delle chiamate SQL di inserimento, modifica e cancellazione - default: TRUE


Sezione localizzazione: lingua e codifica

In questa sezione sono impostate la lingua e la codifica. Le lingue sono impostate in modalità "language country" come ad esempio en_US per la dicitura "en". La traduzione del javascript avviene leggendo l'impostazione linguistica nelle sue due prime lettere (ad esempio per en_US verrà automaticamente letto 'en').

/**
* Language : Valori possibili: it_IT, en_US, fr_FR , etc.
*/
define('FRONT_LANG','en_US');

Per quanto riguarda la codifica si suggerisce di mantenere l'UTF-8:

/**  
* Encoding
*/
define('FRONT_ENCODING','UTF-8');


Sezione Path

In questa sezione sono configurati gli indirizzi web e sul server di VFront:


/*  FILESYSTEM PATHS  */

/**
 * path reale
 */
define('FRONT_ROOT','/var/www/vfront');

/**
 * path reale
 */
define('FRONT_REALPATH','/var/www/vfront');


/**
 * Path della document root: inserire qui il path della document root
 */
define('FRONT_DOCROOT','http://localhost/vfront');


A seguire sono presenti gli altri path. Si suggerisce di tenere le impostazioni come da default. Per default tutti i file caricati dagli utenti vanno in /files o in una sua sottocartella. Si richiede pertanto che files e le sue sottocartelle siano accessibili in lettura e scrittura dall'utente Apache.


/*  OTHER PATHS  */


/**
 * Path mysqldump (per l'esportazione di MySQL) - Default: mysqldump
 */
define('_PATH_MYSQLDUMP',"mysqldump");

/**
 * path pg_dump (per l'esportazione di Postgres) - Default: pg_dump
 */
define('_PATH_PG_DUMP',"pg_dump");

/**
 * path per il filesystem allegati
 */
define('_PATH_ATTACHMENT',FRONT_REALPATH."/files");

/**
 * path di tmp per il filesystem allegati
 */
define('_PATH_ATTACHMENT_TMP',FRONT_REALPATH."/files/tmp");

/**
 * path per il filesystem documenti utili
 */
define('_PATH_HELPDOCS',FRONT_REALPATH."/files/docs");

/**
 * path per il filesystem documenti utili
 */
define('_PATH_HELPDOCS2',FRONT_REALPATH."/files/docsadmin");

/**
 * path di tmp accessibile via web
 */
define('_PATH_TMP',FRONT_REALPATH."/files/tmp");

/**
 * path per i fogli di stile XSL allegati
 */
define('_PATH_XSL',FRONT_REALPATH."/files/xsl_custom");

/**
 * path web per i fogli di stile XSL allegati
 */
define('_PATH_WEB_XSL',FRONT_DOCROOT."/files/xsl_custom");




Sezione FOP

VFront utilizza Apache FOP ( http://xmlgraphics.apache.org/fop/ )per le trasformazioni XSL-FO e la generazione dei report in PDF.
FOP non è distribuito insieme a VFront, ma va scaricato ed installato a parte.

// Imposta se VFront può utilizzare l'applicazione FOP (true o false)
define('_FOP_ENABLED',true);

// Path di FOP sul server:
//define('_PATH_FOP','C:/fop-0.20.5/foptest/fop.bat');
//define('_PATH_FOP','/usr/local/fop/fop.sh');

Il server Apache deve poter eseguire FOP perché le funzioni vengano eseguite correttamente.


Sezione Allegati e Link

Ogni tabella del database su cui si sta eseguendo VFront può essere potenzialmente abilitata al supporto di allegati e link.
I seguenti parametri solitamente sono funzionanti e si consiglia di modificarli solo qualora si utilizzassero altre tabelle per allegati e link.
Si noti che in tal caso i nomi dei campi dovrebbero coincidere con quelli delle tabelle del database VFront.

// definizione della tabella allegato
define('_TABELLA_ALLEGATO',"{$db1['frontend']}.allegato");

// definizione della tabella link
define('_TABELLA_LINK',"{$db1['frontend']}.link");


Sezione Misc

In questa sezione sono definite costanti di vario genere:

define('_MAX_TEMPO_EDIT',240);

VFront è pensato come front-end multiutente: per evitare accessi concorrenti in modifica allo stesso record, c'è una procedura di "lock" del singolo record quando questo viene aperto in modifica da un utente. Questa costante esprime in secondi il tempo massimo secondo il quale il record debba essere considerato bloccato (di default 240 secondi, cioè 4 minuti).


define('_BASE64_PASSFRASE',"passfrase");

In alcune operazioni viene utilizzata una codifica in base64 di parametri negli URL. Questa costante imposta una frase per la codifica.


define('_NOME_PROJ','VFront');

Nome descrittivo dell'installazione di VFront (ad esempio "Front-end Biblioteca" o semplicemente "VFront"). Questo nome sarà utilizzato nel TITLE delle pagine, ma anche come variabile di sessione (cookie) per l'autenticazione.



Inclusione del file di configurazione

Il file di configurazione che abbiamo modificato finora è incluso in tutti gli script da inc/conn.php.

Nel file inc/conn.php è predisposta l'inclusione del file conf.vfront.php nella sua posizione originaria. Se il tuo file di configurazione avesse un nome diverso, o fosse in una posizione diversa, allora dovrai modificare qualcosa anche nel file conn.php, altrimenti lascia tutto com'è.

Se invece vuoi personalizzare il nome del file o la sua posizione, file inc.conn.php modifica le prime righe:




####################################################
#
#	Link to FILE CONF
#

$CONF_FILE='conf.vfront.php';

###########################################################################
#
#	Do not change from here ...
#
############################################################################


// Linux or windows ?
$dir_vfront= (substr(realpath(__FILE__),0,1)=='/')
	? str_replace("/inc/conn.php",'',realpath(__FILE__))
	: str_replace("\\inc\\conn.php",'',realpath(__FILE__));

$POSIZIONE_FILE_CONFIGURAZIONE=$dir_vfront.'/conf/'.$CONF_FILE;




Dopo l'installazione

Inizializzazione del sistema

Una volta eseguita l'installazione è necessario inizializzare il sistema. VFront deve leggere l'information schema e inserire le informazioni sul database che si sta leggendo nelle proprie tabelle. Per farlo

  1. Fare login con il proprio account di amministratore
  2. Accedere alla sezione amministrazione
  3. Nel primo menu scegliere "Inizializza registri"

Verrà avviata una procedura automatica che creerà le regole di base per la consultazione delle tabelle.
Per la configurazione delle tabelle si rimanda al Manuale di riferimento di VFront.

Test impostazioni VFront

Si suggerisce inoltre di accedere al menu di Amministrazione, sezione "Varie" ed eseguire il "Test impostazioni VFront".

Per ulteriori informazioni si rimanda al Manuale di riferimento di VFront.



Disinstallazione di VFront

Si propongono due metodi:

  1. Metodo manuale
  2. Script in bash


Disinstallazione: metodo manuale

Per disinstallare VFront devi compiere le seguenti operazioni:

  1. Cancella il DB frontend , o se usi Postgres, lo schema frontend (vedi il nome specificato nel file di configurazione).
  2. Cancella il contenuto delle sottocartelle di files
  3. Cancella il file conf/conf.vfront.php

Per eliminare completamente VFront dal tuo sistema, invece

  1. Cancella il DB frontend , o se usi Postgres, lo schema frontend (vedi il nome specificato nel file di configurazione).
  2. Cancella tutta la cartella di VFront.



Disinstallazione: Script in bash



#!/bin/sh

#########################################
#
#	VFRONT Uninstall script - MySQL Version
#


echo "--------------------------------------------"
echo "	VFront Unistaller 0.1		"
echo "--------------------------------------------"
echo ""


ROWFRONTEND=`grep "^$db1.*frontend.*=" ./conf/conf.vfront.php` 
ROWTYPE=`grep "^$db1.*dbtype.*=" ./conf/conf.vfront.php` 
ROWPORT=`grep "^$db1.*port.*=" ./conf/conf.vfront.php` 
ROWHOST=`grep "^$db1.*host.*=" ./conf/conf.vfront.php` 

DBFRONTNAME=`expr "$ROWFRONTEND" : '\$\db1\['"'"'frontend'"'"'\]="\(.*\)" *;' `
DBTYPE=`expr "$ROWTYPE" : '\$\db1\['"'"'dbtype'"'"'\]="\(.*\)" *;' `
DBPORT=`expr "$ROWPORT" : '\$\db1\['"'"'port'"'"'\]="\(.*\)" *;' `
DBHOST=`expr "$ROWHOST" : '\$\db1\['"'"'host'"'"'\]="\(.*\)" *;' `

echo "--------------------------------------------"
echo "	Finded this DB Vars: "
echo "	DB Type: $DBTYPE "
echo "	DB Host: $DBHOST "
echo "	DB Frontend: $DBFRONTNAME "
echo "	DB Port: $DBPORT "

if [ $DBTYPE = 'postgres' ] ; then
	
	ROWPG=`grep "^$db1.*postgres_dbname.*=" ./conf/conf.vfront.php` 
	DBPG=`expr $ROWPG : '\$\db1\['"'"'postgres_dbname'"'"'\]="\(.*\)";' `
	
	echo "	DB Name: $DBPG "
	
fi

echo "--------------------------------------------"
echo ""
echo ""


if [ $DBFRONTNAME = '' ] 
	then 
		echo "--------------------------------------------"
		echo "	Unable to delete database	"
else
	echo "--------------------------------------------"
	

	echo "	Deleting configuration file "

	#rm -f ./conf/conf.vfront.php

	echo "	Deleting temp and project files "


	rm -f ./files/docs/*
	rm -f ./files/docsadmin/*
	rm -f ./files/tmp/*
	rm -f ./files/xsl_custom/*
	rm -f ./files/html/*
	rm -f /tmp/tmp.sql

	echo "	Deleting database $DBFRONTNAME (if exists) "
	
	
	if [ $DBTYPE = 'mysql' ] ; then 
	
		echo ""
		echo "	MySQL db selected"
		echo ""
		
		echo "DROP DATABASE IF EXISTS $DBFRONTNAME ;" > /tmp/tmp.sql
	
		echo `mysql -h $DBHOST -P $DBPORT -uroot -p < /tmp/tmp.sql`
		
		rm -f /tmp/tmp.sql
		
	elif [ $DBTYPE = 'postgres' ] ; then
		
		echo ""
		echo "	PostgreSQL db selected"
		echo ""
		
		echo "DROP SCHEMA $DBFRONTNAME CASCADE ;" > /tmp/tmp.sql
		
		echo `psql -h $DBHOST -U postgres -p $DBPORT -d $DBPG -W < /tmp/tmp.sql`
		
		rm -f /tmp/tmp.sql
		
	else 
		echo "	Unable to select database type	"
	fi
fi

echo "	Execution done	"



Media:Example.ogg

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Google AdSense