Ce document présente, à titre d'information, une procédure pour préparer un serveur dédié à SynerGaia à partir d'une machine vierge.
Ces informations sont données à titre indicatif et vous devez les contrôler sur les sites des fournissuers des logiciels ad hoc !
Contexte et objectif
SynerGaia est testé pour fonctionner sur :
- un serveur Linux (généralement Ubuntu),
- avec un serveur web Apache 2,
- une gestion de base de données CouchDB 3.3 au moins,
- un langage de programmation PHP 8.1 au moins
- un gestionnaire de cache (généralement Memcached)
Installation des pré-requis sur le serveur
Liste des pré-requis
Avant l'installation de SynerGaïa, vous devez vérifier que vous disposez bien de :
- PHP 8.1 ou supérieur
- Une base de données avec laquelle SynerGaïa peut communiquer : CouchDB, version 3.2 minimum
Installation sur un serveur Linux
SynerGaïa a été installé sans difficultés sur Debian, Ubuntu, Centos.
Les indications sont données ici pour un serveur (Debian / Ubuntu)
Les versions courantes de SynerGaïa sont certfiées pour Ubuntu 16.04.
Éléments fondamentaux(serveur internet, php, base de données, cache)
L'instruction apt-get install permet le chargement des principales bibliothèques
sudo apt-get install apache2 php8.0 couchdb memcached libapache2-mod-php php-memcached php-gd php8.0-xml php-zip php8.0-zip php-mbstring php-gd
puis continuer avec les paquets complémentaires
notes :
- pour vérifier si mbstring est installé, passez la commande php -m sur un terminal
Paramétrage du fichier de configuration
- Debian, Ubuntu : /etc/apache2/conf.d ou les fichiers conf (voir aussi ../conf/charset par exemple)
- Centos : /etc/httpd/conf/httpd.conf
Fonction php complémentaires (graphiques, caractères, etc)
La bibliothèque graphique gd doit aussi être installée si vous utilisez l'objet @Image.
La commande à utiliser est :
sudo apt-get install php-gd
Installation de PHP-FPM
Cette option est facultative et suppose que vous connaissez déjà Linux et PHP car il faudra utiiser les source de PHP pour l'installer.
voir des informations sur PHP-FPM : https://fr.wikipedia.org/wiki/PHP-FPM
Envoi des mails
Php offre une solution native pour l'envoi des mails, mais elle est limitée dès que l'on pense avoir un certain volume ou une certaine complexité de mails à distribuer.
Une solution complémentaire consiste à installer sendmail.
Gestion du cache
Un cache permet d'apporter de la performance au déroulement du programme en conservant en mémoire certains éléments fréquemment calculés.
Voir Liste des codes de cache.
Il existe plusieurs solutions de cache pour php.
- Le cache propre à php (natif et non décrit ici)
- le cache APC
- le cache memcached
SynerGaia test automatiquement quelle solution est disponible et choisit par ordre de préférence : memcached, APC, cache php.
Cache APC
Propose une mise en cache plus évoluée, pertinente si un seul serveur est utilisé. APC permet dans la majorité des cas d'améliorer les performances.
sudo apt install php-apc
Cache memcached
Propose également une mise en cache et permet dans la majorité des cas d'améliorer les performances si plusieurs serveurs sont utilisés. Si APC est disponible, memcache ne sera pas utilisé.
sudo apt install memcached php-memcached
Connexion avec des tableurs
La bibliothèque PHPExcel permet à SynerGaïa de se connecter avec des fichiers tableurs via l'objet @Tableur. Il est possible d'installer la bibliothèque par la commande :
sudo apt install phpexcel
Quelques commandes utiles
Ces commandes sont données à titre d'aide sans garantie.
- redémarrer Apache : (ou stop ou start selon les besoins)
- Debian, Ubuntu : sudo service apache2 restart
- Centos : apachectl restart
Serveur sous Windows
Note : L'environnement Windows n'est pas conseillé en production, mais il permet par exemple de tester et préparer un environnement à déployer en production.
Préparation de CouchDB
Voir Installation de CouchDB
Par défaut CouchDB n'applique pas de contrôle de l'utilisateur et interdit les connexions en provenance d'un autre hôte. Ce mode de fonctionnement (appelé "admin party mode") n'est pas compatible avec SynerGaïa pour des raisons de sécurité.
SynerGaïa a besoin d'un compte utilisateur CouchDB, que l'on pourra par exemple nommer "synergaia".
Pour créer un utilisateur, l'interface de gestion "Fauxton" est accessible par l'url : http://localhost:5984/_utils/.
Si l'accès à "Futon" doit être fait à partir d'une autre machine, il sera refusé par défaut. Pour l'autoriser, modifier dans le fichier/etc/couchdb/default.inila ligne "bind_address = 127.0.0.1" en y saisissant l'adresse du serveur (par exemple "bind_address = 192.168.0.100").
Deux possibilités :
- Si CouchDB est dans son état initial (pas de contrôle, "admin party mode"), cliquer en bas à droite sur "fix this" et enregistrer un premier utilisateur CouchDB.
- Si CouchDB possède déjà un compte, utiliser ce compte pour créer un nouvel utilisateur.
Plus d'informations : Installation et configuration de CouchDB