Von einem engagierten Fan gibt es jetzt unter www.thandor-world.de eine neue Seite mit vielen Infos zum Spiel.
Mein Ziel war es Apache2 und PHP5 zum Laufen zu bringen (MySQL auch noch dazu). Das hat aber etwas länger gedauert, als ich zunächst dachte, weil einige Pakete noch nicht für den Athlon64 (also für den 64bit Code) freigegeben sind. Die Installation von Apache verlief aber erstmal ohne Probleme:
# emerge apache
Die Installation von PHP ist für einen Gentoo Anfänger (wie mich) ungleich schwieriger. Es gibt zwei Pakete, welche auf den Namen php hören: dev-lang/php und dev-php/php. Aus den Beschreibungen geht hervor, dass dev-lang/php das richtige Paket für PHP5 ist.
Wenn man sein Gentoo Linux für Athlon64 kompiliert hat, funktioniert ein einfaches emerge dev-lang/php aber nicht. Das Paket wird von ~amd64 maskiert. Nach einigem Suchen bei Google habe ich dann folgendes gefunden: um die Pakete zu entmaskieren müssen folgende Zeilen in die neu zu schaffende Datei /etc/portage/package.keywords geschrieben werden:
>=dev-lang/php-5 ~amd64 >=dev-php/mod_php-5 ~amd64
Das heißt, dass beide Pakete für die Versionen größer oder gleich fünf für Athlon64 freigegeben werden. Das reicht aber noch nicht. Beim Aufruf von emerge dev-lang/php kommen weitere Fehlermeldungen, welche zu folgenden zusätzlichen Einträgen in der Datei package.keywords führen:
app-admin/eselect ~amd64 app-admin/eselect-php ~amd64 >=app-text/aspell-0.60 ~amd64
Außerdem muss die Datei /etc/portage/package.use um folgende Zeile ergänzt werden:
dev-lang/php -berkdb
Und ein paar USE Flags sind generell interessant (Eintrag in /etc/make.conf): apache2 cli gd.
Anschließend sollte alles funktionieren. Ich habe vor dem emerge dev-lang/php
(und den Änderungen für portage noch folgendes ausgeführt, was aber ausser langem Kompilieren nichts ändern sollte:
# emerge dev-php/php # emerge dev-php/mod_php # emerge --unmerge dev-php/php # emerge --unmerge dev-php/mod_php
Bevor es losgeht, wird der Apache in die "Autostartliste" eingetragen (rc-update add apache2 default) und diesem dann PHP beigebracht (-D PHP5 in der Variablen APACHE2_OPTS der Datei /etc/conf.d/apache2 ergänzen).
Jetzt kann aber ein erster Test her. Einfach folgenden Inhalt in die Datei /var/www/localhost/ht_docs/test.php:
<?php phpinfo() ?>
Nach dem der Apache gestartet wurde (/etc/init.d/apache2 start) kann die Seite im Browser auf einem anderen Rechner geladen werden.
Die Ausstattung von PHP ist noch etwas dürftig, so dass ich in /etc/portage/package.use folgende USE Flags ergänzt habe: bzip2 imap pcre pear xml2. In der Datei /etc/portage/package.keywords habe ich folgende Ergänzungen gemacht [machen müssen]:
dev-php/PEAR-PEAR ~amd64 dev-php/PEAR-Archive_Tar ~amd64 dev-php/PEAR-Console_Getopt ~amd64 dev-php/PEAR-XML_RPC ~amd64
Anschließend habe ich folgendes ausgeführt:
# emerge PEAR-PEAR # emerge mysql # emerge pecl-pdo # emerge --newuse world
Der letzte Befehl dient dazu, PHP neu zu kompilieren, um den geänderten USE Flags Rechnung zu tragen. Nach einem Apache Neustart (/etc/init.d/apache2 restart) sieht die Angabe von phpinfo() schon besser aus.
Es hat mich einige Zeit gekostet, phpMyAdmin zum Laufen zu bringen.
Nachdem der MySQL Server lief (auch nicht so einfach, aber es wird einem gesagt, was man zu tun hat), habe ich phpMyAdmin installiert. Beim Aufruf der Seite im Webbrowser kommt dann auch die Benutzer/ Passwortabfrage, welche aber unabhängig von der Eingabe einen Fehler produzierte: Falscher Benutzername/Kennwort. Zugriff verweigert.
Nach längerem Suchen im Internet habe ich dann die Lösung gefunden: man soll die Anleitung zu phpMyAdmin lesen und einen control-user einrichten. In der Anleitung phpmyadmin/Documentation.html sind die Befehle schon fertig angegeben. Man muss nur noch das Passwort ändern und dieses auch in der Datei phpmyadmin/config.inc.php eintragen.
Soweit so gut. Das Anmelden als root klappt dann auch. Allerdings ist der Aufbau sehr langsam. Offensichtlich, weil keine Bilder (Icons) geladen werden. Auch hier bringt erst ein Eingriff in die Konfiguration von phpMyAdmin die Lösung: der Eintrag PmaAbsoluteUri muss ein leerer String sein, dann klappt alles.
Zur Info nochmal die Versionen, mit denen es so umständlich lief:
Seit der Version 1.5beta1 von MediaWiki (siehe SourceForge) ist es möglich die Beiträge als XML Dateien zu exportieren und für priviligierte Benutzer auch zu importieren. Das Exportieren aller Beiträge ist dabei etwas umständlich. Außerdem sind die XML Dateien auch für kleinere Installationen schnell riesig.
Deshalb habe ich einen Patch entwickelt
(per diff zu 1.5beta3). Der Patch ermöglicht beim Exportieren die Ausgabe als
gz komprimierte XML-Datei. Entsprechend komprimierte XML-Dateien werden
dann natürlich auch beim Importieren akzeptiert. Mit dem installierten Patch liest MediaWiki
beim Importieren nicht mehr alle Revisionen ein, sondern nur noch jene, deren Zeitstempel
unter dem Seitentitel noch nicht vorhanden waren. Beim Exportieren kann man mit *
gleich alle Artikel exportieren.
Der Patch ist für kleinere Installationen sinnvoll. Bei größeren Datenmengen könnte das Exportieren aller Seiten zu Performanceengpässen führen. Mit diesem Patch ist es relativ einfach, eine zweite MediaWiki-Installation als Mirror zu betreiben. Dies ist z.B. für Notebooks interessant, welche nicht immer über einen Internetanschluss verfügen. Dazu muss man nur alle Artikel des Original-Wikis exportieren und auf dem Spiegel-Wiki importieren. Gleiche Artikel werden weggelassen. Die hochgeladenen Bilder (und andere Dateien) müssen natürlich separat kopiert werden.