Meine Vorstellung von Multisites
am 29.09.2008 - 17:04 Uhr in
Ich würde gerne so etwas umsetzen, wie oben zu sehen.
Ich habe ja jetzt schon ne Menge über Multisites etc. gelesen, aber irgednwie habe ich noch nicht das Gefühl, dass es das ist, was ich suche.
Wie man sehen kann sind alle Domains auf die Nameserver auf einem Server konnektiert. Nun habe ich eine Drupal-Installation und eine MySQL DB.
Wenn ich Multisites richtig verstanden habe, geht es hier um die Unterscheidung im Design und nicht im Content.
Bei m einem Vorhaben ist es genau umgekhrt. Alle drei Portale sollen gleich aussehen, überall kann sich der User mit seinem Account einloggen, ABER:
aber jede Startseite und alles was mit dem Portal zu tun hat, zeigt anderen Content an.
Was muss ich tun?
- Anmelden oder Registrieren um Kommentare zu schreiben
multisite
am 29.09.2008 - 18:03 Uhr
Wenn ich Multisites richtig verstanden habe, geht es hier um die Unterscheidung im Design und nicht im Content.
Öhm, nö.
Dein Bild zeigt eigentlich genau das, wofür eine drupal-multisite Installation gedacht ist.
http://drupal.org/node/43816 bietet da ein paar Setup-Beispiele.
Speziell: Same codebase, completely different content and users und 10 Minute Multisite Install & Configuration.
hth,
Stefan
ich werde mir das mal morgen
am 29.09.2008 - 20:28 Uhr
ich werde mir das mal morgen ansehen. danke für den zweiten link
stBorchert
am 01.10.2008 - 08:38 Uhr
Wenn ich Multisites richtig verstanden habe, geht es hier um die Unterscheidung im Design und nicht im Content.
Öhm, nö.
Dein Bild zeigt eigentlich genau das, wofür eine drupal-multisite Installation gedacht ist.
http://drupal.org/node/43816 bietet da ein paar Setup-Beispiele.
Speziell: Same codebase, completely different content and users und 10 Minute Multisite Install & Configuration.
hth,
Stefan
Vielleicht bin ich gerade zu dumm, dass zu begreifen, aber ich habe weder Putty noch sonst irgendwie große Lust am Server zu basteln.
Desweiteren verstehe ich immer noch nicht wie Drupal die Inhalte auseinanderhält, denn ich trenne mit den Verzeichnissen doch nur das Design. Ich habe jetzt alle drei Domains auf ein Hostpaket umgeleitet. Also SIe sind alle auf der Machine konnektiert. Ich möchte, dass alle Seiten auf dieselbe DB zugreifen, also Shared Logon usw. Aber wie trenne ich jetzt die Daten der drei Domains. Ich rall das nicht.
multisite
am 01.10.2008 - 09:25 Uhr
Vielleicht bin ich gerade zu dumm, dass zu begreifen, aber ich habe weder Putty noch sonst irgendwie große Lust am Server zu basteln.
Musst Du auch nicht.
Desweiteren verstehe ich immer noch nicht wie Drupal die Inhalte auseinanderhält, denn ich trenne mit den Verzeichnissen doch nur das Design.
Richtig. Die Inhalte stehen ja auch nicht in den Verzeichnissen, sondern in der Datenbank.
Ich habe jetzt alle drei Domains auf ein Hostpaket umgeleitet. Also SIe sind alle auf der Machine konnektiert. Ich möchte, dass alle Seiten auf dieselbe DB zugreifen, also Shared Logon usw. Aber wie trenne ich jetzt die Daten der drei Domains. Ich rall das nicht.
Ganz einfach. Man kann verschiedene Präfixe für Tabellen vergeben. Also musst Du pro Installation einen entsprechenden Präfix vergeben.
In der settings.php kannst Du einstellen, welche Tabellen von alle Installationen verwendet werden sollen (bei Dir auf jeden Fall {users} und die {access}-Tabellen).
Noch ein paar Links dazu:
hth,
Stefan
Zitat: Desweiteren verstehe
am 01.10.2008 - 09:32 Uhr
Desweiteren verstehe ich immer noch nicht wie Drupal die Inhalte auseinanderhält, denn ich trenne mit den Verzeichnissen doch nur das Design.
Hallo,
wie kommst Du eigentlich darauf. Eigentlich brauchst Du nur einen Ordner im Verzeichnis /sites erstellen und ihn genau so nennen wie die entsprechende Domain, in diesen Ordner eine originale settings.php reinkopieren. Dann rufst Du im Browser die Domain auf. Drupal fürt dann eine normale Installation aus. Du kannst die gleiche DB benutzen, allerdings einen anderen Tabellen- Präfix.
Gruß LosBluLos
Äh. Wir reden aneinander
am 01.10.2008 - 10:14 Uhr
Äh. Wir reden aneinander vorbei, stelle ich gerade fest. Nö das Wort DB war der Grund.
Mir geht es nicht um die Datebank, sondern die Tabellen. Ich will auf gar keinen Fall für jeden Blog eigenen Content in Form von je x Tabellen.
Hat einer von euch schon einmal Typolight installiert. Hier gibt es die sog. Seitenstruktur. Da ist es super umgesetzt.
In der Seitenstruktur legt man so eine Art Seite an und gibt den Grund der Seite an. Da gibt es zum Beispiel Content, Weiterleitung aber eben auch Domain.
Hier legt man praktisch für jeden Blog solch eine Seite (Seitenstruktur) an. Typoligt erkennt automatisch den Aufruf der Domain (das geht auch mit Sprachen so) und zeigt dem User nach Vorgaben nur genau die Seitenstruktur und allen-Content darunter an.
TL hat leider 2 für mich derzeit nicht tragbare Zustände, sonst würde ich leider mein Wordpress verlassen müssen.
In allen CMS-Systemen ist es ein riesen Manko dieses Thema.
Ich möchte, dass ein User einer meiner drei Domains aufruft, die alle auf eine Kiste laufen. Je nachdem welche Domain er aufgerufen hat wird ihm aber auch nur entsprechend der Content angezeigt. Egal wo er sich auf einer der meiner Domains einloggt, es geht halt immer weil Shared Sign-On/Shared Logon.
Dies hier s habe ich noch
am 01.10.2008 - 10:38 Uhr
Dies hier
http://www.practicalweb.co.uk/blog/08/08/07/drupal-multisite-shared-table
habe ich noch nicht ganz verstanden.
Was soll ich dort als _shared angeben. Und was genau bewirkt dieses Array. Der Präfix meiner Tabellen lautet wp_
Ich stelle mich sonst eigentlich weniger doof an, aber aktuell...
multisite
am 01.10.2008 - 11:10 Uhr
...Was soll ich dort als _shared angeben. Und was genau bewirkt dieses Array. Der Präfix meiner Tabellen lautet wp_
"_shared" ist der Präfix für die Tabellen, die Du in allen Installationen (Deiner multisite-Umgebung) verwenden willst (also die gemeinsame Datenbasis). Das muss natürlich nicht "_shared" heissen, sondern kann auch "_wp" sein.
This allows you to have several related sites which might (for example) share user tables so that users have single sign on, while having different tables for content.
Genau das, was Du haben möchtest :-)
Stefan
stBorchert
am 01.10.2008 - 14:16 Uhr
...Was soll ich dort als _shared angeben. Und was genau bewirkt dieses Array. Der Präfix meiner Tabellen lautet wp_
"_shared" ist der Präfix für die Tabellen, die Du in allen Installationen (Deiner multisite-Umgebung) verwenden willst (also die gemeinsame Datenbasis). Das muss natürlich nicht "_shared" heissen, sondern kann auch "_wp" sein.
This allows you to have several related sites which might (for example) share user tables so that users have single sign on, while having different tables for content.
Genau das, was Du haben möchtest :-)
Stefan
Stefan,
ich denke so langsam gehts Licht an. Ich fasse das alles nochmal zusammen, was ich jetzt gemacht habe. Auch für die Leute, die an dem Tag genau so verdunkelt sind, wie ich heute
1. Bei mir ist
/www
mein Root-Verzeichnis.2. Ich habe die Drupal-Daten auf
/www/cms
geschoben und dann unterwww.domain.de/cms/install.php
die Installation gestartet. Bei der MySQL-Installation habe ich als Präfixblog_
angegeben.3. Ich gehe per PHPMyAdmin auf die Datenbank und ändere die User-Tabelle und die Rollen-Tabelle namentlich ab:
rename table blog_users to all_users;
rename table blog_sessions to all_sessions;
rename table blog_role to all_role;
rename table blog_authmap to all_authmap;
rename table blog_sequences to all_sequences;
4. Ich rufe meine Seite auf
www.domain.de/cms
und bekomme ganz viele Fehlermeldungen. Ist aber logisch, da ich 5 Tabellen umbenannt habe.5. Ich rufe die Datei
/www/cms/sites/default/settings.php
aufAnstelle von
$db_prefix = 'blog_';
kopiere ich
$db_prefix = array(
'default' => 'blog_',
'users' => 'all_',
'sessions' => 'all_',
'role' => 'all_',
'authmap' => 'all_',
'sequences' => 'all_',
);
hinein.
Ich speichere die Datei ab und spiele diese zurück.
6. Ich rufe wieder www.domain.de/cms auf und jetzt wird mir das CMS - also hier mein Blog - sauber angezeigt. Ohne Fehlermeldungen.
7. Ich lege den Admin-Account an
8. Ich erzeuge eine Sub-Domain
test.domain.de
und richte diese so ein, dass diese auf/www/cms
zeigt9. Nun erstelle ich das Verzeichnis
/www/cms/sites/test.domain.de
10. Nun erstelle ich das Verzeichnis
/www/cms/sites/test.domain.de/files
11. Nun schieb ich eine Default settings.php nach
/www/cms/sites/test.domain.de/
12. Ich rufe
test.domain.de
auf und absolut richtig. Jetzt kommt eine Installation, da die Settings.php ja jungfreulich ist. Bei der Datenbank gebe ich als Präfixtest_
an13. Ich rufe die Datei
/www/cms/sites/test.domain.de/settings.php
aufAnstelle von
$db_prefix = 'blog_';
kopiere ich
$db_prefix = array(
'default' => 'test_',
'users' => 'all_',
'sessions' => 'all_',
'role' => 'all_',
'authmap' => 'all_',
'sequences' => 'all_',
);
hinein.
Ich speichere die Datei ab und spiele diese zurück.
14. Ich rufe
test.domain.de
auf und logge mich mit dem Admin-Account ein, den ich ja schon für die andere Seite angelegt habe. Klappt.15. Ich gehe in die Verwaltung und ändere auf irgendein anderes Theme.
16. Ich gehe auf
www.domain.de/cms
und hier ist alles noch so, wie gehabt. Ich logge mich hier aus, was keinen Einfluß auftest.domain.de
. Hier bin ich noch eingeloggt.Scheint doch alles super zu funktionieren.
Doch irgendwie kam dann auf einmal die Meldung
Zugriff verweigert
Sie haben keine Zugriffsberechtigung für diese Seite.
Konnte mich aber unter beiden Portalen wieder einloggen.
A. Der Files-Pfad muss jetzt im Dateisystem auf
sites/default/files
stehen und fürtest.domain.de
aufsites/test.domain.de/files
?B. Da ich Module für alle meine Domains haben möchte, lasse ich den Ordner
sites/all/module
so wie er ist und lege diesen weder indefault
noch intest.doman.de
?C. Wie sieht das aus?... Ich möchte gerne, dass alle Domains mit dem gleichen Theme arbeiten. SOmit könnte ich es unter
sites/default/themes
belassen.Nur dort ist es gar nicht zu finden, sondern es liegt direkt unter
www/cms/
. Wenn ich es dort wegnehme und entsprechend insites/default
packe, dann gibts kein Design mehr. Es muss also im root liegen sowie module. Wenn ich nun möchte, dass jede Domain in einer anderen Farbumgebung, aber mit demselben Theme erscheint, schiebe ich praktisch einmal das Theme zusätzlich in diesem Beispiel insites/default
und einmal insites/test.domain.de
und passe entsprechend in jedem dieser Pfade die CSS an. Richtig?D: Gibt es eine deutsche Erklärung zu allen Tabellen, damit ich mal ein Gefühl dafür bekomme, was da konkret gespeichert wurde. Vielleicht könnte man noch den ein oder anderen Inhalt aus ner Tabelle sharen?
Bis hier hin erst mal super vielen Dank. Ihr habt mir die richtigen Denkanstöße gegeben.
multisite
am 01.10.2008 - 15:00 Uhr
1..16
Scheint doch alles super zu funktionieren.
Fein.
Doch irgendwie kam dann auf einmal die Meldung
Zugriff verweigert
Sie haben keine Zugriffsberechtigung für diese Seite.
Hm, könnte mit dem Cookie zusammenhängen.(?)
A. Der Files-Pfad muss jetzt im Dateisystem auf
sites/default/files
stehen und fürtest.domain.de
aufsites/test.domain.de/files
?Muss nicht, kann aber. Du kannst auch Unterverzeichnisse für die Domains direkt in files machen und dann in den Einstellungen darauf verweisen.
B. Da ich Module für alle meine Domains haben möchte, lasse ich den Ordner
sites/all/module
so wie er ist und lege diesen weder indefault
noch intest.doman.de
?Richtig. Nur Module, die nur für eine Domain verfügbar sein sollen, packst Du nach sites/xxx/modules.
C. Wie sieht das aus?... Ich möchte gerne, dass alle Domains mit dem gleichen Theme arbeiten. SOmit könnte ich es unter
sites/default/themes
belassen.Nur dort ist es gar nicht zu finden, sondern es liegt direkt unter
www/cms/
.Ja, richtig. Die Standard-Themes liegen direkt im Hauptverzeichnis unter themes.
Sofern Du Anpassungen vornehmen willst (z.B. an der template.php oder an der node.tpl.php), solltest Du das Theme sowieso nach sites/xxx/themes kopieren.
Wenn ich es dort wegnehme und entsprechend in
sites/default
packe, dann gibts kein Design mehr.Ja, weil die in der Datenbank (Tabelle {system}) eingetragenen Pfade nicht mehr stimmen.
Es muss also im root liegen sowie module. Wenn ich nun möchte, dass jede Domain in einer anderen Farbumgebung, aber mit demselben Theme erscheint, schiebe ich praktisch einmal das Theme zusätzlich in diesem Beispiel in
sites/default
und einmal insites/test.domain.de
und passe entsprechend in jedem dieser Pfade die CSS an. Richtig?Ja. Das wäre die einfachste Lösung.
D: Gibt es eine deutsche Erklärung zu allen Tabellen, damit ich mal ein Gefühl dafür bekomme, was da konkret gespeichert wurde. Vielleicht könnte man noch den ein oder anderen Inhalt aus ner Tabelle sharen?
Hm, ich kenne keine Erklärung. Vielleicht mal googeln, da kommt bestimmt was.
hth,
Stefan
stBorchert
am 01.10.2008 - 16:15 Uhr
1..16
....
Es muss also im root liegen sowie module. Wenn ich nun möchte, dass jede Domain in einer anderen Farbumgebung, aber mit demselben Theme erscheint, schiebe ich praktisch einmal das Theme zusätzlich in diesem Beispiel in
sites/default
und einmal insites/test.domain.de
und passe entsprechend in jedem dieser Pfade die CSS an. Richtig?Ja. Das wäre die einfachste Lösung.
....
Du machst mich neugierig. Gibts noch ne andere Lösung?
themes pro pfad
am 01.10.2008 - 18:22 Uhr
Du machst mich neugierig. Gibts noch ne andere Lösung?
Mift. Ich wusste, dass diese Frage kommt :-}.
Naja, es gibt auch die Möglichkeit, für verschiedene Pfade verschiedene CSS-Dateien zu nutzen:
Das könnte man dann auch so verändern, dass das nicht nur für den Pfad *nach* der Domain gilt, sondern für den gesamten URL. Bedingung ist dann jedoch ein Basis-Theme für alle Installationen.
Da finde ich persönlich die "Ein-Theme-Pro-SubSeite" aber eleganter und einfacher...
Stefan
Muss ich eigentlich auf
am 02.10.2008 - 15:52 Uhr
Muss ich eigentlich auf meine alten Tage noch diesen ganzen Smilies drauf haben ;)
Danke dir für die Tipps.
Nachträglich??
am 29.10.2008 - 10:09 Uhr
Hallo @ all,
diese lösung finde ich sehr gut.
Danke auch noch für die gute erklärung...
Jetzt meine Frage wie auch in der Überschrift gibt es eine Möglichkeit Multis nächträglich anzulegen?
Mein Problem ist das die Seite bei der dieses zum Einsatz kommen soll schon Online ist und auch nicht die möglichkeit besteht sie wieder abzuschalten.
Und noch eien Dumme Frage auch wenn sie hier nicht 100% reinpast.
Wie kann ich ein Backup anlegen sodas ich Einstellungen und Inhalte nicht verliere?
Alternativ würde ich mal in
am 29.10.2008 - 10:26 Uhr
Alternativ würde ich mal in http://drupal.org/project/domain reinschauen. Vor allem, wenn man D6 einsetzt.