JAMP richiede la presenza di Apache versione 2 o IIS e di PHP versione 5 o superiore. Potremmo dire che la totalità delle difficoltà che si incontrano nell'installazione di JAMP dipendono in realtà dalla cattiva configurazione di Apache/PHP/Mysql. Le cause possono essere diverse e legate al sistema operativo e alla versione dei software, per questo motivo consigliamo, specialmente agli utenti poco esperti, di non procedere manualmente all'installazione dei singoli software ma di utilizzare comodi strumenti come ad esempio XAMPP che permette l'installazione di tutti i software necessari.
INSTALLAZIONE
Primo step Scaricare l'ultima versione di JAMP disponibile su DOWNLOAD JAMP.
Secondo step Scelta della modalità di installazione standard oppure multiutente.
La definizione "multiutente" non deve trarre in inganno con essa non ci si riferisce alla possibilità di creare più applicazioni accessibili da più utenti, funzionalità già disponibile nella modalità standard, ma alla possibilità di installare in maniera indipendente più framework all'interno delle singole home/profili degli utenti, tale servizio è quindi molto utile per i provider che possono offrire JAMP come servizio.
Terzo step Richiamare tramite browser la pagina di test conf/index.php. La pagina di test è sostanzialmente divisa in tre aree:
Test della configurazione: verifica dei permessi, della versione e delle estenzioni PHP.
Test delle Connessioni: effettua i test sulla connessioni esistente e permette di modificarle.
Impostazione generali: visualizzazione e modifica delle costanti di sistema di JAMP.
SICUREZZA ACCESSO WEB
La pagina di test permette la visualizzazione e la modifica di file riservati quali il file delle connessioniconn.inc.php ed il settaggio delle di sistema(setting.inc.php), per tale motivo è importante proteggere l'accesso web a tali files impostando una password, l'operazione è molto semplice infatti è sufficiente accedere alla pagina di test(conf/index.php) e cliccare sull'icona lucchetto in corrispondenza della prima connessione(conn1), l'utente e la password impostate verranno richieste al successivo accesso, ricordiamo inoltre che tale account verrà anche utilizzato per l'accesso alla GUI.
Ulteriori protezioni possono essere implementate tramite direttive Apache di seguito ne suggeriamo alcune:
sostituendo al posto dei puntini il path assoluto di jamp(es. /var/www/jamp).
PROTEGGERE I FILE XML
Editare il file httpd.conf e aggiungere la riga:
<FilesMatch "\.xml$">
Order allow,deny
Deny from all
</FilesMatch>
INSTALLAZIONE STANDARD
Consiste nello scompattare il pacchetto all'interno della DocumetRoot di Apache o una sua sotto directory, in questo caso non saranno necessarie ulteriori configurazioni.
TEST DI VERIFICA
Richiamare dal browser la pagina test.php, esempio http://localhost/jamp/conf/index.php.
INSTALLAZIONE MULTIUTENTE SU PIATTAFORMA UNIX/LINUX/MAC
Editare il file /etc/apache2/httpd.conf o /etc/apache2/apache2.conf e aggiungere/scommentare la riga:
Include /etc/apache2/mod_userdir.conf
Si suppone di voler configurare gli utenti user1 e user2:
Editare il file httpd.conf(se usate xampp C:\xampp\apache\) e aggiungere/scommentare la riga:
LoadModule userdir_module modules/mod_userdir.so
Editare il file httpd-userdir.conf(se usate xampp C:\xampp\apache\conf\extra)
UserDir "htdocs"
<Directory "C:/Documents and Settings/*/htdocs">
Si suppone di voler configurare gli utenti user1 e user2:
Creare le directory htdocs sotto il profilo degli utenti e scompattarare jamp al loro interno:
C:/Documents and Settings/user1/htdocs e C:/Documents and Settings/user2/htdocs
Editare i file class/system.class.php:
<?php
$this->dir_real_web = "C:/Documents and Settings/user1/htdocs/jamp";
$this->dir_web_jamp = "/~user1/jamp/";
?>
e
<?php
$this->dir_real_web = "C:/Documents and Settings/user2/htdocs/jamp";
$this->dir_web_jamp = "/~user2/jamp/";
?>
TEST DI VERIFICA
http://localhost/~user1/jamp/conf/index.php
http://localhost/~user2/jamp/conf/index.php
CONFIGURAZIONE ESEMPI
Gli esempi descrivono in maniera facile ed intuitiva il funzionamento del framework essi trovano nella directory examples
Molti degli esempi proposti utilizzano degli oggetti datasouce per connettersi a strutture dati, i parametri di connessione sono definiti nel file conf/conn.inc.php.
All'interno di questo file ogni riga rappresenta una connessione:
In questi casi potrebbe essere necessario procedere con una minima e facile opera di configurazione che richiede l'impostazione dei parametri di connessione nel file conf/conn.inc.php e/o l'importazione dei dati stessi. Per maggiore chiarezza possiamo classificare gli esempi in base al tipo di connessione utilizzata.
Connessioni a files: (xml, csv, record), sono già pronti all'uso perchè puntano a files contenuti all'interno della directory examples/resource.
Connessione a filesystem: (ftp, ssh,filesystem), configurare solo la stringa connessione.
Connessione a database: (mysql, mssql, pgsql, ldap, odbc), Le connessioni a database richiedono la configurazione della stringa di connessione e l'importazione dei dati.
Per la connessione a Mysql importare il file sql examples/resource/mysql.sql, esso creerà un database chiamato "jamp", per l'importazione delle tabelle SQL consigliamo di utilizzare l'applicazione jdbadmin disponibile con il framework nella directory frm.
Per connessione ad ldap si suppone di avere un rootdn="dc=jamp,dc=it" per importare le entry utilizzare il file examples/resource/jamp.ldif.
Conclusa l'importazione modificare il file delle connessioni inserendo i corretti parametri di
connessione.
CONFIGURAZIONE APPLICAZIONI
All'interno del sito http://jamp.alyx.it è possibile scaricare applicazioni complete basate su JAMP, prima di utilizzarle è necessario configurarle, le operazioni da svolgere sono:
Effettuare il download del file tgz o zip e scompattarlo all'interno della directory frm, verrà creata una directory con il nome del progetto(es. jpresenze). Verificare le permissions affinché l'utente Apache/IIS possa leggere i files della directory.
Creare la connessione al database conf/conn.inc.php.
La stringa di connessione verrà indicata durante il download dell'applicazione esempio:
1 - Accettarsi che non ci siano problemi nella configurazione dei servizi Apache e PHP.
2 - In ambiente UNIX consigliamo di verificare le permissions della directory jamp e del suo contenuto.
3 - In ambiente windows potrebbe dipendere da qualche libreria PHP non caricata correttamente.
In generale consigliamo di leggere i log di errore del servizio Apache.
Un errore molto comune è ad esempio:
Unable to load dynamic library C:\php\ext\php_mysql.dll - the specified module could not be found.
Il messaggio di errore in realtà è forviante perché dovuto al fallimento nel caricamento di un'altra libreria
libmysql.dll, tale libreria va copiata all'interno della directory system32.
Bruce Kirkpatrick
28-Oct-2009 05:48
On Windows Vista or above, an entry in the Windows/System32/drivers/etc/hosts file causes mysql_connect() connections to "localhost" to timeout and never connect. This happens on php 5.3 and above since it now uses mysql native driver which has changed it connection behavior compared to libmysql.dll in previous versions. It is not a PHP bug, but definitely a configuration issue for users on new windows systems.
To get around this, you must remove the entry like this:
::1 localhost
and make sure you still have:
127.0.0.1 localhost
Also, you could change the code to connect to the ip instead, but that is inconvenient if you have many web sites.
This issue occurs on Windows Vista, Windows 7 and Windows Server 2008.: