Configuration du système

Configurer le serveur apache

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

Alternative à Apache : configurer le serveur nginx

Exemple de configuration avec php-fpm.

server {
	listen 80 default_server;
	listen [::]:80 default_server;

	root /var/www/html/anakeen/platform/public;

	index index.php

	server_name _;

	location / {
	    # For router : rewrite rules
		try_files $uri /index.php$is_args$args;
		location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include snippets/fastcgi-php.conf;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                fastcgi_param SCRIPT_NAME $fastcgi_script_name;
                # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }
	}

	location ^~ /control {
		set $controlUri $1;
    	rewrite ^/control(.*)$ /control/public$1 last;
	}
	location ^~ /control/public {
    		root /var/www/html/anakeen;
    		try_files $uri /control/index.php$is_args$args;
    		# Authentication basic
    		auth_basic "Restricted Content";
       		auth_basic_user_file /var/www/html/anakeen/control/.htpasswd;

            location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include snippets/fastcgi-php.conf;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                fastcgi_param REQUEST_URI $controlUri;
		        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
                # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }
	}
}

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