Help di Framakey WebApp Manager
Sommario
Domande frequenti......................................................................................................................1
Che cos'è Framakey WebApp Manager?...............................................................................1
Non ho capito bene.................................................................................................................1
Continuo a non capirci niente!...............................................................................................2
Qual è la differenza rispetto a EasyPHP, WAMP Server, XAMP, MovAMP, ecc ?.............2
Che differenza c'è rispetto a Bitnami?....................................................................................2
Quali sono le applicazioni compatibili?.................................................................................3
Perché la password è già inserita?..........................................................................................3
Altri utenti di internet possono accedere alla mia WebApp?.................................................3
Posso trasferire la mia WebApp su una chiave USB?............................................................3
Posso trasferire la mia su un CD o un DVD?.........................................................................3
Posso trasferire la mia WebApp su internet?.........................................................................3
Problemi frequenti.......................................................................................................................3
Ho questo messaggio di errore "impossibile collegarsi al database" (o simili).....................3
All'avvio mi dice che "Il file di sessione esiste già", perché e cosa devo fare?.....................3
Configurazione tecnica...............................................................................................................4
I launcher................................................................................................................................4
Configurazione di Framakey WebApp Manager..................................................................4
Configurazione della mia WebApp .......................................................................................5
Gli script generici e specifici ................................................................................................6
Lo splashscreen e l'icona........................................................................................................9
La configurazione avanzata....................................................................................................9
Come creare la mia WebApp ?...................................................................................................9
Domande frequenti
Che cos'è Framakey WebApp Manager?
Framakey WebApp Manager è una raccolta di software che permette di utilizzare in modo molto
semplice sul proprio computer una "WebApp", cioè un'applicazione normalmente destinata ad
internet.
Framakey WebApp Manager permette di far girare Dotclear, SPIP, Joomla, Wordpress, Drupal e
altre applicazioni sul proprio computer dotato di Windows, senza dover fare complesse
installazioni. Puoi anche trasportare le tue WebApp su una chiave USB o su CD/DVD.
Non ho capito bene...
Di solito, quando si vuole utilizzare un blog, un wiki, o un'altra applicazione web, bisogna o
iscriversi a un servizio on line (spesso a pagamento o con della pubblicità) o installare o far
installare questa applicazione su uno spazio web ( a pagamento).
L'altra soluzione è di installarla sul proprio computer.
Visto che queste applicazioni (di solito) sono sviluppate in PHP/MySQL, si utilizza per lo più un
sistema che comprende Apache+PHP+MySQL e che occorre installare sul proprio computer.
Invece, quando si tratta di installare l'applicazione web all'interno di questo sistema, l'operazione
può diventare complessa (configurazione delle informazioni di connessione, creazione del database,
modifiche della configurazione di PHP, ecc).
Framakey WebApp Manager vuole fornire,in un solo file zip, l'applicazione preconfigurata e pronta
all'uso. Non c'è altro da fare che scompattare il file e lanciare l'applicazione.
Continuo a non capirci niente!
Esempio: hai scaricato Wordpress portable, L'hai scompattata e vuoi utilizzarla.
Se hai mai provato a installare Apache+PHP+MySQL+Wordpress sotto Windows, allora puoi
capire l'interesse di Framakey WebApp Manager.
Qual è la differenza rispetto a EasyPHP, WAMP Server, XAMP, MovAMP, ecc ?
Prima di tutto, l'applicazione viene già fornita con un sistema del genere, per cui l'installazione è
ultra semplificata. Se conosci perfettamente XAMP o EasyPHP, allora l'interesse è nettamente più
limitato.
Il fatto che l'applicazione sia pronta all'uso permette di guadagnare tempo nella configurazionoe e
nell'installazione e anche nel settaggio dell'ambiente (così si può facilmente proporre l'aumento del
tempo limite di esecuzione di uno script PHP da 30 secondi a 5 minuti, per un'applicazione che
richiede molte risorse e solamente per quella).
Inoltre, le WebApps dispongono di propri script preconfigurati, per esempio per aprire la pagina di
supporto (nella maggior parte dei casi un forum) dell'applicazione. Ma gli script possono anche
servire a importare o esportare dei dati SQL o a fare automaticamente dei ricerca/sostituisci nei file.
Questi script sono facilmente configurabili (vedi più sotto).
Per finire, la WebApp è portabile, è possibile fare il copia/incolla su una chiavetta USB e lavorare
su quella, copiarla sull'hard disk e riprendere il lavoro dove lo si era lasciato: i settaggi della
WebApp saranno aggiornati automaticamente. Con MovAMP o EasyPHP, questo non succede: se
si sposta WordPress dalla chiavetta USB all'hard disk, occorre, per esempio, aggiornare
manualmente il percorso di upload nel database, cosa che può diventare presto fastidiosa.
Che differenza c'è rispetto a Bitnami?
Bitnami ha largamente ispirato le WebApps di Framakey, ma purtroppo le "Bitnami stacks" :
non sono libere al 100% (utilizzano l'installatore BitRock, che non è libero)
utilizzano un'installazione "come servizio". Questo vuol dire che sono "embedded" in Windows
(spesso lanciate all'avvio, condividono dei dati comuni, e girano sullo sfondo in modalità
"nascosta").
Quest'ultimo punto impedisce di rendere l'applicazione portabile e può creare dei problemi se si
utilizzano più applicazioni contemporaneamente.
Al contrario, le WebApps di Framakey utilizzano un processo separato per ciascuna WebApp (un
MySQL e un ZMWS per WebApp) e questo gli permette di essere portabili e indipendenti.
Così, è possibile lanciare contemporaneamente 2, 3 o 10 WebApps.
Ah, e poi Bitnami è solo anglofono,mentre WebAppManager è multilingue...
Quali sono le applicazioni compatibili?
In teoria, tutte le applicazioni PHP/MySQL capaci di girare sotto Windows.
Perché la password è già inserita?
L'applicazione viene distribuita già preconfigurata per guadagnare tempo e soprattutto per
guadagnare in semplicità. E' sempre possibile modificare la password.
Altri utenti di internet possono accedere alla mia WebApp?
Potenzialmente, sì. Se non sei dietro un routeur o un firewall e se comunichi l'indirizzo pubblico
della tua WebApp, allora altri utenti potranno accedervi.
Puoi conoscere l'indirizzo pubblico cliccando sulla voce "Info" del menu. Ti verrà indicato nel
modo seguente:
Public URL: http://88.180.138.246:80/wordpress
Puoi impedire l'accesso barrando la casella "bind" nel menu "Configurazione avanzata"
Posso trasferire la mia WebApp su una chiave USB?
Sì. Occorre arrestare la WebApp prima di trasferirla, ma poi basta un semplice copia/incolla.
Posso trasferire la mia su un CD o un DVD?
(Non ancora testato, ma dovrebbe funzionare ;) )
Posso trasferire la mia WebApp su internet?
Sì... e no. L'opzione "automatica" è prevista per una futura versione.
Tuttavia è possibile fare un trasferimento "manuale" seguendo le seguenti fasi:
1. procurarsi uno spazio web PHP/MySQL
2. trasferire i propri file via FTP
3. esportare il database (Menu > Script > Generici > Esporta il database)
4. importare il file /App/Appinfo/export-xxxxxx.sql che viene creato nel database remoto.
Possono essere necessarie delle modifiche, ma saranno specifiche di ciascuna WebApp.
TORNA AL SOMMARIO
Problemi frequenti
Ho questo messaggio di errore "impossibile collegarsi al database" (o simili)
Probabilmente non è stato lanciato MySQL. Arresta la tua WebApp riavviala.
All'avvio mi dice che "Il file di sessione esiste già", perché e cosa devo fare?
A ciascun avvio della WebApp, viene creato un file di sessione nella cartella
/App/Appinfo/session.lock per evitare di lanciare contemporaneamente
due volte la stessa WebApp.
Se la WebApp è già lanciata e accessibile, rispondi no.
Altrimenti, rispondi sì, il file di sessione verrà cancellato quando uscirai dalla tua WebApp.
TORNA AL SOMMARIO
Configurazione tecnica
I launcher
Il launcher XxxxxxPortable.exe (es: WordPressPortable.exe) serve solo a lanciare il
WebAppManager ("WAM"), perciò non è molto interessante.
Infatti il vero launcher è il file \Other\Framakey-WebAppManager\\FramakeyWebAppManager.exe .
Questo è comune a tutte le WebApps. La configurazione specifica di ciascuna WebApp si trova
infatti nella cartella /App/Appinfo
Configurazione di Framakey WebApp Manager
File \Other\Framakey-WebAppManager\\Framakey-WebAppManager.ini
[Config]
;Si "True", affiche l'aide de la WebApp au démarrage
DisplayHelp=True
;Temps d'affichage de Splashscreen (0 ou False = désactivation du
splash)
SplashTimeout=2500
;Si True, enregistre certains évènements dans \Other\FramakeyWebAppManager\WAMLog.txt
Log=False
;Langue utilisée pour l'interface (par défaut utilise la langue du
système, sinon l'anglais)
Lang=fr
[ZMWS]
;browse : lance le navigateur de l’utilisateur sur le site hébergé
après le démarrage du serveur ou si le port demandé est déjà
occuppé par un serveur (avec unique-port) (par défaut, on ne lance
pas le navigateur).
browse=False
; port : le port de fonctionnement (80 par défaut). Si celui ci
n’est pas libre, ZMWS essaie de se lancer sur un port entre 8080
et 8089 (premier libre).
port=False
; unique-port : force l’utilisation du port 80 ou celui spécifié
par l’option -p, quitte s’il est déjà occupé (par défaut,
ZazouMiniWebServer essaie ensuite d’utiliser les ports 8080 à 8089
avant de quitter)
unique-port=False
; quiet : avec cette option, ZazouMiniWebServer n’affiche plus les
requêtes traitées dans la console. Par défaut, le serveur affiche
de nombreuses informations. Empêcher cet affichage permet une
sensible amélioration des performances.
quiet=True
; nolog : désactive la création des logs (activée par défaut).
nolog=True
;closebrowser : combinée à -stop, permet de fermer le navigateur
lors de l’arrêt du serveur (en envoyant un javascript au client).
closebrowser=True
; noindex : désactive l’indexation des répertoires (activée par
défaut).
noindex=False
; webdir : fonctionnalité non encore implémentée.
webdir=False
; bind : Utilisez cette option pour que ZazouMiniWebServer ne
réponde que sur une seule adresse IP (exemple -bind 127.0.0.1 pour
n’autoriser que les connexions depuis la machine). Par défaut,
ZazouMiniWebServer répond sur toutes les IP de la machine.
bind=False
;stop : permet d’arrêter le serveur lors de la visite de
/_stopServer.zmwsc
stop=True
[MYSQL]
; permet de fixer le port mysql si besoin. Sinon "Auto" permet de
tester les ports un par un à partir de 3306
port=Auto
Questo file può essere modificato attraverso il menu "Configurazione avanzata"
Configurazione della mia WebApp
La configurazione si trova nel file App\AppInfo\Appinfo.ini
[Format]
Type=Framakey.orgFormat
Version=0.9.8
[Details]
Name=Framakey WebApp Portable
Publisher=Framakey
Homepage=Framakey.org/WebApp
Category=Misc
Description=WebApp Portable.
[License]
Shareable=true
OpenSource=true
Freeware=true
CommercialUse=true
[Version]
PackageVersion=1.0.0.0
DisplayVersion=1.0
[Control]
Icons=1
Start=WebAppPortable.exe
[WebAppSpecific]
ShortName=WebApp
ApplicationPath=wordpress
DatabaseName=wordpress
Website=http://www.wordpress.org
Support=http://wordpress.org/support/
Framasoft=http://www.framasoft.net/
FramasoftSupport=http://forum.framasoft.org/
Logo=logo.gif
Evidentemente le informazioni interessanti sono quelle alla fine del file ;)
Gli script generici e specifici
Una delle particolarità delle WebAppsè di proporre l'esecuzione di script predefiniti
Questi sono divisi in 3 categorie:
• Script generici: sono comuni a tutte le applicazioni Per esempio: l'esportazione del
database.
Il file si trova in \Other\Framakey-WebAppManager\scripts.generic.ini
• Script specifici:sono propri della WebApp in esecuzione. Per esempio: riportare la
password a un valore predefinito.
Il file si trova in App\AppInfo\scripts.ini
• Script di avvio: sono eseguiti "silenziosamente" all'avvio della WebApp. Per esempio per
adattare il database alla porta MySQL attualmente in esecuzione..
Il file si trova in App\AppInfo\startup.ini
Esistono 6 comandi tipo:
•
•
•
•
•
•
SQL : per eseguire un comando SQL
SQLFILE : esegue il contenuto di un file SQL
COMMAND : esecuzione di un comando SQL o di un programma
REPLACE : ricerca/sostituisci in un file
EDIT : apre un file con l'editor di default
URL : apre una pagina web
Esempi di script commentati
Modificare un file
; Identifiant unique du script
[EditPhpIni]
; Nom qui sera affiché dans le menu
Name=Edit PHP.ini
; Nom en Français (tout champ terminé en "_fr" sera affiché s'il
s'agit de la langue du WebAppManager)
Name_fr=Editer PHP.ini
; Description affichée dans la boite de dialogue
Description=Open PHP.ini
Description_fr=ouvre le fichier de configuration PHP.ini (pour y
modifier des variables de configuration, par exemple).
; Type de la commande
Type=EDIT
; Le fichier à éditer
File={$zmws_path}\php5\php.ini
Esportare il database
; Identifiant unique du script
[ExportDB]
; Nom qui sera affiché dans le menu
Name=Export database
; Nom en Français (tout champ terminé en "_fr" sera affiché s'il
s'agit de la langue du WebAppManager)
Name_fr=Exporter la base de données
; Description affichée dans la boite de dialogue
Description=Export the Whole database
Description_fr=Sauvegarde la totalité de la base dans \Appinfo\
{$CurrentDate}.sql {@CRLF}Attention: MySQL doit être actif.
; Type de la commande
Type=COMMAND
; Le coeur du script : que lui demande-t-on d'éxecuter ?
Evidemment, ça parait un peut abscons vu comme ça, mais ça revient
à lui faire executer un mysqldum de la base de la WebApp dans un
fichier nommé export-(Nom de la base)-(date et heure).sql
Query={@ComSpec} /c {$mysql_bin_path}\mysqldump --opt
{$DatabaseName} -u root > {$appinfo_path}\export-{$appShortName}{$CurrentDate}.sql
; permet d'afficher un message à la fin de l'execution de la
commande.
Done=Executed: {@ComSpec} /c {$mysql_bin_path}\mysqldump --opt
{$DatabaseName} -u root > {$appinfo_path}\export-{$appShortName}{$CurrentDate}.sql
Done_fr=Action executée : {@ComSpec} /c
{$mysql_bin_path}\mysqldump --opt {$DatabaseName} -u root >
{$appinfo_path}\export-{$appShortName}-{$CurrentDate}.sql
{@CRLF}Rendez vous dans le dossier {$appinfo_path} pour récupérer
votre sauvegarde.
Eseguire una query SQL
[ResetLogPass]
Name=Reset Login and Password
Name_fr=Réinistialiser log/pass
Description=Reset Title, login and password to initial values.
Description_fr=Réinitialise le mot de passe adminstrateur avec
"admin"/"framasoft"
Type=SQL
; la requête qui sera executée (il est possible d'en passer
plusieurs sur la même ligne en les spéarant par des pointsvirgules
Query=UPDATE `wp_options` SET `option_value`='WordPress
Portable',`autoload`='yes' WHERE `option_id`=2 AND `blog_id`=0 AND
`option_name`='blogname'; UPDATE `wp_options` SET
`option_id`='62', `blog_id`='0', `option_name`='secret',
`option_value`='aD)2Hujr&NooM5^&Eqq&vPHO#bRlOY!
^cKUzpMC&qJEb43U5cyrt2XMcDh1#P0qU', `autoload`='yes' WHERE
`option_id`='62' AND `blog_id`='0' AND `option_name`='secret';
Done=Done: login=admin, Password=framasoft
Done_fr=Action executée: login=admin, Password=framasoft
Eseguire un insieme di query a partire da un file
[ResetSettings]
Name=Reset settings
Name_fr=Réinitialiser la configuration
Description=Reset all the settings (Title, Email, login and
password etc) to initial values.
Description_fr=réinitialise toutes les options (titre, email,
login, password, etc) aux valeurs initiales, sans toucher à votre
contenu.
; contrairement à la commande SQL, ici, on va executer les
requêtes depuis un fichier (pratique par exemple pour réimporter
une base de données)
Type=SQLFILE
; le nom du fichier
file={$appinfo_path}\reset_main_options.sql
Done=Done
Done_fr=Réinitialisation terminée.
Fare un ricerca/sostituisci
[Synchronize]
Name=Syncronize MySQL Port
Description=Update Wordpress config with the OpenMySQL Port
Name_fr=Syncronise le port MySQL
Description_fr=Met à jour le fichier de config WordPress avec le
port MySQL actuellement assigné.
Type=REPLACE
; nom du fichier dans lequel on va faire le rechercher/remplacer
File={@ScriptDir}\..\..\App\{$ApplicationPath}\wp-config.php
; la chaine de recherche, notez qu'il est possible d'utiliser les
expressions régulières ;) Ici, on recherche le mot "localhost"
suivi (ou pas, grâce au caractère "?") de ":" et d'un chiffre
(représenté par "\d") répété plusieurs fois (grâce au caractère
"*"). Ainsi, on cherche "localhost", "localhost:3306",
"localhost:88", etc.
SearchPattern=localhost(:\d*)?
; chaine de remplacement, ici on remplace par localhost suivi de
":" puis du port MySQL ouvert par la WebApp
ReplaceValue=localhost:{$mysql_port}
Done=Done
Done_fr=Fait
Stringhe di sostituzione
Come si è visto qui sopra, è possibile utilizzare delle stringhe di sostituzione, per esempio
{$mysql_port} sarà automaticamente sostituito dalla porta inn mysql, aperta all'avvio della
WebApp. Ecco l'elenco delle variabili:
{$DatabaseName} = nom de la base de données (cf appinfo.ini)
{$ApplicationPath} = nom du dossier de la WebApp (cf appinfo.ini)
{$root_path_absolute} = chemin absolu du root de la WebApp (ex:
"E:\dossier\sous-dossier\DrupalPortable" )
{$r_p_a_backslashes} = équivalent au précédent, mais avec des
doubles backslashes (ex: "E:\\dossier\\sousdossier\\DrupalPortable" )
{$appinfo_path} = chemin vers le dossier AppInfo (ex: "E:\dossier\
sous-dossier\DrupalPortable\AppInfo" )
{$ApplicationURL} = url de la WebApp (ex:
http://127.0.0.1:8083/wordpress )
{$appShortName} = Nom court de l'application (ex: "Wordpress").
Les espaces sont déconseillés.
{$CurrentDate} = Date au format YYYY-MM-DD-HH-MM-SS (ex: "2009-0320-12-59-25")
{$mysql_bin_path} = chemin vers les binaires mysql (ex:
"E:\dossier\sous-dossier\DrupalPortable\ZMWS\mysql\bin" )
{$mysql_bin_name} = nom du binaire mysql (ex: "mysqld.exe")
{$mysql_port} = numéro du port MySQL utilisé au lancement de la
WebApp (par défaut 3306, mais peut être fixé dans FramakeyWebAppManager-config.ini, ou positionné automatiquement si le port
n'est pas libre)
{$zmws_webdir} = chemin du "webdir" ZMWS, c'est à dire le root web
relativement au fichier \ZMWS\ZazouMiniWebServer.exe (ex: "..\App"
{$zmws_path} = chemin vers ZMWS ("E:\dossier\sousdossier\DrupalPortable\ZMWS")
{$zmws_port} = numéro du port web utilisé au lancement de la
WebApp (par défaut 80, mais peut être fixé dans FramakeyWebAppManager-config.ini, ou positionné automatiquement si le port
n'est pas libre)
{@ComSpec} = chemin vers le fichier cmd.exe de Windows (ex:
"C:\WINDOWS\system32\cmd.exe")
{@CRLF} = retour chariot
{@ScriptDir} = chemin du root de la WebApp (ex: "E:\dossier\sousdossier\DrupalPortable")
Lo splashscreen e l'icona
Lo splashscreen (l'immagine che viene visualizzata all'avvio della WebApp) è composto di 4
elementi:
Un'immagine di fondo (497x341px): Other\Framakey-WebAppManager\empty_splash.jpg
Un logo (di preferenza 128x128 fondo bianco) : App\AppInfo\logo.gif il nome può essere ridefinito
in App\AppInfo\appinfo.ini)
Un titolo: verrà utilizzata la variabile ShortName=xxxxxxx .
Una durata: di defaultt 2500 ms. Può essere modificata in Other\FramakeyWebAppManager\Framakey-WebAppManager.ini => SplashTimeout=2500
La configurazione avanzata
La schermata di configurazione avanzata permette di modificare in modo semplice il file
Other\Framakey-WebAppManager\Framakey-WebAppManager.ini
(vedi più sopra). Si consiglia di arrestare i servizi, di fare le modifiche e di salvarle prima di
riavviare i servizi.
TORNA AL SOMMARIO
Come creare la mia WebApp ?
L'help (al momento in francese) è disponibile on line qui:
http://www.framakey.org/WebApp/CreerMaWebApp
TORNA AL SOMMARIO
Testo originale: http://framakey.org/WebApp/FAQ
Traduzione italiana: [email protected]
Software libero & TD
Distribuito con licenza Creative Commons BY-SA
Milano, luglio 2009.