OptiYummy-Update 2012
Aus OptiYummy
Inhaltsverzeichnis |
[bearbeiten] Zielstellung
Im Jahre 2008 wurde das Optimierungsportal OptiYummy auf einem Linux-Server in Betrieb genommen. Zwar waren dafür mittelmäßige Kenntnisse in Bezug auf die Administration von Windowssystemen vorhanden, aber in Hinblick auf die Installation und Pflege von Linux-Systemen fehlten jegliche praktische Erfahrungen. Auf Rat eines Freundes (Linux-Experte) fiel damals die Wahl auf die openSUSE-Distribution 10.3 welche auch das MediaWiki 1.10.0 enthielt. Bis auf wenige Hürden, welche durch die Hilfe weiterer Linux-Experten genommen wurden, gestaltete sich die Inbetriebnahme des MediaWiki-Systems beherrschbar für jemanden, der sich nur mit Windows auskennt.
Leider werden für eine openSUSE-Distribution nur für eine begrenzte Zeit automatisiert Sicherheitsupdates eingespielt. Irgendwann ist also unbedingt ein Update auf eine neuere Version erforderlich, auch wenn das bisherige System noch stabil läuft.
Um den Betrieb des noch laufenden alten Systems nicht zu stören, soll auf neuer Hardware die neueste openSUSE-Distribution mit der neuesten MediaWiki-Version installiert werden. Nach den bisher gesammelten Erfahrungen sollte das problemlos möglich sein. Die größte Hürde ist wahrscheinlich die Übertragung der vorhandenen MediaWiki-Inhalte auf das neue System.
[bearbeiten] OpenSUSE-Basissystem installieren
[bearbeiten] Start-CD erstellen (fuer Netzwerk-Installation)
- Auf der openSUSE-Homepage findet man die Information zur neuesten Distribution (im Beispiel openSUSE 12.1).
- Verfügt man über eine hinreichend schnelle Internet-Verbindung (≥ 1 MBit/s), so ist die sogenannte Netzwerk-Installation die günstigste Methode:
- Unter Get it kann man die ISO-Datei für die erforderliche Start-CD herunterladen:
- Nach Anklicken des Button "Netzwerk" muss man sich entscheiden, ob man eine 32- oder 64-Bit-Version möchte. Im Beispiel ist die CPU 64-Bit-fähig (AMD 64 X2), aber es werden nur 4 GByte RAM verwendet. In Hinblick auf ein eventuelles Update auf leistungsfähigere Hardware, fiel die Entscheidung zugunsten der 64-Bit-Version, auch wenn die 32-Bit-Version zur Zeit ausreichend wäre.
- Als Download-Methode wurde der Direkte Link verwendet.
- Nach Klick auf den Button Netzwerk herunterladen wählt man den Speicherort für das CD-Image openSUSE-12.1-NET-x86_64.iso (ca. 200 MByte).
- Nach dem erfolgreichen Herunterladen legt man unter Windows 7 eine leere CD in einen CD-Brenner. Im Windwos-Explorer wählt man über das Kontextmenü (rechte Maustaste) für die ISO-Datei Öffnen mit > Windows-Brenner für Datenträgerabbilder. Dort sollte man die Option Datenträger nach dem Brennen überprüfen wählen, bevor man den Brennen-Button drückt.
[bearbeiten] Netzwerk-Installation
Wenn für die verwendete Netzwerk-Karte ein Treiber auf der Start-CD existiert, so läuft die Netzwerk-Installation weitestgehend automatisiert. Nach dem Booten von der zuvor gebrannten Start-CD erscheint eine Menü für die Wahl des weiteren Vorgehens:
- Das Aktivieren der Installation lädt den Linux-Kernel und die erforderlichen Treiber für die die Netzwerk- und Grafikkarte. Danach werden weitere Komponenten des Installationssystems aus dem Internet geladen.
- Danach beginnt die eigentliche Installation des openSUSE-Systems:
- Hat man die Sprache Deutsch zuvor nicht gewählt, so muss man dies jetzt nachholen (auch für die Tastatur-Belegung)
- Mit dem Weiter-Button akzeptiert man die angezeigten Lizenzbedingungen. Die sich anschließende Systemanalyse erfolgt in Vorbereitung auf das Herunterladen der erforderlichen Systemkomponenten.
- Im Beispiel wurde der voreingestellte Modus Neuinstallation mit automatischer Konfiguration benutzt.
- Automatisch wird die Region Europa mit der Zeitzone Deutschland gewählt (UTC = Universal Time Coordinated ist markiert).
- Es wurde der KDE-Desktop gewählt, weil dieser bereits im zuvor benutzten openSUSE 10.3 vorhanden war. Damit entfällt die Umgewöhnung auf eine neue Oberfläche.
- Es wird im Beispiel eine 64 GByte SSD-Platte benutzt (angezeigte Größe=59.63 GB). Wegen dieser kleinen Kapazität sollte auf eine separate Home-Partition verzichtet werden (Häkchen entfernen!) Für SSD-Platten wird empfohlen, ca. 10% ungenutzt zu lassen, damit die Schreibgeschwindigkeit sich nicht reduziert, nachdem die Platte einmal vollständig beschrieben wurde. Über den ungenutzten Bereich bietet man der Platten-Firmware die Möglichkeit, immer hinreichend viele beschreibbare Blöcke bereitzustellen. Deshalb wählt man Partitionsaufbau bearbeiten:
- Man findet dort den Vorschlag für ein Auslagerungs-Volume=2.01 GB und eine Root-Partition=57.61 GB. Die Änderung der Root-Partition erfolgt über die Browseransicht Systemansicht > IP-Adresse > sda > sda2 - Größe ändern.
- Die Benutzerdefinierte Größe = 51.61 GB hält auf der SSD-Platte 6 GB unpartitionierten Platz frei.
- Nach dem Übernehmen der geänderten Partitiongröße wird nach Betätigen des Weiter-Buttons die geänderte Konfiguration der SSD-Platte benutzt.
- Danach wird man aufgefordert. einen neuen Benutzer zu erstellen. Hierzu sollte man die Hinweise in der Hilfe lesen:
- Mit dem Benutzernamen meldet man sich als "normaler" Benutzer im System an. Der Benutzername sollte nur Kleinbuchstaben, Ziffern, Bindestrich oder Unterstrich enthalten! Gibt man den vollständigen Benutzernamen (dient nur als Kommentar) in der Form Vorname Nachname ein, so wird automatisch vorname als Benutzername eingetragen.
- Die Hinweise in der Hilfe zur Wahl des Benutzerpasswortes sollte man ernst nehmen.
- Dieses Benutzerpasswort sollte man nicht für den Systemadministrator verwenden (Häkchen entfernen)!
- Es sollte keine automatische Anmeldung erfolgen (Häkchen entfernen)!
- Für den Systemadministrator (Benutzer root) wird danach das Passwort separat abgefragt.
- Die Installationseinstellungen werden angezeigt:
- Da man später den SSH-Dienst für die Fernwartung benötigt, sollte man unter Ändern > Firewall und SSH den SSH-Port öffnen und SSH-Dienst aktivieren.
- Damit kann man mit Installieren die Installation starten.
[bearbeiten] Automatisches System-Update konfigurieren
Unmittelbar nach der erfolgreichen openSUSE-Installation sollte man die automatischen Updates zu aktivieren, damit erkannte Sicherheitslücken automatisch geschlossen werden. Dazu benötigt man das YaST-Kontrollzentrum:
- Menue > Computer > YaST > Software > Online Update (ierativ solange, bis keine Updates mehr verfügbar sind).
- Man sollte "Automatische Updates" aktivieren. Dazu benötigt man noch eine YaST-Komponente (Unter YaST > Softwaremanagement YaST2-online-update-configuration aktivieren und installieren.
- Nach einem Neustart des Systems aktiviert man unter YaST > Online-Update-Configuration eine tägliche Überprüfung. Interaktive Patches sollten übersprungen werden, da diese ein Eingreifen des Administrators erfordern.
[bearbeiten] MediaWiki-System
Die Entscheidung für das MediaWiki als Plattform für das OptiYummy-Portal fiel, weil eine langfristige Verfügbarkeit durch die Nutzung als Grundlage der Wikipedia garantiert ist.
Für die Version MediaWiki 1.18.1 (im Beispiel die neueste Version), werden folgende Voraussetzungen angegeben:
- Internetserver (meist wird dafür Apache verwendet)
- PHP ist die Scriptsprache, in der das MediaWiki geschrieben ist. Es wird eine PHP-Version 5.2.3 oder später empfohlen.
- Datenbankserver (MySQL 4.0 oder später empfohlen)
Im Folgenden werden diese Voraussetzungen für den Betrieb eines MediaWiki-Systems nacheinander in Betrieb genommen. Erst danach erfolgt die Implementierung des MediaWiki in Form einer Ordnerstruktur für die Freigabe durch den Internetserver.
[bearbeiten] Apache-Internetserver
YaST ist das zentrale Konfigurationstool der openSUSE-Distribution. Dieses sollte auch für die Software-Installation verwendet werden:
- Menü > Computer > YaST > Software > Software Management > View > Listeelement "Pattern" führt zur funktionsorientierten Gliederung der verfügbaren Software-Module.
- Server Functions > Web and LAMP Server zeigt eine Übersicht der verfügbaren Software-Komponenten, die man zur Bereitstellung statischer, dynamischer und interaktiver Web-Seiten mittels HTTP-Server verwenden kann.
- Man könnte hier sofort sämtliche Komponenten auswählen, welche man für den Betrieb des MediaWiki-Systems benötigt.
- Im Sinne einer schrittweisen Inbetriebnahme wird zuerst nur apache2 gewählt (Häkchen setzen). Dabei wird automatisch die Komponente apache2-prefork ergänzt.
- Für die Administration des HTTP-Servers in YaST benötigt man außerdem yast2-http-server (Häkchen setzen).
- Der mysql-community-server war bereits markiert. Was es damit auf sich hat, wird erst bei der Inbetriebname des SQL-Servers erforscht.
- Das Drücken des Accept-Button führt zur automatisierten Auswahl weiterer Komponenten, die mit dem Continue-Button zu bestätigen ist. Die gewählte Software wird aus dem Internet geladen und installiert.
- Danach kann ein Online-Update nicht schaden.
Der HTTP-Server läuft danach noch nicht. Zum Starten des Apache-Servers geht man in Menü > Computer > YaST > System > System Services (Runlevel) > Expert Mode:
- apache2: Runlevel 3 und 5 aktivieren
- Set/Reset > Enable the Service
- Start/Stop/Refresh > Start now
- OK-Button führt zur Meldung, dass der network-Dienst ebenfalls gestartet werden muss (Bestätigen mit Continue-Button).
- Der Start beider Dienste sollte mit return 0 (successs) erfolgreich enden.
- Man beendet des Runlevel-Editor mit dem OK-Button (Speichern der Änderungen bestätigen!).
- Der HTTP-Server ist nun auf Standard-Port 80 aktiv. Das kann man mittels des installierten Firefox-Browsers auf dem openSUSE-System testen:
http://localhost führt zur Fehlermeldung von Apache 2.2.21 Acess forbidden - Error 403. Damit funktioniert der Apache-Server in der lokalen Zone des Rechners.
Für die externe Zone (das Internet) muss man den Port 80 für den HTTP-Server noch freischalten:
- Dazu benutzt man YaST > Network Services > HTTP Server. Damit dieses zuvor installierte Tool angezeigt wird, muss man YaST beenden und erneut starten!
- Häkchen setzen "Open Port in Firewall" (für alle Interfaces) > Next.
- Häkchen für "Enable PHP5 Scripting" > Next.
- Servername edit: optiyummy (war zuvor linux-t2gg) / E_Mail optiyummy@ifte,de > Next.
- keine "Virtual Hosts" > Next.
- Aktivieren "Start Apache2 Server When Booting" > Finish.
- Danach wird noch apache2-mod-php5 automatisch nachinstalliert.
Nun muss man von einem anderen Computer aus testen, ob der Web-Server aktiv ist:
- Dazu benötigt man die aktuelle IP-Adresse des SUSE-Systems. Wurde diese automatisch von einem DHCP-Server bezogen, so erhält man die Information über das ifconfig-Kommando (Menü > Terminal > /sbin/ifconfig).
- Über http://ip-adresse im Web-Browser eines externen PC erhält man dann die gleiche Fehlermeldung, wie zuvor im lokalen Web-Browser.
Damit ist nachgewiesen, dass der Internet-Server ordnungsgemäß arbeitet.
[bearbeiten] PHP-Scripting
Die PHP-Konfiguration ist unter http://www.mediawiki.org/wiki/PHP_configuration beschrieben. Folgende optionale Features von PHP sind anscheinend zusätzlich zu den PHP-Core-Files erforderlich:
- mysql : Ermöglicht PHP MySQL-Anfragen.
- ldap : Wichtig, wenn man wiki-user per LDAP überprüfen möchte (keine Ahnung, ob das erforderlich ist!)
- gd : Muss man benutzen, um Bildverarbeitung in PHP zu ermöglichen. Später soll jedoch ImageMagick genutzt werden, wahrscheinlich würden dann die gleichen Bibliotheken installiert.
- jpeg : anscheinend ohne Bedeutung (nicht als PHP-Extension verfügbar)
- iconv : Hat was mit Zeichenverarbeitung zu tun (wird automatisch zusammen mit php5 gewählt!)
- mbstring : Ermöglicht die Unterstützung von "multibyte character string".
- zlib : erlaubt es, den File-Cache zu komprimieren, um Platz und Bandbreite zu sparen (müsste in PHP-Config aktiviert werden)
Um die erforderlichen Komponenten für das PHP-Scripting zu installieren, muss man über Menü > Computer > YaST > Software > Software Management > Register "Pattern" wieder in die Software-Übersicht.
- Unter Development > Web Development wählt man zusätzlich zu den bereits markierten php5-Komponenten
- php5-gd
- php5-ldap
- php5-mbstring
- php5-mysql
- php5-zlib
Abschließend quittiert man die Auswahl mit dem Accept-Button und bestätigt die danach angezeigte Liste mit dem Continue-Button. Die gewählten Module werden aus dem Internet geladen und installiert.
Um zu testen, ob es wirklich funktioniert, wird eine Datei test.php erstellt (mit Menue > Applications > Utilities > Editor > Text Editor):
<?php echo "Hallo Welt!"; ?>
- File > Save > root > srv > www > htdocs unter dem Namen test.php speichern.
- Im lokalen Firefox nun der Testaufruf localhost/test.php. Es sollte Hallo Welt! angezeigt werden.
- Der gleiche Aufruf über die IP-Adresse des Servers nun von einem externen PC muss die selbe Antwort liefern.
Damit ist geklärt, dass PHP-Scripting im Prinzip funktioniert.
[bearbeiten] MySQL-Datenbankserver
Die Software für den MySQL-Datenbankserver müsste bereits installiert sein. Das soll als nächstes überprüft werden. Außerdem sind weitere Komponenten bei Bedarf nachzuinstallieren.
Über Menü > Computer > YaST > Software > Software Management > Register "Search" lässt man sich alle mysql-Komponenten anzeigen (In Suchfeld mysql eintragen und Search-Button):
- Der mysql-community-server, der zugehörige server-client und die Kopplung php5-mysql sind bereits installiert.
- Zusätzlich sind benötigte Bibliotheken installiert.
- Für das Testen und Administrieren des MySQL-Servers wählt man zusätzlich die folgenden Module:
- mysql-community-server-bench (Benchmarks)
- mysql-community-server-test (Testsuite)
- mysql-community-server-tools (zum Administrieren - Konsolen-Kommandos)
- mysql-workbench (ersetzt grafische Oberfläche des bisherigen MySQL Administrators)
- phpMyAdmin (Administration von MySQL über Webbrowser-Interface)
- Nach Quittieren der Auswahl mit dem Accept-Button und Bestätigen der angezeigten Liste mit dem Continue-Button erfolgt das Laden aller benötigten Module aus dem Internet und ihre Installation.
- Ein Online-Update kann danach sicher nicht schaden.
Der SQL-Server läuft noch nicht. Zum Starten des SQL-Servers geht man in wieder in Menü > Computer > YaST > System > System Services (Runlevel) > Expert Mode:
- mysql: Runlevel 2, 3 und 5 aktivieren (bei der Markierung Runlevel=2 muss man bestätigen, dass auch network in Runlevel=2 gestartet wird)
- Set/Reset > Enable the Service
- Start/Stop/Refresh > Start now (dabei muss man den erforderlichen Start von network ebenfalls bestätigen)
- den erfolgreiche Start von mysql und network erkennt man an returned=0.
Über Menü > Applications > System > Database GUI Tools (=MySQL Workbench) gelangt man in das grafische Tool zum Verwalten des Datenbankservers:
- Zuerst muss man eine New Server Instance definieren:
- Host machine: localhost ist standardmäßig gewählt (Next)
- Vorgaben behalten:
Hostname: localhost / Port: 3306
Username: root (das ist SQL-Nutzer "root")
Password: Clear
Default Schema: Feld bleibt leer
(Next) - Test der Database Connection verläuft hoffentlich erfolgreich! (Next)
- Operating System: Linux
MySQL Installation Type: openSUSE (Vendor Package) (Next) - Test der "Host Machine Setting" hoffentlich erfolgreich! (Next und Continue)
- Eingabe des Server Instance Namen wird erwartet: mysqld@localhost (diese Vorgabe sollte man benutzen!) (Finish)
- mysql@localhost erscheint dann als Server, den man administrieren kann.
Über den Link Server Administration und Auswahl des Servers mysqld@localhost (OK) gelangt man in den Admin-Dialog:
- Unter Security - Users Administration werden 2 Benutzer aufgelistet:
- <anonymous> (anonymer Nutzer)
- root (das ist der SQL-Nutzer "root")
- Für jeden Nutzernamen ist angegeben, von wo aus der Zugriff auf die Datenbank erfolgen darf:
- localhost / 127.0.0.1 (IP4)/ ::1 (IP6) sind Synonyme für die lokale Anmeldung am Server-PC
- linux-t2gg ist der automatisch generierte Hostname (die vorherige Änderung in optiyummy wirkt hier zumindest nicht)
- Passwort für root-Nutzer der Datenbank vergeben:
- Bisher ist der Datenbank-Nutzer root noch ohne Passwort.
- Man sollte nun ein sicheres Passwort dafür vergeben.
- Es ist nicht klar, ob das vergebene Passwort für die Anmeldung über alle vier Host gilt. Wahrscheinlich ist es so.
- Man sollte trotzdem bei root für alle vier Host das gleiche Passwort setzen.
Der MySQL-Server müsste nun mit den geänderten Nutzereinstellungen laufen. Man kann das überprüfen, indem man sich in der Befehlzeile einer Terminal-Konsole anmeldet:
- Menü > Applications > System > Terminal > Terminal
- mysql -u root -p
- Danach wird das Passwort abgefragt und die MySQL-Kommadozeile ist aktiv.
- \q beendet die MySQL-Kommandozeile
[bearbeiten] MediaWiki installieren
Im ersten Schritt lädt man mit dem Filefox-Browser von http://www.mediawiki.org/wiki/Download die bereitgestellt Archiv-Datei (im Beispiel: mediawiki-1.18.1.tar.gz - ca. 16 MB):
- Diese Datei speichert man (im Standard-Download-Ordner /Home/Downloads).
- Im Firefox-Download-Fenster mit Kontextmenü (rechte Maus) > Open Containing Folder. Dabei wird der Dolphin-Filemanager geöffnet und zeigt die Archivdatei im Download-Ordner.
- Ein Mausklick auf diese Datei öffnet das Archiv im Programm Ark, die enthaltene Ordnerstruktur wird angezeigt.
- Extract > Extract To > root > srv > www > htdocs speichert den gesamten MediaWiki in die Internetfreigabe des Apache-Servers.
- Den Ordner mediawiki-1.18.1 sollte man z.B. mediawiki in umbenennen (Menü > Applications > Filemanager > Dolphin).
[bearbeiten] MediaWiki in Betrieb nehmen
Nach Eingabe von localhost/mediawiki/ im Firefox meldet sich das MediaWiki zur Konfiguration.Bei diesem ersten Aufruf wird man aufgefordert, in den Setup-Dialog zu gehen "set up the wiki" (im Beispiel für das MediaWiki 1.18.1):
- Auswahl von eigener und Wiki-Sprache (de - deutsch)
- Das Prüfprotokoll ergab, dass alles soweit OK ist, dass man das MediWiki installieren kann. Nicht genutzt werden kann das "objectcaching", weil entsprechende Komponenten nicht installiert sind. Das scheint aber nicht schlimm zu sein. Außerdem fehlte PECL-Erweiterung "intl" für die Unicode-Normalisierung, so dass stattdessen nur die langsame pure PHP-Implentierung genutzt wird. Das hat scheinbar nur für große Benutzerzahlen eine Bedeutung.
Die Konfiguration beginnt mit der Verbindung zur Datenbank (MySQL). Es soll dann zwar die vorhandene datenbank des Vorgängersystems genutzt werden. Aber um zuvor die Funktionalität des neuen Wiki-Systems zu gewährleisten, wird mit einer neuen, leeren Datenbank begonnen:
- Datenbankserver: localhost
- Datenbankname: test1
- Datenbanktabellenpräfix: nicht erforderlich (Feld bleibt leer)
- Datenbanknutzer: root (wird nur während der Installation genutzt)
- Passwort -,,- : root-Passwort (nach "Weiter" im Browser "not remember Password"
- Speicher-Engine: InnoDB (Default)
- Datenbankzeichensatz: UTF-8
- Name des Wikis: Test1
- Admin-Konto-Name: WikiSysop (mit sicherem Passwort)
- Admin-Konto-Mailadresse: Feld blieb leer
Die Installation an dieser Stelle gleich weiter führen:
- Ausschließlich berechtigte Bearbeiter dürfen Bearbeitungen vornehmen.
- Lizenz "Namensnennung, Weitergabe unter gleichen Bedingungen"
- Ausgehende E_Mails nicht ermöglichen
- Erweiterung aktivieren (WikiEditor)
- das Hochladen von dateien ermöglichen (Schreibrechte für ./images müssen für Webserver gesetzt werden)
- für den Rest die Vorgaben lassen
- Das Installationsprogramm hat die Datei LocalSettings.php erzeugt. Diese wird automatisch im Browser herunter geladen und muss in das Stammverzeichnis der MediaWiki-Installation gespeichert werden (Save File > in Download-Liste über Kontextmenü Ordner öffnen und Datei kopieren).
- Sobald das erledigt ist, kann lokal über einen Link auf das Wiki zugegriffen werden (http://localhost/mediawiki/index.php5).
Ein Zugriff von außen über http://192.168.2.38/mediawiki/ war nicht möglich. (obwohl die in den mediawiki-Ordner kopierte Datei "test.php" sich meldete:
- Ursache war folgender Eintrag in die Datei LocalSettings.php infolge der Wiki-Konfiguration:
$wgServer = "http://localhost";
- Damit erfolgt eine Umleitung der IP-adressierten Anfrage auf localhost, die natürlich von außen nicht befriedigt werden kann. Die Variable "localhost" verweist auf den eigenen PC!
- Bevor die endgültige Angabe des Domännamen erfolgt, sollte während der Inbetriebname die lokale IP-Adresse des Servers genutzt werden, z.B.:
$wgServer = "http://192.168.2.38";
- Damit erscheint dann die Wiki-Hauptseite auch bei einem externen Zugriff.
Bevor man mit der Konfiguration fortfährt, sollte man an dieser Stelle eine Sicherungskopie vom aktuellen Systemzustand herstellen!
[bearbeiten] Klonen der Systemplatte
Ideal geeignet für die Kopie einer Festplatte ist der Unix-Befehl dd. Dazu muss man die zu kopierende System-Festplatte (Input-File) zusammen mit der Sicherungsplatte (Output-File) in einem geeigneten Linux-System betreiben.
Anmerkung: Für das früher betriebene openSUSE 10.1 wurde dafür die Knoppix Live-Distribution [1] ohne Probleme benutzt. Leider gelang das mit dem aktuellen OpenSUSE 12.1 nicht mehr. Das System bootete damit zwar von der geklonten Festplatte, aber eine Anmeldung war wegen ungültiger Login-Daten nicht mehr möglich!
Auch openSUSE stellt eine Live-CD bereit. Es wurde die .iso-Datei der KDE-Live-CD für 64-Bit-PC herunter geladen und als CD gebrannt. Damit gelang dann das Erzeugen einer lauffähigen Kopie der System-Platte mit folgender Vorgehensweise:
[bearbeiten] Vorbereitung
Die Kopie einer Festplatte ist kein exakter Klon! Original und Kopie unterscheiden sich auch bei identischen Plattentypen immer noch durch ihre Serien-Nummern. Leider benutzt OpenSUSE für das Ansprechen der Partitionen der Systemplatte nicht die logischen Bezeichner sda1 und sda2, sondern bezieht sich auf Plattentyp und Serien-Nummer. Damit bootet das System nicht mehr von einer geklonten Festplatte!
Deshalb muss man zuvor einmalig als root-Nutzer im System in 2 Dateien die individuellen Plattenbezeichner durch die logischen Bezeichner ersetzen. Unter YaST > System > Partitioner kann man zuvor zur Sicherheit die konkrete Zuordnung der Partitionen zu den logischen Geräten überprüfen. Abbruch des Partitioner ohne Änderung!
Hinweis:
Wer ganz sicher sein will, dass durch die folgenden Änderungen das System nicht zerstört wird, sollte zuerst eine Kopie der aktuellen Systemplatte herstellen, wie es im Weiteren beschrieben wird. Dann kann man diese Kopie bei Bedarf auf die Original-Platte zurückkopieren und man verfügt wieder über ein bootfähiges System!
Datei: /etc/fstab
/dev/disk/by-id/ata-M4-CT064M4SSD2_000000001145031FD09A-part1 swap swap defaults 0 0 /dev/disk/by-id/ata-M4-CT064M4SSD2_000000001145031FD09A-part2 / ext4 acl,user_xattr 1 1
Diese 2 Zeilen ersetzen durch:
/dev/sda1 swap swap defaults 0 0 /dev/sda2 / ext4 acl,user_xattr 1 1
Datei: /boot/grub/menu.lst
Analog dazu ersetzt man für den Systemstart 3x den by-id-Bezeichner:
disk/by-id/ata-M4-CT064M4SSD2_000000001145031FD09A-part (für 1 bzw. 2)
Diesen Ausdruck jeweils ersetzen durch:
sda (mit 1 bzw. 2)
Wenn man sich nicht verschrieben hat, sollte das openSUSE-System danach wieder bootfähig sein (Ausprobieren!).
Achtung:
Nach einem Update des boot/grub-loaders könnte es passieren, dass die Datei menu.lst wieder neu initialisiert wird. Man merkt das daran, dass dann keine bootfähigen Plattenkopien entstehen. In diesem Fall müsste man diese Änderung erneut durchführen.
[bearbeiten] Klonen der Systemplatte mit CD-Livesystem
Bevor man von der openSUSE-Live-CD bootet, steckt man die zweite Festplatte (gleicher Typ) z.B. in den SATA1-Anschluss des Mainboards:
- Die seriellen Kabel sollte man eindeutig mit Original (zur Original-Platte) und Kopie (zur Kopie-Platte) beschriften, um spätere Verwechslungen zu vermeiden.
- Die Platten selbst sollte man mit 1, 2 und 3 beschriften.
- Die Zuordnung zwischen Platten-Nr. und Serien-Nummer sollte man sich notieren:
- Platte: S/N 1145031FD09A
- Platte: S/N 1144031E47D6
- Platte: S/N 114803234ECB
Beim Booten von der Live-CD sollte man über <F2> Deutsch als Sprache wählen, bevor man das Live-System startet (wegen deutscher Tastatur):
- Man startet openSUSE Live KDE.
- Nach Start des Terminals (Konsole) schaltet man in den Super-User-Modus und fragt die Festplatten-Parameter ab:
su hdparm -i /dev/sda hdparm -i /dev/sdb
- Dabei zeigte sich z.B. folgende Zuordnung unabhängig davon, an welchen SATA-Port man die Platten anschließt:
/dev/sda > /dev/disk/by-id/ata-M4-.......1144031E47D6 /dev/sdb > /dev/disk/by-id/ata-M4-.......1145031FD09A
WICHTIG:
- Man muss also vor jedem Klonen sehr genau überprüfen, wie die Zuordnung von Original- und Kopie-Platte zu sda und sdb erfolgt! Ansonsten überschreibt man sich beim Klonen den aktuellen Zustand der Originalplatte!
- Die Zuordnung von sda und sda wird nach dem Wert der Serien-Nummer vorgenommen!
Das Klonen erfolgt mittels dd-Befehl im Terminal als Super User:
- Menue > Terminal
- Wechseln in der Super-User-Status mittels des Befehls su
- Kopie der gesamten Originalplatte (inputfile) auf die Kopieplatte (outputfile) je nach Plattenzuordnung durch
dd if=/dev/sda of=/dev/sdb oder dd if=/dev/sdb of=/dev/sdb
Anmerkung:
Durch den dd-Befehl wird die gesamte Festplatte von 64 GB einschließlich des unpartitionierten Bereiches kopiert. Es ist nicht klar, ob der SSD-Plattencontroller die unbenutzten Bereiche nun als belegt registriert. Vermutlich werden durch die ATA-Trim-Unterstützung von Linux die unbenutzten Bereiche wieder als solche gekennzeichnet (Hoffentlich!).
Hinweise zum Klonen auf eine leere Festplatte:
- Das Festellen der Zuordnung von sda und sda kann hier einfach über My Computer erfolgen. Auf der leeren Sicherungsplatte existiert dann noch kein Dateisystem.
- Im Beispiel führte die erste Kopie mittels dd-Befehl auf eine leere SSD-Platte nach über 10 Minuten zum Verklemmen des Systems. Der Maus-Cursor ließ sich noch bewegen, aber das System reagierte nicht mehr. Die Kopie auf die Sicherungsplatte war zu diesem Zeitpunkt wahrscheinlich weitestgehend abgeschlossen.
- Ein versuchsweises Booten von dieser Platten-Kopie ergab Fehlermeldungen in Hinblick auf ein defektes Dateisystem. Das Booten war nicht möglich.
- Daraufhin wurde erneut eine Kopie mittels Live-CD und dd-Befehl veranlasst. Dabei meldete sich zuvor der Nepomuk-Indizierungsdienst, weil er wahrscheinlich die fehlerhafte Platte nicht indizieren konnte. Der Dienst deaktivierte sich deshalb. Beim Ausführen des dd-Befehls könnte der Nepomuk-Dienst stören, wenn er fehlerhaft arbeitet. Z.B. war es in diesem Zustand nicht möglich, das Programm YaST zu starten. Erst nachdem sich der Nepomuk-Dienst deaktiviert hatte, lief der YaST-Start wieder normal.
- Die zweite Kopie mittels dd-Befehl lief erfolgreich bis zum Ende durch (64GB mit ca. 72 MB/s in 882 s).
- Die erzeugte Platten-Kopie erwies sich dann als bootfähig.
- Achtung::
- Die erreichbare Schreibgeschwindigkeit ist anscheinend abhängig von der Festplatte. Im Beispiel erreicht die Platte 3 grundsätzlich nur ca. 20 MB/s.
- Während des normalen Betriebs ist im Linux-System der automatische TRIM-Befehl deaktiviert, weil dadurch die Performance des Systems leidet. Zu Wartungszwecken sollte man ab und zu in einer Konsole als Super User das fstrim-Kommando für die gesamte Partition erteilen:
su fstrim -v /
Nach einer Weile erscheint als Ausschrift, wieviele Bytes in der Partion vom TRIM-Kommando behandelt wurden.
[bearbeiten] Fernzugriff ermoeglichen
Einen vor sich hin rauschenden PC verbannt man am Besten in einen separaten Server-Raum. Dafür benötigt man jedoch die Möglichkeit, aus der Ferne komfortabel auf dieses System zugreifen zu können. Dafür wurde in dem zuvor betriebenen System das NX-Protokoll benutzt. Auf dem openSUSE-System wurde damals dafür ein FreeNX-Server eingerichtet. Auf dem PC am Arbeitsplatz musste ein NX-Clientprogramm laufen. Dafür wurde der Client von http://www.nomachine.com genutzt.
Trotz mehrtägiger Bemühungen ist es mir diesmal nicht gelungen, den Fernzugriff auf Basis des nxserver zum Laufen zu bekommen. Bei der Verbindung des Client mit dem Server kam es immer zur Fehlermeldung (Could not load host key: /etc/ssh/ssh_host_dsa_key). Daraufhin habe ich dies entnervt aufgegeben!
Eine weitere Möglichkeit ist der Zugriff über VNC-Server, welcher ebenfalls verschlüsselt läuft:
- die erforderlichen VNC-Serverkomponenten sind anscheinend schon standardmäßig im openSUSE installiert (YaST > Softwaremanagement > Search vnc):
- LibVNC Server
- tightvnc
- Xorg-x11-Xvnc
- Unter YaST > Network Services > Remote Administration (VNC) muss man den VNC-Server endgültig in Betrieb nehmen:
- Allow Remote Administration
- Open Port in Firewall (in all interfaces)
Der "eigentliche" VNC-Server ist tightvnc. Unter http://www.tightvnc.com/download.php kann man den zugehörigen Client herunterladen:
- Self-installing package for windows (Version 2.0.4)
- Man installiert davon nur den TightVNC-Viewer.
- Beim Aufruf des TightVNC-Viewers muss man zusätzlich zur IP-Adresse die Portadresse angeben, z.B.: 192.168.2.38:5901
- Die Nummer des Ports konnte man der Hilfe entnehmen, welche man unter YaST > Remote Administration (VNC) aufrufen kann.
- Diese Verbindung klappte dann problemlos und zeigt in einem Fenster den KDE-Desktop des openSUSE-Systems.
- Eigenartig ist, dass sich der TightVNC-Viewer in seinem Anmeldefenster nur die letzte Ziffer der Portnummer merkt und es trotzdem funktioniert (z.B.: 192.168.2.38:1
Hinweise:
- Irgendeine Komponente von openSUSE stürzt beim Öffnen der Verbindung ab (Crash-Info-Fenster kann man ohne weitere Konsequenzen schließen!).
- Anscheinend kann man das openSUSE-System nach Nutzung der VNC-Verbindung nicht mehr normal herunterfahren (es klemmte dann). Man muss zur die Konsole öffnen und das Herunterfahren über Kommando veranlassen:
su shutdown -h now
Es hat sich gezeigt, dass für die aktuelle Version openSUSE 12.1 die VNC-Verbindung bestimmt die einfachste Methode des Fernzugriffs ist!
[bearbeiten] Wiki-System individuell konfigurieren
Indizierung der Seiten durch Suchmaschinen:
Man sollte in das Stammverzeichnis des Wiki-Systems \srv\www\htdocs\mediawiki\ eine Textdatei robots.txt ablegen:
- Die Suchmaschinen lesen beim Finden einer Webseite zuerst diese Datei im Stammverzeichnis der Domäne.
- In dieser Datei kann beschrieben werden, ob und wie die Suchmaschine (Robot) die Seiten erfassen darf.
- Es ist scheinbar wichtig, unsinnige Robots auszusperren, um nicht unsinnigen Datenverkehr für das Wikisystem zu erzeugen.
- Für Laien ist es günstig, als Grundlage die Datei robot.txt der Wikipedia [2] zu verwenden. Auf konkrete Verzeichnisse der Wikipedia bezogene Einträge (z.B. /wiki/) muss man darin löschen!
Hochladbare Dateigröße anpassen:
Die Größe der mittels PHP hochladbaren Dateien ist standardmäßig auf 2MByte beschränkt. Das ist für den angestrebten Zweck zu gering:
- In den Dateien /etc/php5/apache2/php.ini und /etc/php5/cli/php.ini wurde diese Begrenzung auf 120MByte geändert:
upload_max_filesize = 120M
- Der Wert wurde so groß gewählt, weil die die vorhandenen Datenbank-Inhalte des alten Wiki-Systems ebenfalls über das PHP-Webinterface hochgeladen werden müssen.
Erscheinungsbild des Wiki-Systems:
Für die folgenden Anpassungen muss man die Datei LocalSettings.php im Ordner mediawiki/ manuell bearbeiten. Um den ursprünglichen Zustand wieder herstellen zu können, sollte man sich eine Sicherungsdatei anlegen (Kopieren und Einfügen unter neuem Namen).
Es existiert im Ordner mediawiki/includes/ eine Datei DefaultSettings.php. Darin erhalten alle $wg-Variablen ihren Standardwert (wg = Wiki Global). Die möglichen Werte sind ausführlich dokumentiert.
In der Datei LocalSettings.php überschreibt man die Standardwerte der $wg-Variablen mit individuellen Werten, wenn man von den Default-Einstellungen abweichen möchte:
- Einen Teil dieser Arbeit wurde beim Konfigurieren des Wiki-Systems über das Web-Interface bereits erledigt. Die vorhandenen Einträge widerspiegeln die Abweichungen von den Default-Werten.
- ... Einträge werden noch dokumentiert!
In der Fusszeile erscheinen standardmäßig auch unerwünschte bzw. überflüssige Informationen. Die Konfiguration dieser "Footerlinks" kann man in der Datei /includes/SkinTemplate.php vornehmen:
- Man sollte die Originaldatei vor der Veränderung sichern.
- Die erste Position in der Datei suchen mit Edit > Find > Footerlinks. dahinter befindet sich die array für 'info' und 'places'
array ('lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',)
array ('privacy', 'about', 'disclaimer',)
- Nicht benötigte Zeilen sollte man nicht löschen, sondern auskommentieren, z.B.:
/** 'lastmod', */
- Es wurde nur der 'disclaimer' behalten (der Link auf das Impressum)
Hinweis:
Beim Erkunden der Wirkung dieser Veränderungen in der Datei SkinTemplate.php bin ich fast verzweifelt, weil keine Änderung trotz Neuladen einer Wikiseite festzustellen war! Ursache ist der Cache des Wikisystems, welcher bereits abgerufene Seiten nicht neu erstellt. Die Wirkung sieht man erst, wenn man eine Seite editiert und abspeichert.
[bearbeiten] Vorhandene Datenbank importieren
[bearbeiten] System-Sicherung
[bearbeiten] Fazit
Die bisherigen Erfahrungen mit der Installation von MediaWiki 1.18 auf openSUSE 12.1 sind ziemlich deprimierend. Die Installation erfolgte parallel durch zwei Bearbeiter auf zwei unterschiedlichen PC. Dabei wurde versucht, möglichst systematisch in den oben beschriebenen Schritten vorzugehen:
- Erste Probleme gab es mit dem Fernzugriff mitteln NX-Protokoll und NoMachine-Client. Irgendwie klappte es dann in der anderen Installation, nachdem es anfänglich auch nicht ging. In dieser Installation gelang es nicht, mittels NoMachine-Client eine Verbindung zum Server herzustellen. So wurde hier der VNC-Zugriff genutzt.
- Das Klonen der Festplatten ist ein mehr oder weniger zufälliger Prozess. Das kann sowohl an Schwächen der openSUSE-Live-CD in Hinblick auf die konkrete Hardware liegen. Das können aber auch Probleme mit den SSD-Platten sein.
- Am Schlimmsten ist, dass die Inbetriebnahme des Wiki-Systems auf diesem System scheiterte. Es wurde danach nur eine leere Seite im Browser angezeigt. Auf dem parallel installierten System lief dies problemlos. Schrittweises Verfolgen der php-Scriptabarbeitung, um die Stelle zu finden, die verantwortlich für das Darstellen der absulut leeren Seite ist, führt bei einem Laien nicht zum Erfolg.
- Deshalb wurde beschlossen, die gesamte Installation noch einmal beim Stand Null zu beginnen! Der Prozess wird dabei unter Berücksichtigung der bisherigen Erfahrungen etwas gestrafft und umstrukturiert.
- Zum Glück gelang es jetzt, eine Test-Wiki zu installieren, welches als Grundlage für den Import der vorhandenen OptiYummy-Daten dient.

