====== 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:///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: #!/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="|";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}") ===== 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'' 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 - 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'': # Allow data dir access /var/lib/mysql/ r, /var/lib/mysql/** rwk, /srv/mysql/ r, /srv/mysql/** rwk, - Datenbank anlegen mysql -u root -pCREATE DATABASE CHARACTER SET utf8 COLLATE utf8_bin; GRANT ALL PRIVILEGES ON .* TO ''@'localhost' IDENTIFIED BY ''; - 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 - 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/ - 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 | CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:+UseG1GC ${CATALINA_OPTS}" ändern zu CATALINA_OPTS="-Xms2048m -Xmx3072m -XX:+UseG1GC ${CATALINA_OPTS}" service confluence restart ==== SSL ==== Vorbereitung: Wir brauchen einen jks-keystore /PATH/TO/file.jks mit Passwort SECRET: #!/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 SSL/TLS-Konnektor einrichten via ''/srv/atlassian/confluence/conf/server.xml'': **SSL erzwingen**: ''/srv/atlassian/confluence/confluence/WEB-INF/web.xml'' am Ende der Datei: [...] Restricted URLs / CONFIDENTIAL ==== 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?]]