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"
fr_FR
et en_US
Locales 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
(commandezip
avec support de l'option-Z store
deinfo-zip
>= 3.0. En cas de problème avec la commandezip
, utiliser la version fournie par Info-ZIP)unzip
(En cas de problème avec la commandeunzip
, 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 commandepg_dump
Utilitaire de PostgreSQLmsgcat
(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 :
php_module
env_module
expires_module
dir_module
auth_basic_module
authn_file_module
authz_host_module
rewrite_module
headers_module
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>