Prérequis

Serveur linux

Version des dépendances

Versions des dépendances php et psql en fonction des versions de anakeen-platform-4

php psql
2021 7.4 >= version <= 8.0 11.0 >= version <= ^13
2022 8.0 >= version <= 8.1 12.9 >= version <= ^14
2023 8.1.1 >= version <= 8.2 13.9 >= version <= ^15

GNU/Linux

Anakeen Platform fonctionne sur un système GNU/Linux (Debian, Ubuntu, RedHat, etc.).

Implémentation libc de Iconv

La fonction iconv doit être fournie par PHP compilé avec GLIBC.

Pour vérifier cela :

    $ iconv --version
    iconv (Ubuntu EGLIBC 2.11.1-0ubuntu7.8) 2.11.1
    ...
    $ php -r 'var_dump(ICONV_IMPL); var_dump(iconv("UTF-8", "ASCII//TRANSLIT", "\xc3\xa9t\xc3\xa8"));'
    string(5) "glibc"
    string(3) "ete"

Locales fr_FR et en_US

Anakeen Platform requiert que les locales systèmes fr_FR.UTF-8 et en_US.UTF-8 soient actives et correctement configurées sur le système.

Commandes système

Anakeen Platform requiert les commandes système suivantes :

  • rm
  • file
  • mkdir
  • tar
  • gzip
  • zip (commande zip avec support de l'option -Z store de info-zip >= 3.0. En cas de problème avec la commande zip, utiliser la version fournie par Info-ZIP)
  • unzip (En cas de problème avec la commande unzip, utiliser la version fournie par Info-ZIP)
  • dot (fourni par Graphviz)
  • convert (fourni par ImageMagick)
  • php PHP en ligne de commande.
  • psql PostgreSQL en ligne de commande
  • pg_dump Utilitaire de PostgreSQL
  • msgcat (fourni par gettext)

Extensions PHP

Les extensions notées (core) sont normalement incluses de manière statique dans PHP.

  • Core (core)
  • SimpleXML
  • ctype
  • curl
  • dom
  • date (core)
  • fileinfo
  • filter
  • hash
  • gd
  • gettext
  • iconv (GLIBC)
  • intl
  • json
  • mbstring
  • openssl
  • pcntl
  • pcre
  • pgsql
  • posix
  • Reflection
  • session (core)
  • sockets
  • spl
  • tokenizer
  • xml
  • xsl
  • zip

Paramétrage PHP

Certains paramètres de PHP doivent être modifiés afin que Anakeen Platform fonctionne au mieux et en fonction de votre utilisation. Ces valeurs préconisées doivent être revues en fonction de votre configuration réelle et de vos applications.

Paramètres INI

date.timezone : Ce paramètre permet de spécifier le fuseau horaire utilisé par les fonctions de manipulation de date.

[ini] date.timezone = 'Europe/Paris'

max_execution_time : Ce paramètre permet de spécifier le temps maximal (en seconde) de traitement d'une requête par PHP. Par défaut ce paramètre est à “30”.
[ini] max_execution_time = 300 ; 5 min.

max_file_uploads : Ce paramètre permet de spécifier le nombre maximum de fichiers qui seront pris en compte par PHP lors de la soumission d'un formulaire contenant des fichiers.
Cette valeur doit être en cohérence avec le nombre maximum de fichier pouvant être soumis lors de l'enregistrement d'un document.
Si ce n'est pas le cas, l'enregistrement du document est refusé à l'utilisateur et le message d'erreur suivant est présenté à l'utilisateur : "Trop de fichiers dans le formulaire. Veuillez contacter votre administrateur système pour augmenter max_file_uploads dans php.ini. Le maximum est de %s".

Par défaut ce paramètre est à “20”.
[ini] max_file_uploads = 100

error_reporting : Ce paramètre permet de spécifier le niveau de reporting des notices/warnings/erreurs/etc. Il est nécessaire de ne pas afficher les messages de notices (E_NOTICE), de dépréciation (E_DEPRECATED) et de suggestion (E_STRICT) de PHP lors de l'utilisation de Anakeen Platform Platform en production.
[ini] error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT

display_errors : Ce paramètre permet d'activer ou non l'affichage des erreurs PHP dans les réponses émises au client. En production, il est recommandé de désactiver le display_errors (les messages d'erreur/warning/suggestion de PHP seront alors consultables sur le serveur dans le fichier spécifié par le paramètre INI error_log).
Par défaut ce paramètre est à On.
[ini] display_errors = Off

post_max_size : Ce paramètre permet de spécifier la taille maximale d'une requête de type POST.
Par défaut ce paramètre est à "2M" (2 Mo).
[ini] post_max_size = "128M"

upload_max_filesize : Ce paramètre permet de spécifier la taille maximale d'un fichier téléversé. Si un fichier d'une taille supérieure est envoyé par le navigateur, il ne sera pas pris en compte par PHP.

Par défaut ce paramètre est à "2M" (2 Mo).
[ini] upload_max_filesize = "20M"

htaccess

Le répertoire public possède un .htaccess pour faire fonctionner le routeur. Il est écrasé à chaque mise à jour.

PostgreSQL

Anakeen Platform utilise le fichier de service PostgreSQL (pg_service.conf) pour la définition des paramètres de connexion à la base de données :

Pour identifier l'emplacement du fichier pg_service.conf sur votre distribution Linux, vous pouvez utiliser la commande suivante :

# pg_config --sysconfdir

HTTPD Apache

Anakeen Platform nécessite le serveur HTTPD Apache en version 2.4.

Le répertoire dans lequel sera installé Anakeen Platform doit avoir un AllowOverride All afin que les .htaccess livrée par Anakeen Platform soient bien pris en compte par Apache :

Modules Apache

Les modules Apache suivants sont requis :

Supervision (optionnel)

Si l'outil de supervision est installé, il faut configurer le serveur afin d'ajouter un Alias.

Exemple dans le fichier /etc/apache2/sites-enabled/anakeen-platform.conf :




 






<VirtualHost *:80>
    DocumentRoot /var/www/html/anakeen/platform/public

    Alias /supervisor /var/www/html/anakeen/platform/public/Anakeen/AnkSupervisor/index.php

    <Directory /var/www/html/anakeen/platform/public>
        AllowOverride all
    </Directory>
</VirtualHost>