LINUX:Agora-Installation

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu d'Agora


But

La première étape consiste en l'installation du logiciel.


Prérequis

Ce logiciel nécessite:

  • un serveur Web Apache
  • un gestionnaire de base de données de type MySQL tel MariaDB
  • un interpréteur PHP, la dernière version 8.3 est compatible

Dans mon cas, ces produits sont tous sur une même machine Linux


Téléchargement

On va sur le site "Agora-Project" et via le menu allez télécharger le logiciel ou en ligne de commande sous Linux:

wget https://github.com/xech/agora-project/archive/refs/heads/master.zip -O agora.zip

On décompresse le fichier obtenu:

unzip agora.zip

Le répertoire "agora-project" est créé.

On copie son contenu dans notre espace de sites Web, par exemple dans le répertoire "/web/agora".


Droits

Ce répertoire doit appartenir à l'utilisateur "apache" sous lequel s'exécute le service 'httpd.service":

chown -R apache:apache /web/agora

On y affecte des accès classiques:

chmod -R 540           /web/agora
find                   /web/agora -type f -print0 | xargs -0 chmod 440

Le sous répertoire "/web/agora/DATAS" doit avoir tous les droits car c'est là notamment que les fichiers mis en partage se retrouveront. Lors de l'installation, le fichier de configuration y sera créé:

chmod -R 740           /web/agora/DATAS
bin/find               /web/agora/DATAS -type f -print0 | xargs -0 chmod 640


PHP

Dans le fichier de configuration de PHP "/etc/php.ini", deux paramètres sont à considérer spécialement:


post_max_size = 64M
upload_max_filesize = 64M

Dans l'exemple, nous les avons mis à 64 Mb, ce qui limitera la taille maximale d'un fichier à charger via l'interface. A adapter selon vos besoin.


Apache

On doit ajouter un fichier de configuration pour le service Apache.

ATTENTION: L'exemple de configuration le présente comme un des sites de votre domaine. Si ce site doit être accessible en direct, cette configuration qui suit doit être adaptée en conséquence.

On crée un fichier "agora.conf" dans le répertoire "/etc/httpd/conf.d":


Alias "/agora" "/web/agora"
<Directory "/web/agora">
 Options +FollowSymLinks -Indexes
 AllowOverride All
 <IfModule mod_authz_core.c>
       Require all denied
       Require ip 127.0.0.1
       Require ip 192.168.1
 </IfModule>
 IncludeOptional conf.d/php8.cfg
</Directory>

On limite l'accès à notre réseau privé "192.168.1.0/24".

La commande "AllowOverride All" permet l'activation des fichier spéciaux ".htaccess". Il nous servira par la suite.

Comme par défaut, Fedora 41 vient avec la version 8.3 de PHP, dans le cadre d'une installation présentant plusieurs versions de PHP, on doit spécifier la version à utiliser pour de logiciel. Voyez l'article sur Coexistence de plusieurs versions de PHP. D'où la ligne:


 IncludeOptional conf.d/php8.cfg

On relance le service Apache pour prendre en compte cet ajout:

systemctl restart httpd.service


MariaDB

Avant tout début de configuration, il est plus aisé que la base de données MariaDB (MySQL) comprenne un schéma vide qui va accueillir vos données.

Nous avons nommé ce schéma "dbagora".

Voici le script SQL qui permet de le créer à vide; on nomme ce script: "schema.sql":


DROP SCHEMA IF EXISTS dbagora ;
CREATE SCHEMA dbagora ;

On l'exécute via la commande:

mysql --user=root --password=<MOT_DE_PASSE_DE_ROOT>  < ./schema.sql

avec un nom d'utilisateur de la base de donnés qui a les droits administrateur.


Il nous faut en outre, créer un utilisateur dans cette base de données qui a tous les droits sur ce schéma nouvellement créé. On lui a donné le nom "useragora". C'est lui que le logiciel utilisera pour accéder à nos données.

Voici le script SQL qui permet de le créer et de lui attribuer des droits nécessaires; on nomme ce script: "user.sql":


create user 'useragora'@'localhost' identified by '<MOT_DE_PASSE_AGORA>' ;
grant all privileges on dbagora.* to 'useragora'@'localhost';

Vous y remplacez le mot de passe "<MOT_DE_PASSE_AGORA>" par celui désiré.

On l'exécute via la commande:

mysql --user=root --password=<MOT_DE_PASSE_DE_ROOT>  < ./user.sql

avec un nom d'utilisateur de la base de donnés qui a les droits administrateur.




retour au menu d'Agora