Nous sommes le Mer 24 Avr, 2024 06:37
Supprimer les cookies

Page 1 sur 21, 2 SuivantPortabiliser phpbb

Support et Développement des applications web portables

Lun 25 Mai, 2009 19:41

Bonjour,

et un grand bravo pour ceux qui entretienne la dynamique libre.

Mon problème:

Je tente de portabiliser phpbb (en webapp) en suivant toutes les phases du tuto de ce site
.

Tout fonctionne jusqu'à la phase d'installation de phpbb. Avec wikimédia c'est idem. Il semble que cela bloque au niveau du DB username. J'ai essayé plusieurs possibilités d'username mais il n'y a rien à faire. J'ai créer une une database à partir d'eskuel mais rien non plus.

Je ne suis pas un pro de l'informatique mais je pense qu'avec un petit coup de main ça devrait le faire si les commandes ne sont pas trop compliqué.

Merci
fantassin-06

Lun 25 Mai, 2009 21:03

Pour MediaWiki, je ne sais pas trop comment je me suis débrouillé, il me demandait 3 identifiants/mots de passe.
Donc j'ai donné root/pas de mot de passe pour le super utilisateur de la base de donnée, admin/framasoft comme administrateur de la base de donnée et admin/framasoft comme administrateur de MediaWiki
Dans le fichier de configuration (LocalSettings.php) c'est admin/framasoft qui est enregistré pour l'accès à la base de donnée. Donc j'imagine qu'il l'a crée le compte utilisateur tout seul.

Je regarderai demain après-midi pour phpBB, j'aurais un peu de temps.
JosephK

Avatar de l’utilisateur
Messages : 2221

Mar 26 Mai, 2009 14:51

Je viens de tester, l'installation de phpBB est tout ce qu'il y a de plus classique (pas de spécificité comme pour MediaWiki)
Je résume vite fait ce qu'il faut faire sur le WordPressPortable modèle avant de démarrer l'installation de phpBB :
- édition de appinfo.ini,
- suppression de export-WordPress-xxx.sql, reset_main_options.sql, script.ini et master.sql
- suppression du dossier "/data/wordpress" (base de donnée mysql)
- suppression du dossier wordpress (site web)
- édition de startup.ini pour ne laisser que la partie [UpdateEskuelPort]
- création des icônes logo.gif (128x128, utilisée dans le splash), appicon.ico (16x16 utilisé dans le systray) et appicon48.ico (48x48 utilisé par la suite pour refaire le lanceur)
- renommage de WordPressPortable.exe en phpBBPortable.exe
- création de la base de donnée "phpbb" avec Eskuel (ou directement en créant le dossier data/phpbb ça semble marcher aussi)

Maintenant l'installation :
Configuration de la base de donnée a écrit:Type de base: MySQL avec l'extension MySQLi
Serveur de base de données ou DSN: localhost
Port du serveur: laisser vide
Nom de la base: phpbb
Nom d’utilisateur: root
Mot de passe: laisser vide
Préfixe de tables: phpbb_


Configuration de l’administration a écrit:Langue par défaut: Français
Nom de l’administrateur: admin
Mot de passe administrateur: framasoft
Confirmez le mot de passe: framasoft
E-mail de contact: adresse@email.test (par convention je mets ça)
Confirmez l’e-mail de contact: adresse@email.test

Ensuite on a une page Paramètres des e-mails et Paramètres des URLs du serveur donc ça signifie que dans la base de donnée vont être stocké des variables de configuration du serveur (notamment on voit nom de domaine et surtout port du serveur. (c'est bon à savoir pour la suite)

Une fois l'installation finie, supprimer le dossier phpbb/install

A ce stade, c'est portable. On peut exporter la base de donnée (script > générique) et faire une copie du fichier export-phpBB-xxx.sql qu'on renomme en master.sql (c'est ce fichier qui sert ensuite pour réinitialiser la base de donnée)
On peut aussi éditer le fichier help.fr.html et générer le lanceur avec la nouvelle icône (nécessite autoit)

Bon c'est portable certes, mais c'est toujours incompatible avec plusieurs webapps.
Si on a plusieurs webapps lancées simultanément, chaque webapp aura un port web et un port d'accès à MySQL différent d'attribué donc la configuration doit être modifiée dynamiquement au démarrage de la webapps par le script startup.ini.
D'abord on s'occupe de la configuration d'accès à la base de donnée, là faut chercher un peu un fichier qui s'intitulerait config.inc.php ou config.php ou localsettings.php ou db_config.php, etc
Là c'est config.php à la racine de phpbb. On a la ligne :
Code: Tout sélectionner
$dbhost = 'localhost';

qu'il faut qu'on remplace par
Code: Tout sélectionner
$dbhost = 'localhost:{$mysql_port}';

où $mysql_port est la variable du port utilisé par la webapp. Exemple, si je lance WordPressPortable, ce port sera 3306 puis je lance phpBBPortable, il faut que ce port soit 3307 ainsi de suite selon le nombre de webapps lancées.

Du coup, dans le fichier startup.ini il faut qu'on mette une section sur le même modèle que ça (utilisé pour wordpress) :
[UpdateMySQLPort]
Name=Syncronize MySQL Port
Description=Update config with the Open MySQL Port
Type=REPLACE
File={$root_path_absolute}\App\{$ApplicationPath}\wp-config.php
SearchPattern=localhost(:\d*)?
ReplaceValue=localhost:{$mysql_port}

en remplaçant wp-config.php qui est le fichier pour wordpress équivalent à config.php pour phpbb.

Bon ensuite, on a un problème avec le port web qui est enregistré dans la base de donnée à 80 or toujours avec le même exemple d'un Wordpress démarré puis de phpBB. On a Wordpress qui monopolise le port 80 et phpBB devrait donc utiliser le port 8080 (8081, 8082, etc pour les autres webapps lancées ensuite).
Donc même chose dans le startup.ini on modifie la base de donnée sur le même modèle que ça (utilisé aussi dans wordpress) :
[UpdateOptionsValues]
Name=Update Options table
Description=Update Wordpress "Options" table with some rela config values
Type=SQL
Query=UPDATE `wp_options` SET `option_value`='http://127.0.0.1:{$zmws_port}/wordpress' WHERE `option_name`='siteurl';UPDATE `wp_options` SET `option_value`='http://127.0.0.1:{$zmws_port}/wordpress' WHERE `option_name`='home';

C'est là que c'est intéressant de fouiller dans la base de donnée avec Eskuel pour savoir où se trouve cette information. Dans la requête ci dessus (Query), voilà les équivalent avec phpBB : la table s'appelle "phpbb_config" au lieu de "wp_options" ; structuré par "config_name" et "config_value" au lieu de "option_name" et "option_value" (titre des colonnes) ; et le paramètre s'appelle server_port au lieu de "siteurl" avec comme valeur {$zmws_port} (variable du port web ici à 80) au lieu de "http://127.0.0.1:{$zmws_port}/wordpress"
Là différence ici c'est que pour wordpress on changeait toute l'url pour y inclure le port alors que là on a une variable spécifique pour le port.

Ça devrait être tout, après il faut tester (wordpress d'abord, puis phpbb, lancés ensemble) pour voir si ça fonctionne et si ce n'est pas le cas il faut chercher s'il n'y aurait pas d'autres données importantes de ce type stockées dans un autre fichier de config (ça se fait ;) ) ou dans la base de donnée. Il faut vérifier aussi si le script startup.ini a bien le comportement voulu. (vérifier l'entrée dans la base de donnée et que le remplacement s'est bien effectué dans le fichier de config) Parfois, il y a des caractères spéciaux à échapper (\$, \=, \(, \), etc ). C'est très variable d'une webapp à une autre.

Là c'est juste les premiers trucs que je vois sans trop entrer dans le cambouis et avec de la chance ça sera tout. Je te laisse le faire... ;)

Tu peux aller jeter un œil là aussi si ça peut aider.
JosephK

Avatar de l’utilisateur
Messages : 2221

Mar 26 Mai, 2009 19:41

Re,

Là c'est juste les premiers trucs que je vois sans trop entrer dans le cambouis et avec de la chance ça sera tout. Je te laisse le faire..


"no problème" et "***spam***". Voilà une bonne base de travail ! En fait j'aime bien mettre les mains dans le cambouis, ça me permet d'apprendre. Bon, un apprentissage pas académique et limité à l'amateurisme mais ça me plait bien.

Bon c'est portable certes, mais c'est toujours incompatible avec plusieurs webapps.
Si on a plusieurs webapps lancées simultanément, chaque webapp aura un port web et un port d'accès à MySQL différent d'attribué donc la configuration doit être modifiée dynamiquement au démarrage de la webapps par le script startup.ini.


Bien vu, l'objectif est de faire rentrer le libre dans la fonction publique. Donc je veux créer une clé avec "firefox portable", "médiawiki" et "phpbb".

J'ai testé et utilise pour l'instant "dokuwiki" que j'ai "skinné" avec "monobloc". ça fonctionne et quelques personnes au "Taff" veulent bien développer ce projet. Aussi je n'ai rien contre "dokuwiki" bien au contraire mais j'ai pris l'habitude de "médiawiki" et "phpbb". Et l'intérêt repose sur l'exploration du code source.... Alors bingo, je suivrai ces conseils (dès un petit moment de libre, après le boulot ça le fait pas vraiment) et donnerai des nouvelles dès le projet finalisé (ou si il subsiste une zone d'ombre au niveau réalisation.

Merci à toi de ta réponse rapide et concise....
fantassin-06

Mar 26 Mai, 2009 20:48

fantassin-06 a écrit:Merci à toi de ta réponse rapide et concise....

:D

Pour MédiaWiki ne le refait pas hein ;)
http://framakey.org/WebApp/MediaWikiPortable
JosephK

Avatar de l’utilisateur
Messages : 2221

Mar 26 Mai, 2009 21:28

Re, re

ça me démangeait. Alors j'ai ouvert "notepad ++", j'ai repris la procédure,

et puis frustration :twisted: il ne fallait changer que "startup.ini". Pour le reste je verrai demain. Je reprendrai le tout étape par étape pour que ce soit plus propre et pour comprendre un peu plus ce que je fais. Mais cela fonctionne.

Juste une question, je l'estampille "admin" "framasoft" pour une mise à dispo ou je garde une "config perso" pour une utilisation solitaire ? :? Vu la simplicité je ne comprend pas qu'il n'y a pas plus de choix dans le développement des "webapp" .... Quels sont la nature des freins ? Manque t-il de "bonnes âmes testeurs collectifs" ? Y a t-il une stratégie de mis en ligne par framasoft?

Sur un plan technique (vu que j'y suis). L'un des atouts c'est la portabilité des "webapps". Pour transporter les données je "zip" avec un mot de passe (bon il n'y a pas de secret d'Etat quand même). Si je formate en "ntfs" la clé usb, puis-je limiter les droits d'accès aux "dossiers sources" (ou du moins à la base de donnée pour garder une certaine confidentialité des échanges sur le forum ? Et dernière question (allez c'est la fête des voisins) sur le poste que j'occupe au boulot, j'ai des droits très limités, pas question que l'on me donne un espace sur leurs serveurs ("vous rêvez" m'ont-il dit) et je ne connais pas la stratégie utilisée pour la sécurité du réseau (très grand réseau avec plusieurs sites géographiques distincts). J'ai testé, l'accès par le net ne passe pas le "pare feu" de mon site géographique (donc je garde une utilisation en local, c'est ce que je veux). Mais y a t-il un "danger" que les données transpercent le pare feu "tirée à bout portant" par quelqu'un de mal intentionné ? Je sais que les failles sont nombreuses en matière de sécurité réseautique et informatique et je n'attend pas une réponse du "type": le risque zéro n'existe pas. Mais comment situer la sécurité des "webbapps" (vulnérable structurellement, proportionnellement et dépendante de la stratégie global du réseau, ....) ?

En tout cas merci de l'éclairage donné. Le résultat m'a séduit.
fantassin-06

Mar 26 Mai, 2009 21:35

Pour MédiaWiki ne le refait pas hein ;)
http://framakey.org/WebApp/MediaWikiPortable


Je n'avais pas vu ton post avant de poster .... C'est cool cela me fera gagner du temps....

Par contre, je ne l'avais pas vu la semaine dernière, c'est moi qui suis passé à côté ou il a été mis sur le site très récemment ?
Si il y été la semaine dernière, il faut que j'arrête la "moquette"....
fantassin-06

Mar 26 Mai, 2009 22:32

Juste une question, je l'estampille "admin" "framasoft" pour une mise à dispo ou je garde une "config perso" pour une utilisation solitaire ? :? Vu la simplicité je ne comprend pas qu'il n'y a pas plus de choix dans le développement des "webapp" .... Quels sont la nature des freins ? Manque t-il de "bonnes âmes testeurs collectifs" ? Y a t-il une stratégie de mis en ligne par framasoft?


Manque de bonne âmes créatrices plutôt... C'est pour cela que si tu finalises PhpbbPortable, et que tu désires le partager, il sera bien reçu :wink:
Pas de stratégie du genre "on distille au compte-gouttes" ou autres, seulement un manque de temps...

Cordialement
L'homme n'est pas fait pour travailler et la preuve, c'est que ça le fatigue. (Marcel Proust)
dedenimes

Messages : 2410
Géo : proche de Nîmes

Mar 26 Mai, 2009 22:43

Vu la simplicité je ne comprend pas qu'il n'y a pas plus de choix dans le développement des "webapp"

Je ne peux qu'approuver ce que viens de dire l'ami Dedenimes : c'est un manque de temps.

En ce qui me concerne, j'ai développé le WebAppManager car je sentais qu'il y avait matière a "générativité" pour citer Tristan Nitot.
Mais déjà dans l'annonce sur le blog, je disais que je n'aurai pas de temps à y consacrer.

C'est essentiellement JosephK qui est devenu le "Grand WebAppiseur" :)

Mais c'est vraiment ouvert : choisissez vos applis, portabilisez, et si possible maintenez dans la durée pour les versions majeures (pas d'obligation, mais c'est plus mieux pour ceux qui downloadent).
*Nouveau venu ? Lisez les règles d'utilisation de ce forum
*Une question à poser ? Assurez vous qu'on vous répondra
*Soutenir Framasoft ? Participez à l'annuaire !
*"T'es où ?" Inscrivez vous sur la FramaMap
pyg

Avatar de l’utilisateur
Messages : 7858
Géo : Lyonnais

Mer 27 Mai, 2009 07:04

fantassin-06 a écrit:Juste une question, je l'estampille "admin" "framasoft" pour une mise à dispo ou je garde une "config perso" pour une utilisation solitaire ? :? Vu la simplicité je ne comprend pas qu'il n'y a pas plus de choix dans le développement des "webapp" .... Quels sont la nature des freins ? Manque t-il de "bonnes âmes testeurs collectifs" ? Y a t-il une stratégie de mis en ligne par framasoft?

Le frein oui c'est le manque de temps et le manque de contributeur (un peu pour ça que je te laisse faire parce qu'au point où j'en étais dans mes explications phpbb était quasiment fait ;) ). Donc du coup, en ce qui me concerne je choisi les webapps en fonction de leur pertinence (pas la peine d'avoir 15000 moteurs de blog).
Certaines sont plus orientées nomade genre wiki pour transporter sa documentation ou eyeOS pour transporter sont bureau partout (firefoxportable + eyeOS = framakey bis ;) ), posh pour son netvibes, etc. D'autres sont plus orienté éducation (gepi, pmb) pour faciliter leur installation et leur déploiement sur les réseaux pédagogiques des établissements scolaires, donc sur disque dur plutôt que sur clé.
Après il y a en auxquels je ne me frotte pas comme ceux cités par pyg en bas de la page de présentation parce que je ne les connais pas et qu'ils sont orientés entreprises pro.

Concernant la sécurité, je pense que ça ne craint pas grand chose, la gestion de la base de donnée ne peu se faire qu'en local sur l'adresse 127.0.0.2. Et si les droits d'accès sur ton dossier partagé contenant la webapp est bien configuré il n'y a pas de raison qu'on puissent modifier quoique ce soit.
La seule possibilité que je vois ça serait de l'injection php pour modifier la base de donnée mais là c'est un problème de sécurité lié à la webapp en elle même.
Sinon, concernant l'accès aux données, il suffit de connaître l'adresse IP de ta machine pour qu'en interne on puisse accéder à ton forum, par contre, de l'extérieur on ne peu accéder qu'au serveur qui te sert de passerelle pour accéder à internet (en général c'est aussi le serveur de fichier) ça ne descend pas plus bas.
Bon après je suis pas expert en sécurité réseau loin de là :)

Sinon, MediaWiki je l'ai fait ce week-end sur demande du grand gourou ;)
JosephK

Avatar de l’utilisateur
Messages : 2221

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit