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