Configuration du système
Configurer le serveur apache
<VirtualHost *:80>
<FilesMatch \.php$>
<If "-f %{REQUEST_FILENAME}">
SetHandler "proxy:fcgi://php-fpm:9000"
</If>
</FilesMatch>
<Proxy "fcgi://php-fpm:9000">
</Proxy>
<Directory "/var/www/html/anakeen/platform/public">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
CGIPassAuth On
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Configurer le serveur nginx
server {
listen *:80;
server_name _;
location / {
root /var/www/html/anakeen/platform/public/;
try_files $uri /index.php$is_args$args;
location ~ \.php$ {
include fastcgi.conf;
fastcgi_index index.php;
fastcgi_pass php-fpm:9000;
}
}
}
Configurer le serveur caddy
localhost, localhost:80 {
root * /var/www/html/anakeen/platform/public/
encode gzip
php_fastcgi php-fpm:9000
file_server
}
Configurer le serveur PostgreSQL
Anakeen Platform à besoin d'une connexion à une base de donnée PostgreSQL via un service PostgreSQL
Pour cela, on recommande de créer un rôle PostgreSQL (autorisé à se connecter au serveur) et une base de données propriétée de ce rôle :
-- postgres=#
CREATE ROLE "anakeen-platform" WITH LOGIN ENCRYPTED PASSWORD 'secret'; -- Changer 'secret' par un mot de passe sûr
CREATE DATABASE "anakeen-platform" WITH ENCODING 'UTF8' OWNER "anakeen-platform";
Si on utilise PostgreSQL <= 12 et que le propriétaire de la base de données n'est pas "superuser", il faudra alors précréer manuellement les extensions PostgreSQL suivantes dans la base de données de Anakeen Platform :
unaccent
intarray
-- postgres=#
\c anakeen-platform
-- You are now connected to database "anakeen-platform" as user "postgres".
-- anakeen-platform=#
CREATE EXTENSION unaccent;
CREATE EXTENSION intarray;
Exemple de configuration d'un service PostgreSQL: /etc/postgresql-common/pg_service.conf
[anakeen-platform]
host=localhost
port=5432
user=anakeen-platform
password=secret
dbname=anakeen-platform