Rezept für ein Multi Tiki
Einrichtung von eine Mehrfach Tikiwiki auf einem ))RedHat(( System
von George Geller http://tikiwiki.org/tiki-index.php?page=UserPagegeorge.geller
Inhaltsverzeichnis
Einleitung
Mit dieser Beschreibung soll ein möglicher Weg zur Installation mehrerer Tikis auf einem einzigen ))RedHat(( Linux Server aufgezeigt werden, allerdings werden root Rechte benötigt. Es wird vorausgesetzt, dass Apache, PHP und mySQL auf dem System installiert sind und funktionieren.
Sofern die richtigen ))RedHatPakete installiert sind und die Konfigurationsdateien nicht zu sehr verändert wurden, dann sollten diese Programme reibungslos funktionieren. Diese Anleitung wurde erfolgreich mitRedHat8,RedHat(( 9 und Yelllow Dog 3.0 getestet.
In diesem Beispiel wird die Installation dreier funktionierender Tikis auf einer Maschine beschrieben und es werden einige Hinweise innerhalb des Installationsprozesses gegeben. Es soll eher auf die Besonderheiten eingegangen werden, anstatt zu allgemein zu bleiben, eher konkret als abstrakt. Solltest du eine andere Umgebung auf deinem Server einsetzen, dann müssen die Anweisungen entsprechend angepasst werden.
Es wird beschrieben wie diese drei Tikis installaiert und konfiguriert werden:
- public.wikiplanet.com
- member.wikiplanet.com
- staff.wikiplanet.com
mySQL Setup
Jeder Tiki Instanz benötigt eine eigene MySql Datenbank. Außerdem wird für jede ))MySql(( Datenbank ein separater Benutzer mit den Rechten zur Änderung der Datenbank benötigt. Auf die Bezeichnung der Datenbanken kommt es nicht an, allerdings wurde für diese Beschreibung das Prefix *tiki_* für die Datenbanken benutzt, so dass die Bezeichnung der drei Datenbanken sein wird:
- tiki_public
- tiki_member
- tiki_staff
Es wurde ein einziger ))MySql(( Benutzer eingerichtet, der auf alle drei Datenbanken Zugriff hat.
Diese Befehle wurden -mit Root Rechten- zur Installation eingesetzt:
# mysqladmin -uroot -p create tiki_public # mysqladmin -uroot -p create tiki_member # mysqladmin -uroot -p create tiki_staff
Dann wurde mit ))MySql(( der 'tiki' Benutzer mit den notwendigen Rechten eingerichtet:
# mysql -uroot -p mysql> USE mysql; mysql> GRANT USAGE ON * . * TO "tiki"@"localhost" IDENTIFIED BY "password"; mysql> GRANT ALL PRIVILEGES ON `tiki_public` . * TO "tiki"@"localhost"; mysql> REVOKE GRANT OPTION ON `tiki_public` . * FROM "tiki"@"localhost"; mysql> GRANT ALL PRIVILEGES ON `tiki_member` . * TO "tiki"@"localhost"; mysql> REVOKE GRANT OPTION ON `tiki_member` . * FROM "tiki"@"localhost"; mysql> GRANT ALL PRIVILEGES ON `tiki_staff` . * TO "tiki"@"localhost"; mysql> REVOKE GRANT OPTION ON `tiki_staff` . * FROM "tiki"@"localhost"; mysql> exit
Apache Konfiguration
Als nächstes wird die Apache Web Server konfiguration /etc/httpd/conf/httpd.conf bearbeitet, damit apache weiss an welcher Stelle die verschiedenen Tikis zu finden sind.
DocumentRoot (optional)
Die ))DocumentRoot(( wurde -aus Gründen der Faulhait 😀 - auf /www verändert. Das Standardverzeichnis ist /var/www/html.
Diese zwei Zeilen in httpd.conf sind hierfür zu ändern:
))DocumentRoot(( "/www"
und 25 Zeile tiefer:
<Directory "/www">
Diese können verändert werden oder sie bleiben unangetastet, dann muss dies entprechend in der folgenden Beschreibung berücksichtigt werden.
Virtuelle Hosts
Weiter unten ist eine Zeile ))NameVirtualHostzu finden, diese ist aufNameVirtualHost(( *:80 zu ändern. Außerdem wird am Ende der Datei httpd.conf diese Zeile hinzugefügt:
Include conf.d/*.vh
Erstelle eine .vh Datei in /etc/httpd/conf.d/ für jede der virtuellen Hosts.
/etc/httpd/conf.d/public.wikiplanet.com.vh beinhaltet:
<VirtualHost *:80> ServerAdmin webmaster@wikiplanet.com DocumentRoot /www/public.wikiplanet.com ServerName public.wikiplanet.com ErrorLog logs/public.wikiplanet.com-error_log CustomLog logs/public.wikiplanet.com-access_log common </VirtualHost>
/etc/httpd/conf.d/member.wikiplanet.com.vh beinhaltet:
<VirtualHost *:80> ServerAdmin webmaster@wikiplanet.com DocumentRoot /www/member.wikiplanet.com ServerName member.wikiplanet.com ErrorLog logs/member.wikiplanet.com-error_log CustomLog logs/member.wikiplanet.com-access_log common </VirtualHost>
/etc/httpd/conf.d/staff.wikiplanet.com.vh beinhaltet:
<VirtualHost *:80> ServerAdmin webmaster@wikiplanet.com DocumentRoot /www/staff.wikiplanet.com ServerName staff.wikiplanet.com ErrorLog logs/staff.wikiplanet.com-error_log CustomLog logs/staff.wikiplanet.com-access_log common </VirtualHost>
Nun muss der Webserver neu gestartet werden.
# apachectl graceful
Die Fehlermeldungen über die nicht vorhandenen Verzeichnisse können zu diesem Zeitpunkt ignoriert werden, da wird diese im nächsten Schritt erstellen werden.
Installation ))TikiWiki((
Installation der Distribution
Beschaffe eine aktuelle Distribution von ))TikiWiki(( auf sourceforge.net. Entpacke diese und erstelle die notwendigen Soft Links.
Dieser Beschreibung liegt die Version 1.8.RC2 zugrunde.
# cd /www # tar -xvjf tikiwiki-1.8.RC2.tar.bz2 # ln -s tikiwiki-1.8.RC2 public.wikiplanet.com # ln -s tikiwiki-1.8.RC2 member.wikiplanet.com # ln -s tikiwiki-1.8.RC2 staff.wikiplanet.com
Hinzufügen des Codes zur Auswahl der Datenbank
In der Datei db/local.php müssen hierfür einige Änderungen vorgenommen werden.
# cd /www/tikiwiki-1.8.RC2/db
Bearbeite local.php. Im Beispiel sieht es so aus:
<?php $host_tiki="localhost"; $user_tiki="tiki"; $pass_tiki="secret"; $db_tiki = 'mysql'; $dbversion_tiki="1.8"; if ($_SERVER["HTTP_HOST"] == "public.wikiplanet.com") { $dbs_tiki = "tiki_public"; $tikidomain = "public.wikiplanet.com"; } elseif ($_SERVER["HTTP_HOST"] == "member.wikiplanet.com") { $dbs_tiki = "tiki_member"; $tikidomain = "member.wikiplanet.com"; } elseif ($_SERVER["HTTP_HOST"] == "staff.wikiplanet.com") { $dbs_tiki = "tiki_staff"; $tikidomain = "staff.wikiplanet.com"; } else { // default case, your choice is to block or open to a default domain } ?>
Einrichten der Dateien
Einrichtung der Dateien und Verzeichnisse für die Tikis:
# cd /www/tikiwiki-1.8.RC2 # ./setup.sh apache apache 02755 public.wikiplanet.com member.wikiplanet.com staff.wikiplanet.com # chown apache:apache *.php .
Führe das Installation Skript aus
Als nächstes wird zur Installation der neuen Tikis mit einem Webbrowser das Installationsskript ausgeführt. Hierfür muss dns korrekt funktionieren oder die Datei /etc/hosts angepasst werden. In unserem Beispiel funktioniert dns, so dass wir mit unseren Webbrowser die Adresse http://public.wikiplanet.com/tiki-install.php aufrufen können und das Installationsskript ausführen.
Achtung:
Zu diesem Zeitpunkt darf tiki-install.php noch nicht entfernt (remove) werden!
Zuerst wird das Installationsskript noch für die beiden weiteren Tikis ausgeführt: member und staff. Erst bei der letzten Ausführung des Installationskriptes wird dieses am Ende entfernt.
Administration der ))TikiWikis((
Das war alles. Melde Dich als admin bei den Tikis an und richte diese nach eigenem Bedarf ein.
Anmerkung
Da unsere Tikis sich gemeinsam die gleichen Dateien teile, existieren in diesem Falle einige Einschränkungen.
Administratoren und Benutzer mit gleichen Loginnamen in verschiedenen Tikis basieren auf den gleichen StyleSheets.
Dem Internet Explorer von Microsoft kann nicht mitgeteilt werden an welcher Stelle ein favicon liegt, er benutzt immer das Favicon in der Document Root, sodass alle gehosteten Tikis das selbe Favicon anzeigen, außer der Web Server verändert den Request für favicon.ico. Siehe WikiShortcutIcon für die entsprechende Konfiguration.
Unter RezeptMultiTiki2 wird beschrieben wie ein neues Tiki zu dieser Installation hinzugefügt werden kann.
Jedermann kann diese Seite gerne ändern oder kommentieren. - George Geller http://tikiwiki.org/tiki-index.php?page=UserPagegeorge.geller
- mySql - http://www.mysql.com
- Apache - http://www.apache.org
http://tikiwiki.org/tiki-index.php?page=RecipeMultiTiki
DereDior: http://de.tikiwiki.org/tiki-user_information.php?view_user=DereDior