In diesem Tutorial wird beschreiben wie man die kommerzielle Wiki-Software Confluence der Firma Atlassian auf einem CentOS 7 installiert. Da Atlassian Confluence derzeit nur Support für MySQL bis zur Version 5.6 anbietet werden wie diese verwenden. Der Betrieb von MariaDB wird offiziell nicht unterstützt. Eventuell kann dies zu Problemen im Betrieb führen. Andere Datenbanken z.B. PostgreSQL sind auch möglich.
Vorraussetzung für dieses Tutorial ist wieder eine CentOS 7 mit einer funktionierenden MySQL-Server-Installation der Version 5.6. Ein Tutorial dazu gibt es hier: CentOS 7 – MySQL 5.6, MySQL 5.7 oder aktueller installieren. Alternativ kann auch PostgreSQL verwendet werden eine Installationsanleitung gibt es hier: CentOS 7 – Aktuelle Version von PostgreSQL installieren. In diesem Tutorial beziehen wir uns aber auf die Verwendung von MySQL 5.6.
Installation von Confluence unter CentOS 7
Auf der Download-Seite von Atlassian können wir uns den passenden Installer für Confluence herrunterladen. Derzeit ist die Version 5.9.4 aktuell.
wget https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-5.9.4-x64.bin
Das Paket ist gut 500 MB groß. Nachdem der Download abgschlossen ist können wir diesen ausführen.
chmod +x atlassian-confluence-5.9.4-x64.bin ./atlassian-confluence-5.9.4-x64.bin
Bei der Installation von Confluence können wir die Express Variante wählen.
Unpacking JRE ... Starting Installer ... Feb 05, 2016 5:29:00 PM java.util.prefs.FileSystemPreferences$1 run INFORMATION: Created user preferences directory. Feb 05, 2016 5:29:00 PM java.util.prefs.FileSystemPreferences$2 run INFORMATION: Created system preferences directory in java.home. This will install Confluence 5.9.4 on your computer. OK [o, Enter], Cancel [c] 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] 1 See where Confluence will be installed and the settings that will be used. Installation Directory: /opt/atlassian/confluence Home Directory: /var/atlassian/application-data/confluence HTTP Port: 8090 RMI Port: 8000 Install as service: Yes Install [i, Enter], Exit [e] i Extracting files ... Please wait a few moments while Confluence starts up. Launching Confluence ... Installation of Confluence 5.9.4 is complete Your installation of Confluence 5.9.4 is now ready and can be accessed via your browser. Confluence 5.9.4 can be accessed at http://localhost:8090 Finishing installation ...
Confluence ist installiert und bereits gestartet und lauscht intern auf Port 8090. Wir stoppen Confluence ersteinmal wieder um noch ein paar weitere Konfigurationen vorzunehmen.
service confluence stop
Nun sollten Confluence gestoppt sein und keine entsprechenden Java-Prozesse mehr laufen.
CentOS 7 Confluence Systemd Unit File erstellen
Bei der Installation konfiguriert Confluence noch das alte Initd System. Wir wollen dies aber sauber mit Systemd implementieren. Dazu benötigen wir einen Unit File. Dazu wird eine Datei unter /etc/systemd/system/confluence.service erstellt.
vim /etc/systemd/system/confluence.service
In diese fügen wir folgenden Inhalt ein.
[Unit] Description=Atlassian Confluence Service After=syslog.target network.target [Service] Type=forking User=confluence Group=confluence Environment=JAVA_HOME=/opt/atlassian/confluence/jre/ ExecStart=/opt/atlassian/confluence/bin/start-confluence.sh ExecStop=/opt/atlassian/confluence/bin/stop-confluence.sh PIDFile=/opt/atlassian/confluence/work/catalina.pid [Install] WantedBy=multi-user.target
Die Benutzer und Gruppen wurden bereits automatisch bei der Installation von Confluence angelegt. Außerdem wird das im Installationspaket enthaltene Java-Environment genutzt.
Anschliessend laden wir den systemd daemon neu
systemctl daemon-reload
Nun fügen wir Confluence dem Autostart hinzu.
systemctl enable confluence.service Created symlink from /etc/systemd/system/multi-user.target.wants/confluence.service to /etc/systemd/system/confluence.service.
Confluence können wir nun, wie bei CentOS 7 gewohnt, wie folgt starten und stoppen.
#start systemctl start confluence.service #stop systemctl stop confluence.service
Confluence MySQL JDBC driver
Aus Lizenzrechtlichen Gründen ist der JDBC-Treiber für Confluence nicht im Installationspaket enthalten. Diesen können wir uns aber von der MySQL-Webseite downloaden.
wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz
Das Paket muss noch entpackt werden.
tar xvzf mysql-connector-java-5.1.38.tar.gz
Zum Abschluss fügen wir die jar-Datei noch in das lib Verzeichnis der Confluence-Installation ein.
mv ./mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/
Anschließend ist wieder ein Restart von Confluence nötig.
Zum Ende noch ein kleiner Funktionstest. Dazu rufen wir Confluence mit lynx auf und prüfen ob wir eine Ausgabe sehen. Falls lynx noch nicht installiert ist, holen wir das an dieser Stelle einfach nach.
yum install lynx -y
Nun rufen wir Confluence unter der Adresse http://127.0.0.1:8090 auf. Es sollte dann der Installationsdialog erscheinen.
MySQL für Confluence einrichten
Bei der Einrichtung des MySQL-Server gehen wir gemäß der Dokumentation von Confluence vor.
Dazu erstellen wir die Datei /etc/my.cnf.d/atlassian.cnf mit folgenden Inhalt.
vim /etc/my.cnf.d/atlassian.cnf
[mysqld] character-set-server=utf8 collation-server=utf8_bin default-storage-engine=INNODB max_allowed_packet=256M innodb_log_file_size=256M
Danach den MySQL-Server neu starten.
systemctl restart mysql
MySQL User für Confluence anlegen
Auch hier verfahren wir wie in der oben verlinkten Dokumentation beschrieben.
Zuerst erstellen wir eine Datenbank
CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin;
dann einen Benutzer für diese Datenbank mit den passenden Berechtigungen.
GRANT ALL PRIVILEGES ON confluence.* TO 'confluenceuser'@'localhost' IDENTIFIED BY 'geheimesPasswort';
Diese Zugangsdaten werden später benötigt um die Installation von Confluence abzuschliessen.
In einen folgenden Artikel bescheibe ich die Installation von Atlassian Jira. Darauf aufbauend wird Apache httpd oder Nginx als Proxy davor konfiguriert um die Dienste nach Außen bereitzustellen und die Verbindung über SSL zu verschlüsseln.
MySQL wird nicht empfohlen (im Produktiv Betrieb bei großen Unternehmen), sogar von Confluence wegen Instabiliäten & diversen Begrenzungn.
Man soll eig. zu MariaDB Wechseln, daher wundert mich dein Eintrag gerade etwas.
Ich selbst nutze es mit MariaDB aber ansonsten ein ganz guter Beitrag.
Hallo,
danke für diesen Hinweis, allerdings entnehme ich der Webseite von Confluence etwas anderes.
https://confluence.atlassian.com/doc/supported-platforms-207488198.html
Der Betrieb von MariaDB wird daher nicht empfohlen bzw. nicht offiziell unterstützt. Man sollte daher MySQL statt MariaDB einsetzen.
In CentOS / RHEL wurde seit Version 7 MySQL durch MariaDB ersetzt. Daher wird eine manuelle Installation in diesem Artikel vorgeschlagen.
Perfekt!
Danke für diesen Artikel und das Unit File. Freu mich schon auf Deinen Artikel mit dem Proxy-Settings insbesondere für Nginx.
LG Johann