Sei sulla pagina 1di 10

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?

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.

e no. L'opzione "automatica" è prevista per una futura versione.

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\\Framakey- WebAppManager.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
[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\Framakey-
WebAppManager\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
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

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 points- virgules 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\\sous- dossier\\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-03-

20-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 Framakey- WebAppManager-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\sous- dossier\DrupalPortable\ZMWS") {$zmws_port} = numéro du port web utilisé au lancement de la WebApp (par défaut 80, mais peut être fixé dans Framakey- WebAppManager-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\sous- dossier\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\Framakey- WebAppManager\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:

TORNA AL SOMMARIO

Traduzione italiana: nilocram@aim.com

Distribuito con licenza Creative Commons BY-SA

Milano, luglio 2009.