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

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 ...

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

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

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.

On installe le package nginx

# apt install nginx

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";
    }
}

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"/>

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}”

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

Référence :

https://confluence.atlassian.com/confkb/getting-establishing-ssl-connection-without-server-s-identity-verification-is-not-recommended-warning-messages-in-the-logs-973502769.html

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

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus