LINUX:Agora-Installation
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.