Linux.Wiki: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
 
(46 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
* Datenbank installieren
== Neuinstallation ==


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


* Root Passwort erzeugen lassen
* Apache2
* PHP5


  mysql -u root -p
Die Installations-Schritte sind:


Man wird nun nach einem Passwort gefragt, das ab jetzt das DB root Passwort ist.
* 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!)


* Datenbank anlegen
* ./mediawiki/config ausführen
** <code>mv LocalSettings.php ..</code>
** 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


  create database MeineNeueDatenbank;
== am Beispiel Raspberry Pi ==


* Erstellungsscript hinzuf?  mysql -u root -p < DiesIstMeinScript.sql
* 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"


* Komplette Datenbank sichern:
=== Datenbank ===


mysqldump --passwort=pwd --database wiki >wiki.dump.sql
#
# 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


* Komplette Datenbank löschen (im mysql)


drop database wiki;
== LocalSettings.php ==


* Komplette Datenbank wieder einlesen:
typische Änderungen an den Einstellungen "unten"


mysqldump --password=pwd < wiki.dump.sql
$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:
 
<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 ==
 
* 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(<u>127</u>) character set utf8 collate utf8_general_ci NOT NULL default '',
  `cl_sortkey` varchar(<u>127</u>) 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(<u>127</u>) character set utf8 collate utf8_general_ci NOT NULL default '',
  `il_to` varchar(<u>127</u>) 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 ==
 
* 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