wikis:confluence-wiki

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wikis:confluence-wiki [2017/11/17 19:50] stwikis:confluence-wiki [2020/11/11 20:58] (aktuell) st
Zeile 1: Zeile 1:
 +====== Confluence Wiki ======
  
 +Confluence ist ein kommerzielles (proprietäres) Wiki vom Hersteller Atlassian. Es bietet viele Funktionen auch aus anderen Bereichen, basiert auf Java und braucht damit einen leistungsfähigen Server oder man nimmt die Cloud-Variante.
 +
 +Der Leistungsumfang übertrifft die meisten anderen Wiki-Lösungen, Rechte sind vielfältig Anpassbar gerade in Zusammenhang mit Verzeichnisdiensten die auch über das hauseigene crowd angebunden oder ersetzt werden können.
 +
 +Plugins von Drittherstellern sind in breiter Anzahl vorhanden, das Angebot von Template-plugins ist etwas begrenzt.
 +
 +
 +{{page>Atlassian-cloud-strategie}}
 +
 +===== Features =====
 +
 +  * unterstützt nahezu jede [[datenbanken:datenbanken|Datenbank]] von Bedeutung (durch die [[Programmiersprachen:Java]]-Schnittstellen)
 +  * [[http://www.atlassian.com/sharepoint/?s_kwcid=HMshrpnt|Sharepoint Integration]]
 +  * Funktionen eines [[software:webbasiertes dokumentenmanagement|DMS]], auch [[http://www.atlassian.com/software/confluence/features/search.jsp|Attachments werden indiziert]]
 +  * Export in PDF/ Word
 +  * [[blogs:blogs|Blog]]-Funktionen
 +  * detaillierte Rechtvergabe durch Gruppen und Benutzer
 +  * WebDAV Funktionen
 +  * eMail Integration (verschickt Benachrichtigungen, Archiv)
 +
 +
 +===== Links =====
 +
 +  * [[http://www.atlassian.com/software/confluence/|Confluence Homepage]]
 +  * [[http://www.atlassian.com/software/confluence/videos/overview/overview.jsp|Confluence Demo]]
 +  * [[http://www.atlassian.com/software/confluence/pricing.jsp|Licensing and Pricing]]
 +  * [[https://confluence.atlassian.com/support/atlassian-support-end-of-life-policy-201851003.html|Supportzeiträume der Atlassian-Produkte]]
 +
 +===== Backup =====
 +
 +  * Fallweise kann der Backup-Job gestartet werden: [[https://<Confluence-FQDN>/admin/scheduledjobs/viewscheduledjobs.action|Back Up Confluence]]
 +  * Regelmäßig kann die Datenbank und das Datenverzeichnis gesichert werden.
 +
 +Backup-skript zur Sicherung (PDF-Export) von Seitenbäumen:
 +<code bash>
 +#!/bin/bash
 +
 +PARENT_DIR=$(dirname $(realpath ${0}))
 +C_URL="https://FQDN.of.my.wiki"
 +RS_HUB=${C_URL}/display/PROJ/SITE-TREE
 +C_USER='backup-user'
 +C_PASS='backup-pass'
 +
 +DOWNLOAD_DIR=${PARENT_DIR}/rescue_sheets
 +
 +function get_link_list() {
 + local URL="${1}"
 + local LINKTYPE="${2}"
 + local SITE_CONTENT=`curl -s --cookie-jar /tmp/wiki-dl.cookie -u $C_USER:$C_PASS $URL`
 + while read -r OLINE; do
 + echo ${OLINE}
 + done < <(echo ${SITE_CONTENT} | grep -o -E 'href="([^"#]+)"' | grep "${LINKTYPE}" | grep -vi includes  | cut -d'"' -f2)
 +}
 +
 +function get_page_title() {
 + local URL="${1}"
 + local TITLE=$(curl -s -b /tmp/wiki-dl.cookie $URL | awk 'BEGIN{IGNORECASE=1;FS="<title>|</title>";RS=EOF} {print $2}')
 + echo ${TITLE}
 +}
 +
 +[[ ! -d ${DOWNLOAD_DIR} ]] && mkdir ${DOWNLOAD_DIR}
 +
 +RS_LIST=$(get_link_list ${RS_HUB} "/display/PROJ/")
 +
 +while read -r SHEET; do
 + SHEET_URL=${C_URL}${SHEET}
 + SHEET_EXPORT_LINK=$(get_link_list ${SHEET_URL} pdfpageexport) 
 + SHEET_TITLE=$(get_page_title ${SHEET_URL})
 + echo "Downloading current version of '${SHEET_TITLE}' ($SHEET_URL)"
 + curl -b /tmp/wiki-dl.cookie -s -o "${DOWNLOAD_DIR}/${SHEET_TITLE}.pdf" -L -J ${C_URL}${SHEET_EXPORT_LINK}
 +
 +done < <(echo "${RS_LIST}")
 +</code>
 +===== Installation =====
 +
 +Beispiel-Setup mit [[datenbanken:MySQL]] 5.7 auf [[ubuntu:Ubuntu]] 16.04.
 +
 +
 +  * [[https://confluence.atlassian.com/doc/supported-platforms-207488198.html|supported plattforms]]
 +  * [[https://confluence.atlassian.com/doc/confluence-installation-guide-135681.html|Confluence Installation Guide]]
 +  * [[https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html|mysql-DB-Setup]]
 +  * [[https://confluence.atlassian.com/doc/database-jdbc-drivers-171742.html|JDBC-Treiber]]
 +
 +  - MySQL konfigurieren: ''/etc/mysql/mysql.conf.d/mysqld.cnf''<file>
 +character-set-server   = utf8
 +collation-server       = utf8_bin
 +default-storage-engine = INNODB
 +max_allowed_packet     = 256M
 +innodb_log_file_size   = 2G
 +transaction-isolation  = READ-COMMITTED
 +# binlog_format          = row
 +</file>
 +  - ggf. [[datenbanken:mysql#offene Dateien für mysql erhöhen]]
 +  - Für den Fall das /var/lib/mysql verlegt wurde (per symlink) muss wg. AppArmor die Regeln angepasst werden  ''/etc/apparmor.d/usr.sbin.mysqld'': <file># Allow data dir access
 +  /var/lib/mysql/ r,
 +  /var/lib/mysql/** rwk,
 +  /srv/mysql/ r,
 +  /srv/mysql/** rwk,</file>
 +  - Datenbank anlegen <code bash>mysql -u root -p</code><code sql>CREATE DATABASE <database-name> CHARACTER SET utf8 COLLATE utf8_bin;
 +GRANT ALL PRIVILEGES ON <database-name>.* TO '<confluenceuser>'@'localhost' IDENTIFIED BY '<password>';</code>
 +  - Installer laufen lassen
 +  - per Browser auf localhost:8080 Einstellungen vornehmen
 +  - Dienst noch nicht starten, bei Oracle und MySQl muss vorher der passende jdbc-Treiber vorhanden sein (der ist nicht enthalten) https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.47.zip
 +  - <code bash>unzip mysql-connector-java-5.1.44.zip
 +cp mysql-connector-java-5.1.44/mysql-connector-java-5.1.44-bin.jar /srv/atlassian/confluence/confluence/WEB-INF/lib/</code>
 +  - den Service restarten und weiter per Browser
 +
 +
 +===== Konfiguration =====
 +
 +==== RAM erhöhen ====
 +
 +[[https://confluence.atlassian.com/confkb/how-to-fix-out-of-memory-errors-by-increasing-available-memory-154071.html|How to fix out of memory errors by increasing available memory]]
 +
 +''/srv/atlassian/confluence/bin/setenv.sh''
 +
 +^ Einstellung ^ Wirkung ^
 +| -Xms2048m | mindestens benutzter heap-Speicher |
 +| -Xmx3072m | maximal benutzter heap-Speicher |
 +
 +<file>CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:+UseG1GC ${CATALINA_OPTS}"</file>
 +ändern zu
 +<file>CATALINA_OPTS="-Xms2048m -Xmx3072m -XX:+UseG1GC ${CATALINA_OPTS}"</file>
 +
 +<code bash>service confluence restart</code>
 +
 +
 +
 +==== SSL ====
 +
 +Vorbereitung:
 +Wir brauchen einen jks-keystore /PATH/TO/file.jks mit Passwort SECRET:
 +
 +<code bash>
 +#!/bin/sh
 +pem_cert=/srv/$domain.key
 +pem_key=/srv/$domain.crt
 +pem_chain=/srv/$domain.fullchain
 +p12_file=/srv/$domain.p12
 +jks_file="/srv/atlassian/confluence-data/$domain.jks"
 +keytool_path=/srv/atlassian/confluence/jre/bin/keytool
 +confluence_user=confluence
 +password="SECRET"
 +
 +
 +umask 077
 +
 +#letsencrypt certonly --rsa-key-size 3072 -d $domain
 +#if [ $? -ne 0 ]; then
 +# echo "Fehler aufgetreten bei letsencrypt"
 +# exit 1
 +#fi
 +
 +echo "Bitte hier 2x Passwort $password eingeben:"
 +cat $pem_key $pem_cert $pem_chain | openssl pkcs12 -export -out $p12_file
 +# -> password eingeben
 +if [ $? -ne 0 ]; then
 + echo "Fehler aufgetreten bei p12-Konvertierung"
 + exit 1
 +fi
 +
 +mv $jks_file $jks_file.old
 +
 +yes $password | $keytool_path -importkeystore -srckeystore $p12_file -srcstoretype pkcs12 -destkeystore $jks_file
 +# -> Password eingeben
 +if [ $? -ne 0 ]; then
 + echo "Fehler aufgetreten bei jks-Erstellung"
 + exit 1
 +fi
 +chown $confluence_user $jks_file
 +
 +yes $password | $keytool_path -list -v -keystore $jks_file
 +
 +echo "neues jks erstellt: $jks_file"
 +service confluence stop && service confluence start
 +</code>
 +
 +
 +SSL/TLS-Konnektor einrichten via ''/srv/atlassian/confluence/conf/server.xml'':
 +<file>        <Connector port="8443" maxHttpHeaderSize="8192"
 +                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
 +                   enableLookups="false" disableUploadTimeout="true"
 +                   acceptCount="100" scheme="https" secure="true"
 +                   clientAuth="false" sslProtocol="TLS" SSLEnabled="true"
 +                   URIEncoding="UTF-8" keystorePass="SECRET"
 +                   keystoreFile="$jks_file="/>
 +</file>
 +
 +**SSL erzwingen**: ''/srv/atlassian/confluence/confluence/WEB-INF/web.xml'' am Ende der Datei:
 +<file>
 +[...]
 +<security-constraint>
 +  <web-resource-collection>
 +    <web-resource-name>Restricted URLs</web-resource-name>
 +    <url-pattern>/</url-pattern>
 +  </web-resource-collection>
 +  <user-data-constraint>
 +    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
 +  </user-data-constraint>
 +</security-constraint>
 +
 +</web-app>
 +</file>
 +
 +
 +==== Portumleitung auf Standardports ====
 +
 +[[linux:iptables#Portumleitung auf Standardports]], [[linux:iptables#Iptables-Regeln dauerhaft sichern]]
 +==== Fußzeile ändern ====
 +
 +Einfach hinzufügen
 +
 +[[https://confluence.atlassian.com/confkb/how-to-edit-the-footer-in-confluence-163415355.html|How to edit the footer in Confluence]]
 +[[https://confluence.atlassian.com/doc/modify-confluence-interface-text-197745.html|Modify Confluence Interface Text]]
 +
 +''/srv/atlassian/confluence/confluence/WEB-INF/lib/confluence-6.5.0.jar''
 +
 +
 +==== Kommentare und Page-tools bei anonymen Benutzern verstecken ====
 +
 +[[https://confluence.atlassian.com/confkb/how-to-hide-page-tools-and-comments-section-for-anonymous-users-in-confluence-697139365.html|How to hide Page Tools and Comments section for Anonymous Users in Confluence?]]