Sommaire
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:
- nginx 1.12.2
- mariadb 10.1.26
- php7.0
- Agora 3.3.4
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:
- ap_contactFolder
- ap_fileFolder
- ap_linkFolder
- ap_taskFolder
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
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.
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.
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