Linux.Wiki: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(26 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Neuinstallation ==
== Neuinstallation ==


Zeile 17: Zeile 16:
** das ./images Verzeichnis sollte noch beschreibbar gemacht werden
** das ./images Verzeichnis sollte noch beschreibbar gemacht werden
** Kompletter alter Inhalt überschreibt dabei das fast leere ./images einer frisch entpackten Version
** Kompletter alter Inhalt überschreibt dabei das fast leere ./images einer frisch entpackten Version
== am Beispiel Raspberry Pi ==
* Umzug dieses Wikis auf einen Raspberry Pi
* Ich versuche Mediawiki 1.32 zu verwenden
* nötige PHP Module sind "mbstring, xml, ctype, json, iconv, fileinfo"
=== Datenbank ===
#
# notwendige Software
#
apt install p7zip mariadb-server
apt install php-mbstring php-xml php-mysql
apt install imagemagick
#
# passwort für root setzen auf ***
#
mysql_secure_installation
#
# Datenbank erstellen
#
mysql --password=***
  create database wikidb;
  connect wikidb;
  GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '***';
  quit
#
# Dump einlesen
#
mysql --password=*** wikidb < wiki.sql


== LocalSettings.php ==
== LocalSettings.php ==
typische Änderungen an den Einstellungen "unten"
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
$wgLogo            = "$wgStylePath/../logo.png";
$wgEnableUploads = true;
$wgFileExtensions = array('png', 'jpg', 'jpeg', 'ppt', 'ogg', 'odt', 'pdf', 'mp3');




Zeile 32: Zeile 76:
  $wgLogo            = "/mediawiki/images/OrgaMon.png";
  $wgLogo            = "/mediawiki/images/OrgaMon.png";


== /etc/php5/apache2 ==
Die Uploadgrösse muss noch in der php.ini eingestellt werden, der Standrad mit 2M ist nicht mehr zeitgemäs
php.ini
#
# Parametername lautet anders, noch anpassen!!"
#
max_upload=99M


== Syntax Highliter Extension ==
== Syntax Highliter Extension ==
Zeile 44: Zeile 98:


== Backup des Wiki ==
== Backup des Wiki ==
* Wen erforderlich setze das Wiki in den Wartungsmodus
$wgReadOnly = 'Wegen Server-Umzug sind Aenderungen im Moment nicht moeglich!';


  mysqldump --password=********* wiki >/srv/sql/wiki.sql
  mysqldump --password=********* wiki >/srv/sql/wiki.sql
* Soll das Wiki umgezogen werden könnte man auf dem alten Wiki einen Hinweis auf die neue Serveradresse hinterlassen:
<code>
$wgSiteNotice = "Dieses Wiki zieht im Moment auf einen neuen Server um und ist Schreibgeschuetzt. Verwende http://orgamon.dyndns.org:8080/mediawiki/ um auf das aktuelle Wiki zuzugreifen!";
</code>


== Restore des Wiki ==
== Restore des Wiki ==
Zeile 62: Zeile 126:
  mysql --password=********* wiki2 < wiki-2.sql
  mysql --password=********* wiki2 < wiki-2.sql


== MySQL - Migration ==


* Der Umzug meines etwas älteren Wiki auf einen neuen Server war SEHR schwierig. , das Grundproblem sind die Umlaute und die zuuu langen Datenbank Schlüssel. Ich konnte das Lösen, indem ich den Datenbank-Dump in einen Editor lade, und diverse Modifikationen per Hand durchführe. Hier die Liste der Modifikationen:
* Auf openSUSE 42.2


mysql
SET PASSWORD=PASSWORD('********');


Ich habe versucht alle Schritte zu dokumentieren:
== Wiki läuft nun im Hauptverzeichnis ==


=== Zeichenersetzungen ===
Bisher war das Wiki über /mediawiki/ zugänglich, es hat sich draussen noch nicht 100% herumgesprochen, dass es jetzt im Hauptverzeichnis läuft. Somit habe ich eine Rewrite-Rule verfasst, die den Pfad entsprechend verändert (in diesem Falle löscht!).


  SET NAMES utf8 -> SET NAMES utf8
  <VirtualHost *:80>
    ServerName deinserver
    ServerAlias 192.168.115.25 raib25 localhost www.orgamon.net
    DocumentRoot /srv/www/htdocs/mediawiki
  RewriteEngine on
#  RewriteLog /var/log/apache2/rewrite_log
#  RewriteLogLevel 9
  RewriteRule ^/mediawiki/index.php5/(.*)$ /index.php5/$1 [R]
   
  </VirtualHost>


CHARSET=utf8 -> CHARSET=utf8
== MySQL - Migration ==


character set utf8 collate utf8_general_ci -> character set utf8 collate utf8_general_ci
* Der Umzug meines etwas älteren Wiki auf einen neuen Server war SEHR schwierig. Das Grundproblem sind die Umlaute und die zu langen Datenbank-Schlüssel. Ich konnte das Lösen, indem ich den Datenbank-Dump in einen Editor lade, und diverse Modifikationen per Hand durchführe. Danach einen Restore der Datenbank auf dem neuen System.


ü -> ü
* Tatsache ist, dass der alte DUMP eine ANSI-Datei ist. Es gibt zumindest kein BOM. Ich rede bei der Anlage aller Tabellen nur UTF8, jedoch den DUMP selbst bringe ich zunächst in reines ANSI. Erst ganz zum Schluss KONVERTIERE ich nach UTF8 (mit Notepad++). Ich sah zuvor in meinem DUMP ein ganz schlimmes Mix-Up von ANSI- und UTF8- Codes.
* Um es also einspielen zu können muss alles schön UTF8 sein incl. BOM.


ä -> ä


Ãœ -> Ü
Ich habe versucht alle Schritte zu dokumentieren:


Ä -> Ä
=== Zeichenersetzungen ===


  ö -> ö
  SET NAMES latin1 -> SET NAMES utf8
CHARSET=latin1 -> CHARSET=utf8
character set latin1 collate irgendwas -> character set utf8 collate utf8_general_ci
ü -> ü
ä -> ä
Ãœ -> Ü
Ä -> Ä
ö -> ö
ß -> ß
Ö -> Ö
á -> á


ß -> ß
=== Tabellen Keys kürzen ===


Ö -> Ö
* ich habe jeweils 255 durch 127 ersetzt!
 
 
=== Tabellen Keys kürzen ===


  DROP TABLE IF EXISTS `categorylinks`;
  DROP TABLE IF EXISTS `categorylinks`;
Zeile 112: Zeile 195:
   KEY `il_to` (`il_to`,`il_from`)
   KEY `il_to` (`il_to`,`il_from`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8;


=== Zeilen löschen ===
=== Zeilen löschen ===
Zeile 120: Zeile 202:
  INSERT INTO `page` VALUES (2426,6,'Beleg.PNG','',22,0,1,0.173215221939,'20080516080552',20362,0);
  INSERT INTO `page` VALUES (2426,6,'Beleg.PNG','',22,0,1,0.173215221939,'20080516080552',20362,0);


... und viele mehr. Welche zu löschen sind sagt Dir der Restore ...
... und viele mehr. Welche zu löschen sind sagt Dir die Fehlermeldung des Restore ...
 
== Debian 10 ==
 
wegen PHP 7.3 kann nur Mediawiki 1.37
 
 
21.12.2022: Beginn eines Umzuges auf einen neuen v-Server von Strato mit Debian 10
 
apt install nginx php-fpm php-mbstring php-xml php-mysql php-ctype php-dom php-fileinfo php-iconv php-intl php-json
apt install p7zip mariadb-server
#
# wegen syntaxhighligth
apt install python3 pip
pip install Pygments


== Links ==
== Links ==


* http://www.mediawiki.org/wiki/Manual:FAQ#Upgrading
* http://www.mediawiki.org/wiki/Manual:FAQ#Upgrading
* https://de.wikipedia.org/wiki/Hilfe:Tabellen_f%C3%BCr_Fortgeschrittene

Aktuelle Version vom 22. Februar 2024, 18:17 Uhr

Neuinstallation

Dieser Artikel enthält Infos, um dieses Wiki neu aufzusetzen (Nach Crash oder Umzug auf einen anderen Server). Systemanforderungen eines Wikis sind:

  • Apache2
  • PHP5

Die Installations-Schritte sind:

  • Die neueste Distribution des Media-Wiki-Zips nach /srv/www/htdocs/mediawiki auspacken. (Der Grund ist: (noch Unbestätigt für 2008): Wenn man ein Wiki von einem Server umzieht ist dummerweise der Pfad in die Datenbank eingetragen (ein schlimmer Design-Fehler) also wieder GENAU den Pfad zur Verfügng stellen wie es war!)
  • ./mediawiki/config ausführen
    • mv LocalSettings.php ..
    • Anpassungen der LocalSettings machen
  • Bilder zurückspielen
    • das ./images Verzeichnis sollte noch beschreibbar gemacht werden
    • Kompletter alter Inhalt überschreibt dabei das fast leere ./images einer frisch entpackten Version

am Beispiel Raspberry Pi

  • Umzug dieses Wikis auf einen Raspberry Pi
  • Ich versuche Mediawiki 1.32 zu verwenden
  • nötige PHP Module sind "mbstring, xml, ctype, json, iconv, fileinfo"

Datenbank

#
# notwendige Software
#
apt install p7zip mariadb-server
apt install php-mbstring php-xml php-mysql
apt install imagemagick

#
# passwort für root setzen auf ***
#
mysql_secure_installation

#
# Datenbank erstellen
#
mysql --password=***
 create database wikidb;
 connect wikidb;
 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '***';
 quit

#
# Dump einlesen
#
mysql --password=*** wikidb < wiki.sql


LocalSettings.php

typische Änderungen an den Einstellungen "unten"

$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
$wgLogo             = "$wgStylePath/../logo.png";
$wgEnableUploads = true;
$wgFileExtensions = array('png', 'jpg', 'jpeg', 'ppt', 'ogg', 'odt', 'pdf', 'mp3');



$wgEnableUploads = true;
$wgUseImageMagick = true;

$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = false;

$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
$wgLogo             = "/mediawiki/images/OrgaMon.png";

/etc/php5/apache2

Die Uploadgrösse muss noch in der php.ini eingestellt werden, der Standrad mit 2M ist nicht mehr zeitgemäs


php.ini
#
# Parametername lautet anders, noch anpassen!!"
#
max_upload=99M

Syntax Highliter Extension

http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi


Installation

1) 4 Dateien aus der MediaWiki SVN 2) Das RELEASE!!! Zip der GeSHi Homepage

Backup des Wiki

  • Wen erforderlich setze das Wiki in den Wartungsmodus
$wgReadOnly = 'Wegen Server-Umzug sind Aenderungen im Moment nicht moeglich!';
mysqldump --password=********* wiki >/srv/sql/wiki.sql
  • Soll das Wiki umgezogen werden könnte man auf dem alten Wiki einen Hinweis auf die neue Serveradresse hinterlassen:

$wgSiteNotice = "Dieses Wiki zieht im Moment auf einen neuen Server um und ist Schreibgeschuetzt. Verwende http://orgamon.dyndns.org:8080/mediawiki/ um auf das aktuelle Wiki zuzugreifen!";

Restore des Wiki

  • MySQL muss laufen
  • Ein root user muss existieren
mysql --password=*********
> create database wiki;
> charset latin1;


  • Rückspielen des Dumps
mysql --password=********* wiki2 < wiki-2.sql


  • Auf openSUSE 42.2
mysql
SET PASSWORD=PASSWORD('********');

Wiki läuft nun im Hauptverzeichnis

Bisher war das Wiki über /mediawiki/ zugänglich, es hat sich draussen noch nicht 100% herumgesprochen, dass es jetzt im Hauptverzeichnis läuft. Somit habe ich eine Rewrite-Rule verfasst, die den Pfad entsprechend verändert (in diesem Falle löscht!).

 <VirtualHost *:80>
   ServerName deinserver
   ServerAlias 192.168.115.25 raib25 localhost www.orgamon.net 
   DocumentRoot /srv/www/htdocs/mediawiki

  RewriteEngine on
#   RewriteLog /var/log/apache2/rewrite_log
#   RewriteLogLevel 9

  RewriteRule ^/mediawiki/index.php5/(.*)$ /index.php5/$1 [R]

 </VirtualHost>

MySQL - Migration

  • Der Umzug meines etwas älteren Wiki auf einen neuen Server war SEHR schwierig. Das Grundproblem sind die Umlaute und die zu langen Datenbank-Schlüssel. Ich konnte das Lösen, indem ich den Datenbank-Dump in einen Editor lade, und diverse Modifikationen per Hand durchführe. Danach einen Restore der Datenbank auf dem neuen System.
  • Tatsache ist, dass der alte DUMP eine ANSI-Datei ist. Es gibt zumindest kein BOM. Ich rede bei der Anlage aller Tabellen nur UTF8, jedoch den DUMP selbst bringe ich zunächst in reines ANSI. Erst ganz zum Schluss KONVERTIERE ich nach UTF8 (mit Notepad++). Ich sah zuvor in meinem DUMP ein ganz schlimmes Mix-Up von ANSI- und UTF8- Codes.
  • Um es also einspielen zu können muss alles schön UTF8 sein incl. BOM.


Ich habe versucht alle Schritte zu dokumentieren:

Zeichenersetzungen

SET NAMES latin1 -> SET NAMES utf8
CHARSET=latin1 -> CHARSET=utf8
character set latin1 collate irgendwas -> character set utf8 collate utf8_general_ci
ü -> ü
ä -> ä
Ãœ -> Ü
Ä -> Ä
ö -> ö
ß -> ß
Ö -> Ö
á -> á

Tabellen Keys kürzen

  • ich habe jeweils 255 durch 127 ersetzt!
DROP TABLE IF EXISTS `categorylinks`;
CREATE TABLE `categorylinks` (
 `cl_from` int(8) unsigned NOT NULL default '0',
 `cl_to` varchar(127) character set utf8 collate utf8_general_ci NOT NULL default ,
 `cl_sortkey` varchar(127) character set utf8 collate utf8_general_ci NOT NULL default ,
 `cl_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
 UNIQUE KEY `cl_from` (`cl_from`,`cl_to`),
 KEY `cl_timestamp` (`cl_to`,`cl_timestamp`),
 KEY `cl_sortkey` (`cl_to`,`cl_sortkey`,`cl_from`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE `imagelinks_old` (
 `il_from` varchar(127) character set utf8 collate utf8_general_ci NOT NULL default ,
 `il_to` varchar(127) character set utf8 collate utf8_general_ci NOT NULL default ,
 KEY `il_from` (`il_from`(10)),
 KEY `il_to` (`il_to`,`il_from`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Zeilen löschen

INSERT INTO `image` VALUES ('Beleg.PNG',37264,,1,'Root','20080516080458',937,691,8,,'BITMAP','image','png','6a3tgc1cymxe6y33gprh5i7iqt5ejqj');
INSERT INTO `page` VALUES (2254,0,'AusgabeArt',,581,0,0,0.514803822297,'20070925132006',18953,23);
INSERT INTO `page` VALUES (2426,6,'Beleg.PNG',,22,0,1,0.173215221939,'20080516080552',20362,0);

... und viele mehr. Welche zu löschen sind sagt Dir die Fehlermeldung des Restore ...

Debian 10

wegen PHP 7.3 kann nur Mediawiki 1.37


21.12.2022: Beginn eines Umzuges auf einen neuen v-Server von Strato mit Debian 10

apt install nginx php-fpm php-mbstring php-xml php-mysql php-ctype php-dom php-fileinfo php-iconv php-intl php-json
apt install p7zip mariadb-server
#
# wegen syntaxhighligth
apt install python3 pip
pip install Pygments

Links