« Logiciel Pastèque/Serveur/Installation » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Warning obsolète, ajout du lien vers la mise à jour depuis une v6.
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 18 : Ligne 18 :


Télécharger la dernière version de Pastèque server : https://downloads.pasteque.org/server/pasteque-server.tgz
Télécharger la dernière version de Pastèque server : https://downloads.pasteque.org/server/pasteque-server.tgz
<source lang="bash">$ wget https://downloads.pasteque.org/server/pasteque-server.tgz</source>
<syntaxhighlight lang="bash">$ wget https://downloads.pasteque.org/server/pasteque-server.tgz</syntaxhighlight>


Décompresser l'archive dans le répertoire web de votre serveur.
Décompresser l'archive dans le répertoire web de votre serveur.
<source lang="bash">$ tar xzvf pasteque-server.tgz</source>
<syntaxhighlight lang="bash">$ tar xzvf pasteque-server.tgz</syntaxhighlight>


=== Modification du fichier de config général ===
=== Modification du fichier de config général ===
Ligne 28 : Ligne 28 :
Modifier ces lignes comme suit:
Modifier ces lignes comme suit:


<source lang="php">
<syntaxhighlight lang="php">
$config['core_ident'] = "inifile";
$config['core_ident'] = "inifile";
$config['core_database'] = "inifile";
$config['core_database'] = "inifile";
$config['core_modules'] = "database";
$config['core_modules'] = "database";
$config['template'] = 'pasteque-bootstrap';
$config['template'] = 'pasteque-bootstrap';
</syntaxhighlight>
</source>


Modifier aussi l'entrée jwt_secret avec une chaîne de caractères de bonne taille (256 caractères, aléatoires, avec caractères spéciaux). Cette chaîne est utilisée pour signer et vérifier les tokens d'authentification.
Modifier aussi l'entrée jwt_secret avec une chaîne de caractères de bonne taille (256 caractères, aléatoires, avec caractères spéciaux). Cette chaîne est utilisée pour signer et vérifier les tokens d'authentification.
Ligne 45 : Ligne 45 :
Un fichier de connexion aux base de données prend la forme <user>_db.ini, il contient les informations suivantes :
Un fichier de connexion aux base de données prend la forme <user>_db.ini, il contient les informations suivantes :


<source lang="php">
<syntaxhighlight lang="php">
type = mysql
type = mysql
host = localhost
host = localhost
Ligne 52 : Ligne 52 :
user = "utilisateur_mysql"
user = "utilisateur_mysql"
password = password_mysql
password = password_mysql
</source>Assurez vous que le fichier est lisible par l'utilisateur du serveur web (www-data).
</syntaxhighlight>Assurez vous que le fichier est lisible par l'utilisateur du serveur web (www-data).


=== Pour la gestion de l'authentification ===
=== Pour la gestion de l'authentification ===
Ligne 82 : Ligne 82 :


== mode openbar ==
== mode openbar ==
<source lang="bash">
<syntaxhighlight lang="bash">
URL du serveur : http://monserveur.aa/pasteque-server/
URL du serveur : http://monserveur.aa/pasteque-server/
Utilisateur : (laissez vide)
Utilisateur : (laissez vide)
Mot de passe : (laissez vide)
Mot de passe : (laissez vide)
</syntaxhighlight>
</source>
== mode inifile ==
== mode inifile ==
<source lang="bash">
<syntaxhighlight lang="bash">
URL du serveur : http://monserveur.aa/pasteque-server/
URL du serveur : http://monserveur.aa/pasteque-server/
Utilisateur : user
Utilisateur : user
Mot de passe : password
Mot de passe : password
</syntaxhighlight>
</source>


= Configuration =
= Configuration =

Version du 16 avril 2020 à 08:58

Logo

Concerne la version 7. Cette version est obsolète.

Document d'installation de la solution Pastèque Server version 7. Vous pouvez aussi consulter cette notice d’installation par Cyril Borne

Le mode "JWT"

A partir de la version 7, la méthode d'identification a été modifié. Le module openbar a été supprimé (mais son comportement peut être retrouvé) et l'authentification via WordPress est déconseillée car très lourde.

JWT signifie JSON Web Token. Cette méthode permet d'éviter d'envoyer les information d'authentification à chaque appel. Pour plus d'explications techniques https://jwt.io/.

Installation de Pastèque serveur selon le mode "JWT"

Pré-requis:

  • Avoir installé Apache, PHP (5.5 ou supérieur), PHP-INTL, PHP-GD, MySQL
  • Créer une BDD MySQL avec un utilisateur ayant les droits sur celle-ci.

Télécharger la dernière version de Pastèque server : https://downloads.pasteque.org/server/pasteque-server.tgz

$ wget https://downloads.pasteque.org/server/pasteque-server.tgz

Décompresser l'archive dans le répertoire web de votre serveur.

$ tar xzvf pasteque-server.tgz

Modification du fichier de config général

Renommer le fichier pasteque-server/config-sample.php en config.php. Ce fichier doit donc se trouver à la racine de votre dossier nouvellement décompressé.

Modifier ces lignes comme suit:

$config['core_ident'] = "inifile";
$config['core_database'] = "inifile";
$config['core_modules'] = "database";
$config['template'] = 'pasteque-bootstrap';

Modifier aussi l'entrée jwt_secret avec une chaîne de caractères de bonne taille (256 caractères, aléatoires, avec caractères spéciaux). Cette chaîne est utilisée pour signer et vérifier les tokens d'authentification.

Pour la base de données

Accédez au dossier pasteque-server/core-modules/database/inifile/. A l'intérieur de ce dossier, se trouvent aussi deux fichiers:

  • config-sample.php
  • module.php

Il vous faut tout d'abord renommer config-sample.php en config.php. Puis accéder au contenu de ce fichier (le nouveau config.php) pour en modifier le contenu. Indiquer le répertoire dans lequel vous allez déposer les fichiers ini des comptes utilisateurs, dans cet exemple /etc/pasteque/auth permet de regrouper tous les fichiers ini au même endroit.

Un fichier de connexion aux base de données prend la forme <user>_db.ini, il contient les informations suivantes :

type = mysql
host = localhost
port = 3306
name = "nom_de_votre_bdd"
user = "utilisateur_mysql"
password = password_mysql

Assurez vous que le fichier est lisible par l'utilisateur du serveur web (www-data).

Pour la gestion de l'authentification

Accédez au dossier pasteque-server/core-modules/ident/inifile/ et renommer config-sample.php en config.php. Le dossier indiqué dans config.php contiendra un hash des mots de passe de chaque utilisateur, il est donc conseillé de conserver le chemin /etc/pasteque/auth. Créer ce dossier (vous aurez besoin des droits root).

Définition d'un utilisateur et d'un mot de passe

Pour ajouter l'utilisateur <user> avec le mot de passe <pwd>, créer le fichier

/etc/pasteque/auth/<user>_id.ini

Les mots de passe sont chiffrés via la méthode php password_encrypt. Pour générer un mot de passe utilisateur il faut executer un script externe en attendant l'intégration de la gestion des comptes utilisateurs directement via l'interface graphique. Des scripts de génération sont disponible sur le dépôt tools ou pré-installé par exemple sur pasteque.pro.

Mettre la chaîne de caractères obtenue <pwd_hash> dans /etc/pasteque/auth/<user>_id.ini :

password = "<pwd_hash>"

Assurez vous que le fichier est lisible par l'utilisateur du serveur web (www-data).

Accès sans compte utilisateur

Déconseillé, mais pour retrouver un comportement type "openbar" sans authentification, ajouter les options suivantes dans votre fichier de configuration :

$config['debug'] = true;
$config['no_auth'] = true;

L'identifiant de l'utilisateur sera alors 0. Ce mode n'est pas disponible en dehors du mode débug.

Des messages de warning peuvent alors apparaître dans les réponses de l'API et bloquer le fonctionnement normal de l'application.

Vérification et Fin de l'installation de pasteque-server mode "JWT"

Pour accéder à l'interface d'administration de la solution pasteque-server, ouvrez votre navigateur web préféré. Puis, rentrez tout simplement l'adresse du serveur/répertoire de pastèque (exemple http://monserveur.aa/dossier_pasteque_serveur), choisissez le pays, et c'est fini !

Configuration du client

mode openbar

URL du serveur : http://monserveur.aa/pasteque-server/ 
Utilisateur : (laissez vide) 
Mot de passe : (laissez vide)

mode inifile

URL du serveur : http://monserveur.aa/pasteque-server/ 
Utilisateur : user 
Mot de passe : password

Configuration

Configuration is made with config.php file in your root folder of Pastèque server

Debug mode

Set $config['debug'] to true. Debug mode will trigger USER_NOTICE php errors. You can handle them with PHP (display_errors and/or log_errors)

Notice that all JSON requests to api.php are logged in this case. Be ware that PHP default configuration limit error messages to 1024 chars. You can change it threw log_errors_max_len in PHP config (php.ini file or .htaccess file or anyway you want)

Migration de la base MySQL V6 vers V7

Procéder à l'installation comme décrite plus haut. Une fois l'installation terminée, récupérer la tables ROLES et la ligne correspondante à l'ID 14, Menu.Root de la table RESOURCES Supprimer la base de donnée, la remplacer par votre sauvegarde et y injecter les dump des tables ROLES et RESOURCES précédemment enregistrés. Relancer l'installation de la base en sélectionnant la langue dans la page d'administration.