Linux.Wiki: Unterschied zwischen den Versionen
Root (Diskussion | Beiträge) |
|||
(22 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 54: | Zeile 108: | ||
<code> | <code> | ||
$wgSiteNotice = " | $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> | </code> | ||
Zeile 72: | Zeile 126: | ||
mysql --password=********* wiki2 < wiki-2.sql | 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`; | DROP TABLE IF EXISTS `categorylinks`; | ||
Zeile 124: | 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 132: | 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 | ... 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