Inhaltsverzeichnis
Warum?
Um für die Dauer von beispielsweise Wartungsfenstern einen lesenden Zugriff zu ermöglichen, während die Anwendung vor schreibenden User-Zugriffen geschützt wird.
Dazu werden mittels CSS und Javascript die Bearbeitungsschaltflächen ausgeblendet, eine klar erkennbare Hinweismeldung dargestellt und mittels einer Apache Rewrite-Regel die Bearbeitungsfunktionen in dieser Zeit unnutzbar gemacht. Im Folgenden werden die genauen Schritte beschrieben:
Bearbeitungsflächen in Confluence ausblenden. Siehe Bearbeitungsflächen in Confluence ausblenden.
- Bearbeitungsfunktionen durch Apache2 Rewrite-Regeln deaktivieren. Siehe
Nach Abschluss der Wartungsarbeiten kann das System nach einem Funktionstest (dieser ist selbst zu definieren) wieder vollständig freigegeben werden, indem die CSS-Einträge und die Rewrite-Regel entfernt werden.
Bearbeitungsflächen in Confluence ausblenden
Dazu im Admin Interface > Look and Feel > Custom HTML den nachfolgenden Code einfügen.
Einfügen "At beginning of the BODY "
<!-- Message Banner --> <div style="text-align: center; height: 40px; background-color: red; color: white; font-size: 32px; padding-top: 5px;"> Wartungsmodus. Es sind keine Modifikationen an dieser Instanz möglich. </div>
Einfügen "At end of the BODY "
<script type='text/javascript'> AJS.$('#editPageLink').hide() AJS.$('#add-menu-link').hide() AJS.$('#action-menu-link').hide() AJS.$('#upload-attachments').hide() AJS.$('#addBlogLink').hide() AJS.$('#addPageLink').hide() AJS.$('#create-new-space-link').hide() </script> <style type="text/css"> #com-atlassian-confluence #comments-section { display:none; } </style>
HTML-Template für eine Redirect-Seite (hier ro.html)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="refresh" content="10; url=http://confluence.example.com"> <title>502 - Wartung - Maintenance</title> <style type="text/css"> body { color: white; font-family: Arial, Helvetica; background-image: url('data:image/png;base64,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'); } a, a:visited,a:hover,a:active { color: white; } #content { margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; } h1 { font-size: 180px; } h2 { font-size: 30px; } </style> </head> <body> <div id='content'> <center> <h2>502 - Wartung - Maintenance</h2> <br/> <h3>Die Anwendung befindet sich im "LESE-Modus". Änderungen an den Inhalten sind derzeit nicht möglich.</h3> <a href="http://confluence.example.com">Zurück zur Startseite (automatisch nach 10 Sekunden)</a> <br/> <br/> <br/> <h3>The service is running in "READ-ONLY-Mode". Changes to the content are currently disabled.</h3> <a href="http://confluence.example.com">Back to Start-Page (automatically after 10 seconds)</a> </center> </div> </body> </html>
Bearbeitungsfunktionen durch Apache2 Rewrite-Regeln deaktivieren
Folgende Apache-Regeln verhindern das Bearbeiten von Seiten, Blogs, Bereichen und Anhängen in Confluence und aktiviert eine bedingte Umleitung auf eine Redirect-Seite in einem vHost. Es wird dabei davon ausgegangen, dass die "ro.html" und die "ro.enable" Dateien direkt im DocumentRoot
der vHost-Konfiguration liegen.
DocumentRoot /path/to/document/root [...] RewriteEngine on RewriteCond %{DOCUMENT_ROOT}/ro.html -f RewriteCond %{DOCUMENT_ROOT}/ro.enable -f RewriteCond %{SCRIPT_FILENAME} !ro.html RewriteCond %{REQUEST_URI} ^/pages/(createpage|editpage|removepage|copypage|movepage|addpagenotification|managepagenotifications|)\.action [OR] RewriteCond %{REQUEST_URI} ^/pages/(editblogpost|createblogpost|removeblogpost)\.action [OR] RewriteCond %{REQUEST_URI} ^/pages/(removeattachment|editattachment|doattachfile)\.action [OR] RewriteCond %{REQUEST_URI} ^/pages/worddav/uploadimport\.action [OR] RewriteCond %{REQUEST_URI} ^/exportword [OR] RewriteCond %{REQUEST_URI} ^/spaces/.+\.action [OR] RewriteCond %{REQUEST_URI} ^/plugins/servlet/confluence RewriteRule ^.*$ /ro.html [R=502,L] ErrorDocument 502 /ro.html [...] # Adjust to your needs, simply make sure that ro.html doesn't get forwarded to the upstream Server ProxyPass /ro.html ! ProxyPass / http://127.0.0.1:8090/ ProxyPassReverse / http://127.0.0.1:8090/
Aktivieren der Redirect-Seite
Die Redirect-Seite lässt sich im laufenden Betrieb aktivieren, indem man einfach die Datei ro.enable
im DocumentRoot
anlegt oder umbenennt. Die Überprüfung, ob die Datei vorhanden ist oder nicht, wird im Rahmen der Rewriteregeln durchgeführt. Durch löschen oder umbennen lässt sich die Redirect-Seite auch wieder im laufenden Betrieb deaktivieren.