Server Installation/MediaWiki: Unterschied zwischen den Versionen
(→Grundinstallation) |
(→Testsystem) |
||
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 90: | Zeile 90: | ||
* Loops - Schleifen ausführen, benötigt für APData | * Loops - Schleifen ausführen, benötigt für APData | ||
* ContactForm - öffentliches Kontaktformular ([[Special:Contact]]; Template: [[MediaWiki:Contactpage]], [[MediaWiki:Contactpage-defsubject]], [[MediaWiki:Contactpage-pagetext]]; Versand via [[Benutzer:OpennetContactForm]]; Captcha via ConfirmEdit Extension) | * ContactForm - öffentliches Kontaktformular ([[Special:Contact]]; Template: [[MediaWiki:Contactpage]], [[MediaWiki:Contactpage-defsubject]], [[MediaWiki:Contactpage-pagetext]]; Versand via [[Benutzer:OpennetContactForm]]; Captcha via ConfirmEdit Extension) | ||
+ | * ImageMap - Erzeugen von Grafiken | ||
+ | * GraphViz - spezielle Beschreibungssprache für Graphen, setzt ImageMap Extension (MediaWiki) sowie "graphviz" und "graphviz-dev" (Debian) voraus | ||
=== Eigenentwicklungen/Anpassungen === | === Eigenentwicklungen/Anpassungen === | ||
Zeile 105: | Zeile 107: | ||
** OnRandomImage - Zufallsbild aus der Gallery | ** OnRandomImage - Zufallsbild aus der Gallery | ||
** OnRemoteAddrExtension | ** OnRemoteAddrExtension | ||
− | ** OniFrame | + | ** OniFrame -- Openstreetmap-Karte (slippymap) einbinden |
+ | *** Beispiel: <nowiki> | ||
+ | <OniFrame src="https://www.opennet-initiative.de/map/?lat=54.09130&lon=12.12308&zoom=16&layers=B00TTTT" height="300px" width="40%" style="padding:0px;" scrolling="no" marginheight="0" marginwidth="0" frameborder="0"></OniFrame> | ||
+ | </nowiki> | ||
+ | |||
== Namespaces == | == Namespaces == | ||
Zeile 114: | Zeile 120: | ||
Verwendet für Internationalisierung mit der [[Vorlage:Languages]] sowie [[Vorlage:Countryflag]]. | Verwendet für Internationalisierung mit der [[Vorlage:Languages]] sowie [[Vorlage:Countryflag]]. | ||
+ | |||
+ | == Testsystem == | ||
+ | |||
+ | Auf [[Server/yurika]] gibt es Stand 2016 ein MediaWiki Testsystem. | ||
+ | * Datensyncronisation vom Produktiv- zum Testsystem: | ||
+ | rsync -axH --copy-unsafe-links --exclude=/LocalSettings.php /var/www/mediawiki-1.20.6/ \ | ||
+ | matthias@yurika.opennet-initiative.de:mediawiki-clone/ | ||
+ | mysqldump --add-drop-table wiki_1206 | gzip | pv | ssh matthias@yurika.opennet-initiative.de \ | ||
+ | "cat >wiki_$(date +%Y%m%d).sql.gz" | ||
+ | * Anlegen der Apache Konfiguration, Einlesen der MySQL Datenbank | ||
+ | * Workaround für MediaWiki und libpcre: http://stackoverflow.com/a/38457054 | ||
+ | * Deaktivieren des E-Mail Versandes in <tt>LocalSettings.php</tt>: | ||
+ | $wgEnableEmail = false; | ||
[[Kategorie:Server]] | [[Kategorie:Server]] |
Aktuelle Version vom 10. Oktober 2016, 05:43 Uhr
Aktueller Status siehe Special:Version.
Inhaltsverzeichnis |
[Bearbeiten] Grundinstallation
TODO
# allow only registered users to edit pages $wgGroupPermissions['*']['edit'] = false; # allow new users to create an account $wgGroupPermissions['*']['createaccount'] = true; # require confirmation of new accounts via email $wgEmailConfirmToEdit = true; # Erlauben von Dateiendungen $wgFileExtensions[] = "pdf"; $wgFileExtensions[] = "txt"; $wgFileExtensions[] = "zip"; $wgFileExtensions[] = "tar"; $wgFileExtensions[] = "gz"; $wgFileExtensions[] = "dia"; $wgFileExtensions[] = "odt"; $wgFileExtensions[] = "sh"; $wgFileExtensions[] = "dia";
[Bearbeiten] Updates
Vorab: Backup der Installation und der DB prüfen!
MediaWiki in Read-Only Modus versetzen - LocalSettings.php:
$wgReadOnly = 'Das Opennet Wiki wird auf eine neue Softwareversion aktualisiert. \ Derzeit daher keine Bearbeitung möglich.';
Aktuelle Version herunterladen und bereit stellen in /var/www/:
wget <download-url> cp -ar mediawiki-<old-version> mediawiki-<new-version> tar xfzv mediawiki-<new-version>.tar.gz -C mediawiki-<new-version>/ --strip-components=1
- MediaWiki DB clonen und vorbereiten:
mysqldump wiki_<old-version> > /tmp/wiki_<old-version>.dmp mysqladmin create wiki_<new-version> mysql grant index, create, select, insert, update, delete, alter, lock tables on wiki_<new-version>.* to wiki_user; flush privileges; \q mysql wiki_<new-version> < /tmp/wiki_<old-version>.dmp
Neue Version in Apache aktivieren und MediaWiki DB Update durchfuehren:
- wiki.inc in /etc/apache/sites-available anpassen
- Upgrade in /var/www/mediawiki-<new-version> ausführen: php update.php
- Extensions und Skins schreittweise aktualisieren, siehe LocalSettings.php
Dateirechte korregieren - /var/www/mediawiki-<version>/
chown -R root:root * chown -R root:root .* chown -R www-data images/
Bei Fehlern inbesondere das PHP Logfile unter /var/log/php.log konsultieren. Weiterhin liefert MediaWiki in jede Seite Debug Informationen als HTML Kommentar falls $wgDebugComments = true; in LocalSettings.php aktiviert.
[Bearbeiten] Apache Konfiguration
Einbindung unter /wiki:
alias /w /var/www/mediawiki-<version> alias /wiki /var/www/mediawiki-<version>/index.php RewriteEngine on RewriteRule ap_button_([0-9\.]+).png http://www.opennet-initiative.de/button/?ap=$1 RewriteRule ^/index.php/(.*) http://wiki.opennet-initiative.de/wiki/$1
Besonderheit für /wiki/Opennet_Blog:
RewriteRule ^/wiki/Opennet_Blog http://wiki.opennet-initiative.de/wiki/Spezial:OnBlog/ [P] ProxyPassReverse /wiki/Opennet_Blog http://wiki.opennet-initiative.de/wiki/Spezial:OnBlog/
[Bearbeiten] PHP Konfiguration
Erhöhung des Session Timeouts auf 48 h in /etc/php5/apache2/php.ini
session.gc_maxlifetime = 172800
Sessions werden unter /var/lib/php5/ gespeichert.
[Bearbeiten] Extensions
Bei Opennet verwendete MediaWiki Extensions.
[Bearbeiten] Standarderweiterungen
- ParserFunctions - Funktionen für Vorlagen
- UsabilityInitiative - verbesserte Editoren/Menus
- Vector - verbessertes Design
- ConfirmEdit - Anti-Spam Captcha
- WPtouch - Skin für mobile Endgeräte
- Simple mobile skin auto change - automatischer Skin Wechsel zu WPtouch bei mobilen Endgeräten
- InstantCommons - Bildeinbindung aus Wikipedia Commons
- Loops - Schleifen ausführen, benötigt für APData
- ContactForm - öffentliches Kontaktformular (Special:Contact; Template: MediaWiki:Contactpage, MediaWiki:Contactpage-defsubject, MediaWiki:Contactpage-pagetext; Versand via Benutzer:OpennetContactForm; Captcha via ConfirmEdit Extension)
- ImageMap - Erzeugen von Grafiken
- GraphViz - spezielle Beschreibungssprache für Graphen, setzt ImageMap Extension (MediaWiki) sowie "graphviz" und "graphviz-dev" (Debian) voraus
[Bearbeiten] Eigenentwicklungen/Anpassungen
- APData - AP-Statusdaten/OLSR-Nameservice
- OnBlog - Opennet Blog Extension auf Wikibasis
- OnBlogOverview - Liste der letzten Blogeinträge
- OnBlogSpecialAll - Blogausgabe alle Beiträge (Spezial:OnBlog/)
- OnBlogSpecialUser - Blogausgabe Beiträge eines Benutzers ([[Spezial:OnBlogUser/Benutzer:<Username>]])
- BlogFeed - Blogausgabe als RSS Feed (Spezial:BlogFeed)
- OnMisc - Sammlung verschiedener Opennet Extensions
- OnApPos
- OnApStatus
- OnLastSeen
- OnRandomImage - Zufallsbild aus der Gallery
- OnRemoteAddrExtension
- OniFrame -- Openstreetmap-Karte (slippymap) einbinden
- Beispiel: <OniFrame src="https://www.opennet-initiative.de/map/?lat=54.09130&lon=12.12308&zoom=16&layers=B00TTTT" height="300px" width="40%" style="padding:0px;" scrolling="no" marginheight="0" marginwidth="0" frameborder="0"></OniFrame>
[Bearbeiten] Namespaces
- 100 = EN
- 101 = ES
- 102 = FR
Verwendet für Internationalisierung mit der Vorlage:Languages sowie Vorlage:Countryflag.
[Bearbeiten] Testsystem
Auf Server/yurika gibt es Stand 2016 ein MediaWiki Testsystem.
- Datensyncronisation vom Produktiv- zum Testsystem:
rsync -axH --copy-unsafe-links --exclude=/LocalSettings.php /var/www/mediawiki-1.20.6/ \ matthias@yurika.opennet-initiative.de:mediawiki-clone/ mysqldump --add-drop-table wiki_1206 | gzip | pv | ssh matthias@yurika.opennet-initiative.de \ "cat >wiki_$(date +%Y%m%d).sql.gz"
- Anlegen der Apache Konfiguration, Einlesen der MySQL Datenbank
- Workaround für MediaWiki und libpcre: http://stackoverflow.com/a/38457054
- Deaktivieren des E-Mail Versandes in LocalSettings.php:
$wgEnableEmail = false;