Menu

Installer une solution collaborative : Agora-Project

9 décembre 2017 - Internet, Linux, Optimiser
Installer une solution collaborative  : Agora-Project

I.   Présentation

Si vous êtes à la recherche d’un gestionnaire de projets/taches, solution collaborative de partage avec agenda, etc vous pouvez vous tourner vers Agora-Project

 Je vais faire l’installation sur une Debian 9 (stretch) avec:


II.   Installation du serveur Web

Je pars d’une fresh install Debian.

On commence part vérifier les sources list:

nano /etc/apt/sources.list

deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free
deb http://ftp.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ stretch-updates main contrib non-free
deb http://ftp.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.debian.org/debian/ stretch main contrib non-free

 

On ajoute les sources list de nginx:

nano /etc/apt/sources.list.d/nginx.list

deb http://nginx.org/packages/debian/ stretch nginx
deb-src http://nginx.org/packages/debian/ stretch nginx

 

On télécharge la clé de signature des sources list:

wget http://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
rm nginx_signing.key

 

On met actualise les dépots et on installe notre nginx, php7 et mariadb:

apt-get update
apt-get install -y nginx php7.0 php7.0-fpm php7.0-mysql mariadb-server

 

On sécurise l’installation de mariadb:

mysql_secure_installation

Change the root password? [Y/n] n # A vous de voir
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

 

On se connecte à mariadb pour créer notre base de donnée:

mysql -u root -p
create database agora;
create user agorauser@localhost identified by 'Agora2017';
grant all privileges on agora.* to agorauser@localhost identified by 'Agora2017';
flush privileges;
exit;

 

On ajoute  :

cd /etc/nginx/conf.d/
mv default.conf default.conf.orig
nano agora.conf
server {
listen 80;
root /usr/share/nginx/html/agora;
index index.php index.html index.htm;
access_log /var/log/nginx/http-access.log;
error_log /var/log/nginx/http-error.log;server_name 192.168.1.70;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
include /etc/nginx/fastcgi_params;
#include /etc/nginx/fastcgi.conf;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
}

 

On change l’utilisateur de nginx:

nano /etc/nginx/nginx.conf

user www-data;

 


III.   Agora-Project

Dans le dossier /usr/share/nginx/html copié le dossier agora que vous avez téléchargez sur leur site.

On change les droits des dossiers et fichiers agora:

cd /usr/share/nginx/html
find -xtype d | xargs chmod 755

cd /usr/share/nginx/html/agora
find -xtype f | xargs chmod 644

cd /usr/share/nginx/html
chown -R www-data:www-data agora

On vérifie la configuration de nginx et on le redémarre:

nginx -t
service nginx restart

 

On se retrouve dans notre navigateur à l’adresse de notre serveur et on commence l’installation d’Agora.

 

 


IV.   Correction d’erreur SQL

Une fois Agora installé, il y a une erreur dans la base de donnée qui nous empeche de créer des dossiers dans les partie Taches, Contacts, Fichiers, Liens.

Il manque juste une colonne dans les tables correspondantes.

mysql -u root -p

USE agora;
ALTER TABLE ap_contactFolder ADD icon blob;
ALTER TABLE ap_fileFolder ADD icon blob;
ALTER TABLE ap_linkFolder ADD icon blob;
ALTER TABLE ap_taskFolder ADD icon blob;
exit

Se déconnecter et se reconnecter à agora

Pour être propre au prochaine mise à jour (extrapolation je ne suis pas sûr)

Mettre adminer.php, à télécharger ici
Se connecter et dans chaque table deplacer la colonne icon juste en dessous de description

A faire pour les tables suivantes:

 


V.   SSL

Un peu de SSL pour faire du bien:

On crée les certificats SSL:

mkdir /etc/nginx/ssl/
cd /etc/nginx/ssl/

openssl genrsa -des3 -out secure.key 2048
openssl req -new -key secure.key -out server.csr
openssl rsa -in secure.key -out server.key
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
rm secure.key server.csr
openssl dhparam -out dhparam.pem 2048

 

On modifie notre fichier de configuration nginx agora.conf:

nano /etc/nginx/conf.d/agora.conf

server {
listen 80;

root /usr/share/nginx/html/agora;
index index.php index.html index.htm;

access_log /var/log/nginx/http-access.log;
error_log /var/log/nginx/http-error.log;

server_name 192.168.1.53;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
include /etc/nginx/fastcgi_params;
#include /etc/nginx/fastcgi.conf;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}

return 301 https://$server_name$request_uri;
}

server {
listen 443 ssl http2;

ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security max-age=15768000;

server_name 192.168.1.53;

#ssl_stapling on;
#ssl_stapling_verify on;
#resolver 8.8.8.8 8.8.4.4 valid=86400;
#resolver_timeout 10;

access_log /var/log/nginx/https-access.log;
error_log /var/log/nginx/https-error.log;

root /usr/share/nginx/html/agora;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
include /etc/nginx/fastcgi_params;

fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
}

 

On vérifie la configuration et on redémarre nginx:

nginx -t
server nginx restart

 


3 réflexions sur “ Installer une solution collaborative : Agora-Project ”

App2p

Bonjour
L’installation s’est bien déroulée. Par contre je suis limité à 10 utilisateurs.
Est ce que c’est normal d’avoir cette limite.

Répondre
    Snatch

    Bonjour,
    Je n’ai pas effectué cette tâche, je ne peux donc te répondre dans l’immédiat mais je testerai en t’en dirai plus.

    Répondre
    Snatch

    Bonjour,

    Je viens de re-faire, à l’instant, une installation.

    Je n’ai pas cette limitation à 10 utilisateurs. J’en ai créé 11 à « la main » et 11 autres importés en CSV.

    Si ton serveur n’est pas en prod tu peux refaire une installation, sinon tu peux également faire la mise à jour, entre temps la version 3.3.5 est sortie.

    Bonne soirée

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *