bg
APML-Filter

Drupal 6.x-Multi-Site-Installation unter IIS7.5

by Gabriele 14. März 2010 02:25

Da ich gelegentlich Drupal-Themes gestalte und auf jedes davon jeder Zeit Zugriff haben will, ohne Themes wechseln zu müssen, aber nicht für jedes einzelne Theme eine volle Drupal-Installation machen möchte, habe ich mich heute darin versucht, mir die Multi-Site-Fähigkeit von Drupal zunutze zu machen. Ausgangsbasis dafür war die einzige Multi-Site-Installations-Anleitung für IIS, die ich im Internet fand, gehalten in englischer Sprache, zu finden unter http://drupal.org/node/215549. Die Anleitung ist zwar für Drupal 5, funktioniert aber auch für Drupal 6.

Drupal in einem Verzeichnis auf dem Webserver installieren.
Im ISS ein virtuelles Verzeichnis (direkt unter Default Web Site), zum Beispiel virtuell1 anlegen und auf die Drupalinstallation verweisen.

virtuelles Verzeichnis anlegen

Die Adresse ist dann zum Beispiel: http://localhost/virtuell1

Unter C:\inetpub\wwwroot\ort-der-drupalinstallation\sites einen neuen Ordner anlegen, und localhost.virtuell1 nennen (bzw. Namen der Site statt virtuell1).

sites

localhost.virtuell1 zum Schreiben freigeben oder manuell einen Ordner files dort anlegen und diesen zum Schreiben freigeben. Die settings.php aus sites/ default in das Verzeichnis localhost.virtuell1 kopieren und mit einem Editor öffnen.
Nach diesem Eintrag suchen und anpassen
$db_url = 'mysql://username:password@localhost/dbvirtuell1';
$db_prefix = '';

Entweder ist ein eigenes Tabellenpräfix zu verwenden oder vorher neue Datenbank anzulegen und diese anzusteuern. Wenn jede Drupaluntersite eine eigene Datenbank bekommt, ist kein Präfix nötig. Wenn sich die einzelnen Sites eine Datenbank teilen müssen, unbedingt darauf achten, für jede ein anderes Präfix zu wählen.

Wenn man jetzt die Adresse http://localhost/virtuell1 aufruft, kann ein 404-Fehler kommen. Das bedeutet, dass nicht mehr die Standard-settings.php abgefragt wird, sondern die für die neue Site vorgesehene settings.php. Der physikalische Pfad zeigt hier jedoch schon auf die index.php im Drupal-Hauptverzeichnis.

Seite nicht gefunden

Im nächsten Schritt http://localhost/virtuell1/install.php aufrufen. Eine neue Drupalinstallation startet dann und ist unabhängig von der Hauptsite konfigurierbar.

Achtung, wenn Drupal sich beschwert, dass es keine tmp-Dateien anlegen (es aber trotzdem tut, z.B. unter Windows/Temp) oder kopieren kann, muss der Schreibschutz von files unter der jeweiligen Site aufgehoben werden.

Sämtliche Themes und Module die unter sites/all abgelegt sind, können in der neuen Installation aktiviert werden. Module und Themes die ausschließlich für die Untersite zur Verfügung stehen sollen, werden einfach in den entsprechenden Verzeichnissen dort abgelegt.

nur neue Site

Zwar muss ich trotzdem für jedes Theme eine Drupalinstallation (und die Verzeichnisprozedur) vollziehen, doch ohne jedes Mal ein komplettes Drupal-Verzeichnis anlegen zu müssen, und im Weiteren Aktualisierungen von Drupal und Modulen für alle meine Sites nur einmal vornehmen.

Tags:

Drupal

Kommentare sind geschlossen

Month List

BlogNetzWerke

Blog Verzeichnis und WebkatalogArtikelverzeichnis, Social Bookmarking, RSS-Verzeichnisfrisch gebloggtBlogPingR.de - Blog Ping-Dienst, BlogmonitorBlogtotalRSS Verzeichnisblogoscoop Blogverzeichnis - Blog Verzeichnis bloggerei.deAdd to Technorati FavoritesWeb Design Blogs - BlogCatalog Blog Directory