Introduction
Confluence est un logiciel de wiki, utilisé comme logiciel de travail collaboratif. Confluence est un logiciel commercial, développé par la compagnie australienne Atlassian.
Écrit en Java, le logiciel est compatible avec de nombreuses bases de données.
Ce logiciel est soit utilisé comme logiciel en tant que service soit installé sur la machine de l'utilisateur.
Plateforme supporté
Cette section décrit les logiciels supplémentaires et l'infrastructure dont vous aurez besoin pour exécuter Confluence. Veuillez vérifier ces informations avant d’installer Confluence.
Les informations de cette section s'appliquent à Confluence 7.2.0.
Naviguateur web :
- Internet Explorer 11
- Microsoft Edge
- Chrome
- Firefox
- Safari (Mac only)
Système d'exploitation :
- Microsoft Windows
- Linux
Base de donnée :
PostgreSQL:
- PostgreSQL 9.4
- PostgreSQL 9.5
- PostgreSQL 9.6
MySQL:
- MySQL 5.6
- MySQL 5.7
Oracle:
- Oracle 12c Release 1
- Oracle 12c Release 2
Microsoft SQL Server:
- SQL Server 2012
- SQL Server 2014
- SQL Server 2016
- SQL Server 2017
- Azure SQL
Guide des exigences matérielles
Les valeurs ci-dessous se réfèrent au matériel minimum disponible requis pour exécuter Confluence uniquement; par exemple, la taille de segment de mémoire minimale à allouer à Confluence est de 1 Go et de 1 Go pour Synchrony (ce qui est requis pour l'édition collaborative).
Note:
Sur les petites instances, la charge du serveur est principalement due aux pics de fréquentation, il est donc difficile d'évaluer les exigences minimales du système.
Atlassian fournis ces chiffres comme un guide du minimum absolu requis pour exécuter Confluence, et la configuration nécessitera probablement un meilleur matériel.
Voici les recommandation matérielle minimale:
- CPU: Quad core 2GHz+ CPU
- RAM: 6GB
- Minimum database space: 10GB
Exemple de spécifications matérielles
Il s'agit d'exemples de spécifications matérielles pour les instances Confluence non groupées.
Il n'est pas décrit si la quantité de RAM fait référence à la mémoire totale du serveur ou à la mémoire allouée à la JVM, tandis que les paramètres vides indiquent que les informations n'ont pas été fournies.
| Accounts | Space | Pages |
|---|---|---|
| 150 | 30 | 1000 |
| 350 | 100 | 15000 |
| 5000 | 500 |
Installation de MySQL server
Vous devez installer MySQL à partir du référentiel de la communauté.
Téléchargez et installez le repo:
# wget http://repo.mysql.com/mysql57-community-release-el7.rpm # sudo yum localinstall mysql57-community-release-el7.rpm
Mise à jour du repository
# sudo yum update
Maintenant, installez et démarrez MySQL:
# sudo yum install mysql-server mysql-client # sudo systemctl start mysqld # sudo systemctl enable mysqld
Une fois l'installation de MySQL terminée, nous pouvons maintenant créer une base de données pour l'installation de Confluence.
Mais tout d'abord, lancez le script “mysql_secure_installation” pour renforcer la sécurité de votre serveur MySQL:
# sudo mysql_secure_installation Configure it like this: - Set root password? [Y/n] y - 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
Maintenant, connectez-vous à MySQL en tant que root et créez la base de données:
# mysql -u root -p mysql> CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON confluence.* TO 'confluenceuser'@'localhost' IDENTIFIED BY 'your_password'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit
Nous allons ajouter certains paramètres pour confluence. Editer le fichier “/etc/my.cnf”.
# nano /etc/my.cnf [mysqld] ... transaction-isolation=READ-COMMITTED innodb_log_file_size = 256M max_allowed_packet = 256M
On redémarre le serveur de base de donnée.
# systemctl restart mysqld
Installation de confluence
Déploiement du binaire
Pour le déploiement de confluence, nous allons récupérer le binaire d'installation depuis le site d'Atlassian.
wget https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-7.1.1-x64.bin
Une fois le binaire récupéré, on modifie les droits sur celui-ci et on lance l'installation :
$ sudo chmod +x atlassian-confluence-7.1.1-x64.bin $ sudo ./atlassian-confluence-7.1.1-x64.bin Unpacking JRE ... Starting Installer ... This will install Confluence 7.1.1 on your computer. OK [o, Enter], Cancel [c] Click Next to continue, or Cancel to exit Setup. Choose the appropriate installation or upgrade option. Please choose one of the following: Express Install (uses default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing Confluence installation [3] 2 Select the folder where you would like Confluence 7.1.1 to be installed, then click Next. Where should Confluence 7.1.1 be installed? [/opt/atlassian/confluence] Default location for Confluence data [/var/atlassian/application-data/confluence] Configure which ports Confluence will use. Confluence requires two TCP ports that are not being used by any other applications on this machine. The HTTP port is where you will access Confluence through your browser. The Control port is used to Startup and Shutdown Confluence. Use default ports (HTTP: 8090, Control: 8000) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2] Confluence can be run in the background. You may choose to run Confluence as a service, which means it will start automatically whenever the computer restarts. Install Confluence as Service? Yes [y, Enter], No [n] Extracting files ... Please wait a few moments while we configure Confluence. Installation of Confluence 7.1.1 is complete Start Confluence now? Yes [y, Enter], No [n] y Please wait a few moments while Confluence starts up. Launching Confluence ... Installation of Confluence 7.1.1 is complete Your installation of Confluence 7.1.1 is now ready and can be accessed via your browser. Confluence 7.1.1 can be accessed at http://localhost:8090 Finishing installation ...
Déploiement MySQL Connector Java
Arrivé à cette étape, nous allons récupérer le mysql-connector-java depuis le site officiel MySQL pour pouvoir connecter notre plateforme Atlassian Confluence à la base de donnée AWS RDS MySQL
Ici on télécharge la dernière version stable à date (5.1.48)
# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.48.tar.gz
On décompresser notre archive
# tar xvzf mysql-connector-java-5.1.48.tar.gz
On copie la “java lib” dans notre arborescence d'installation confluence (/opt/atlassian/confluence/confluence/WEB-INF/lib/)
# cp mysql-connector-java-5.1.48/mysql-connector-java-5.1.48.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/
On relance confluence et on continue le déploiement de la solution.
Configuration Post-Install
Une fois confluence installé, il faudra se rendre sur l'URL (http://IP_du_server:8090)
Sélectionner l'environnement que vous souhaitez déployer : “Production Installation”. cliquez sur “Next”
Ne pas sélectionner d'application. cliquez sur “Next”
Entrer votre numéro de license. cliquez sur “Next”
Choisir “My own database”. cliquez sur “Next”
Renseigner les informations de connexion à la base de donnée. cliquez sur “Next”
Sélectionner “Empty Site” pour provisionner un confluence vierge. cliquez sur “Next”
Sélectionner “Manage users and groups within confluence”. cliquez sur “Next”
Nous allons créer le premier utilisateur de la plateforme confluence, celui-ci sera administrateur du produit. cliquez sur “Next”
L'installation de confluence est terminée. cliquez sur “Next”
A cette étapes, l'installeur nous demande de créer notre tout premier espace de collaboration. Renseigner le champs et cliquez sur “Next”
Au bout de quelque minutes, la page se rafraichira et nous verrons apparaitre un page de présentation.
Configuration system
Systemd
Nativement, lorsque l'on installe la plateforme confluence, nous ne disposons pas du service systemd. Nous allons mettre en place celui-ci rapidement.
Tout d'abord, nous allons arrêter le service.
# /opt/atlassian/confluence/bin/stop-confluence.sh
Maintenant, nous allons créer une entrée pour systemd.
touch /lib/systemd/system/confluence.service chmod 664 /lib/systemd/system/confluence.service
Éditer l'entrée.
vi /lib/systemd/system/confluence.service
Contenu du fichier “confluence.service”. Faire attention à l'emplacement ou se trouve le produit.
[Unit] Description=Confluence After=network.target [Service] Type=forking User=confluence PIDFile=/opt/atlassian/confluence/work/catalina.pid ExecStart=/opt/atlassian/confluence/bin/start-confluence.sh ExecStop=/opt/atlassian/confluence/bin/stop-confluence.sh TimeoutSec=200 LimitNOFILE=2048 LimitNPROC=2048 [Install] WantedBy=multi-user.target
On recharge systemd, active le démarrage automatique et on peut maintenant relancer le service via systemd.
systemctl daemon-reload
systemctl enable confluence.service
systemctl start confluence.service
systemctl status confluence.service
Reverse proxy sous Nginx
Nous allons déployer devant confluence un reverse-proxy sous nginx. Les certificats (SSL/TLS) du client seront portés par celui-ci.
Pour rappel, le serveur web nginx sera déployé sur la même instance hébergeant la solution Atlassian confluence.
Installation de nginx
On installe le package nginx
# apt install nginx
Configuration du vhost confluence
Nous allons également spécifier nos propres paramètres d'échange de clés Diffie-Hellman (DH).
# openssl dhparam -out /etc/nginx/dhparam.pem 2048
Création du virtualhost pour la solution Atlassian confluence
# nano /etc/nginx/sites-available/confluence #------------------------------------------------------------------- COPY / PASTE server { listen 80; server_name confluence.<DOMAIN>.org; root /space/www; access_log /var/logs/nginx/confluence.access.log; error_log /var/logs/nginx/confluence.errors.log; return 301 https://$host$request_uri; } server { listen 443; server_name confluence.<DOMAIN>.org; ssl on; ssl_prefer_server_ciphers on; ssl_protocols TLSv1.2; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_ciphers EECDH+AESGCM:EDH+AESGCM; ssl_ecdh_curve secp384r1; ssl_session_timeout 10m; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/nginx/dhparam.pem; ssl_certificate /etc/ssl/private/rdc.pem; ssl_certificate_key /etc/ssl/private/rdc.key; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; access_log /var/logs/nginx/confluence.access.log; error_log /var/logs/nginx/confluence.errors.log; location / { client_max_body_size 100m; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8090/; } location /synchrony { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8091/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }
Reconfiguration de confluence
Une fois notre reverse proxy sous nginx déployé, il faudra reparamétrer confluence.
Éditer le fichier “server.xml” et définir le FQDN et le protocol
# nano /opt/atlassian/confluence/conf/server.xml
Commenter le paragraphe suivant :
<!-- <Connector port="8090" connectionTimeout="20000" redirectPort="8443" maxThreads="48" minSpareThreads="10" enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11NioProtocol"/> -->
Et dé-commenter celui-ci, en définissant le paramètre “proxyName”.
<Connector port="8090" connectionTimeout="20000" redirectPort="8443" maxThreads="48" minSpareThreads="10" enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" proxyName="confluence.<DOMAIN>.org" proxyPort="443"/>
Allocation mémoire
Par défaut, la configuration de confluence n'alloue que 1Go de ram à celui-ci. Il peut être nécessaire d'augmenter les ressources mémoire pour que le produit soit plus fluide.
Éditer le fichier “setenv.sh” et augmenter les valeurs “-Xms” et “-Xmx”
# nano /opt/atlassian/confluence/bin/setenv.sh
Exemple pour allouer 4go de RAM.
- Remplacer :
CATALINA_OPTS=“-Xms1024m -Xmx1024m -XX:+UseG1GC ${CATALINA_OPTS}”
- Par
CATALINA_OPTS=“-Xms4096m -Xmx4096m -XX:+UseG1GC ${CATALINA_OPTS}”
Déclaration proxy sortant
Dans toute infrastructure digne de se nom, nous pouvons être confronté à un accès réduit à l'internet depuis le serveur hébergeant notre plateforme confluence. Nous allons donc configurer notre environnement pour faire en sorte que celui-ci passe par nos proxy pour pouvoir accéder à l'internet et donc au site d'atlassian.
Éditer le fichier “setenv.sh”
# nano /opt/atlassian/confluence/bin/setenv.sh
Ajouter après la dernière déclaration “CATALINA_OPTS=” l'entrée suivante :
-Dhttp.proxyHost=proxy.example.org -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example.org -Dhttps.proxyPort=8080
Soit la ligne suivante :
CATALINA_OPTS="-Dhttp.proxyHost=proxy.example.org -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.example.org -Dhttps.proxyPort=8080 ${CATALINA_OPTS}"
Note:
Les propriétés http.proxyHost et http.proxyPort indiquent le serveur proxy et le port que le gestionnaire de protocole http utilisera, et https.proxyHost et https.proxyPort indiquent la même chose pour le protocole https.
Upgrade
La procédure qui va suivre va nous permettre de mettre à jour notre plateforme confluence de la version 7.1.1 à la version 7.2.0.
Après avoir télécharger la dernière version (V. 7.2.0 à date), nous allons rendre le binaire exécutable.
[root@localhost ~]# chmod +x atlassian-confluence-7.2.0-x64.bin
On lance le binaire confluence comme suit :
[root@localhost ~]# # ./atlassian-confluence-7.2.0-x64.bin
Unpacking JRE ...
Starting Installer ...
This will install Confluence 7.2.0 on your computer.
OK [o, Enter], Cancel [c]
Click Next to continue, or Cancel to exit Setup.
Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (uses default settings) [1],
Custom Install (recommended for advanced users) [2],
Upgrade an existing Confluence installation [3, Enter]
3
Existing installation directory:
[/opt/atlassian/confluence]
Back Up Confluence Home
The upgrade process will automatically back up your Confluence Installation
Directory. You can also choose to back up your existing Confluence Home
Directory. Both directories are backed up as zip archive files in their
respective parent directory locations.
We strongly recommend choosing this option in the unlikely event that you
experience problems with the upgrade and may require these backups to
restore your existing Confluence installation.
If you have many attachments in your Confluence Home Directory, the zip
archive of this directory may consume a significant amount of disk space.
Back up Confluence home ?
Yes [y, Enter], No [n]
y
Checking for local modifications.
List of modifications made within Confluence directories.
The following provides a list of file modifications within the confluence
directory.
Modified files:
(none)
Removed files:
(none)
Added files:
confluence/WEB-INF/classes/log4j-diagnostic.properties
[Enter]
Checking if your instance of Confluence is running
Upgrade Check List
Back up your external database
We strongly recommend you back up your Confluence database if you have not
already done so.
Please refer to the following URL for back up guidelines:
http://docs.atlassian.com/confluence/docs-7.2.0/Production+Backup+Strategy
Check plugin compatibility
Check that your non-bundled plugins are compatible with Confluence 7.2.0.
Access the plugin manager through the following URL:
http://localhost:8090/plugins/servlet/upm#compatibility
For more information see our documentation at the following URL:
http://docs.atlassian.com/confluence/docs-7.2.0/Installing+and+Configuring+Plugins+using+the+Universal+Plugin+Manager
Please ensure you have read the above checklist before upgrading.
Your existing Confluence installation is about to be upgraded!
The upgrade process will shut down your existing Confluence installation to complete the upgrade.
Do you want to proceed?
Upgrade [u, Enter], Exit [e]
u
Your instance of Confluence is currently being upgraded.
Shutting down Confluence...
Checking if Confluence has been shutdown...
Backing up the Confluence installation directory
Backing up the Confluence home directory
Deleting the previous Confluence installation directory...
Extracting files ...
Please wait a few moments while we configure Confluence.
Installation of Confluence 7.2.0 is complete
Start Confluence now?
Yes [y, Enter], No [n]
y
Please wait a few moments while Confluence starts up.
Launching Confluence ...
Installation of Confluence 7.2.0 is complete
Your installation of Confluence 7.2.0 is now ready and can be accessed via
your browser.
Custom modifications
Your previous Confluence installation contains customisations that must be
manually transferred. Refer to our documentation more information:
http://docs.atlassian.com/confluence/docs-7.2.0/Upgrading+Confluence#UpgradingConfluence-custommodifications
Confluence 7.2.0 can be accessed at http://localhost:8090
Confluence 7.2.0 may take several minutes to load on first start up.
Finishing installation ...
Une fois l'installation (Upgrade) de la plateforme terminée, lorsque vous vous rendrez sur la page confluence, vous pourrez vous rendre compte dans le bas de page de la version de confluence, soit la version 7.2.0.
Troubleshooting
Establishing SSL connection
Référence :
Erreur :
Fri Dec 06 22:01:33 UTC 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Fri Dec 06 22:01:33 UTC 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Fri Dec 06 22:01:33 UTC 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Solution :
On fait une sauvegarde du fichier “confluence.cfg.xml” et on édite celui-ci en ajoutant le paramètre : useSSL=false
# cd /space/atlassian/application-data/confluence # cp confluence.cfg.xml confluence.cfg.xml.orig # nano confluence.cfg.xml
Ajouter
--- <property name="hibernate.connection.url">jdbc:mysql://<database-IP>/<databasename>?useSSL=false</property> ---
On redémarre l'instance confluence.
# systemctl start confluence
Annexe
- Site web : https://www.atlassian.com