[gelöst] mehrer Drupal Installationen auf einem Server (Domains / Subdomains)
am 02.01.2009 - 17:01 Uhr in
Hallo zusammen,
als erstes wünsche ich euch ein frohes neues Jahr !!!
Ich bin ziemlich neu in Sachen Drupal unterwegs und habe folgendes Problem, bei dem Ihr mir sicherlich helfen könnt. Habe schon viel im Forum gesucht, aber keine Lösung gefunden, die ich Verstehe ;-)). Wird mit sicherheit auch nicht meine einzige Frage sein GRINS*.
Ich möchte auf meinem privaten Server (unterm Schreibtisch), welcher über eine feste öffentliche IP Adresse verfügt mehre Drupal Seiten veröffentlichen.
Der Server läuft unter UBUNTU Server 8.10.
Unter „/var/www“ habe ich wie folgt für jede Seite ein Unterverzeichnis angelegt:
/var/www
/var/www/seite1 (für www.domain1.de)
/var/www/seite2 (für www.domain2.de)
/var/www/seite3 (für www.domain3.de /.com/.net/.org/.info)
/var/www/seite3 -subdomain (für subdomain.domain3.de /.com/.net/.org/.info, www.subdomain.domain3.de /.com/.net/.org/.info)
Unter „/var/www“ existiert nur eine „index.htm“, die ausgibt, das kein Inhalt gefunden wurde wenn man den Server nur mit seiner öffentlichen IP anspricht, oder der Browser kein http/1.1 unterstützt.
In die einzelnen Verzeichnisse habe ich Drupal hineinkopiert, um es von dort zu starten und zu Installieren. Heiß, jede Seite hat eine dedizierte Drupal Installation (und eine eigenen MYSQL Datenbank).
Habe dann verschiedenen vhosts unter Ubuntu eingerichtet.
Was ich jedoch machen musste, war im default vhost unter „“ AllowOverride auf „All“ setzen, da ich sonst nicht über http:///seite1 (seite2, seite3 oder seite3-subdomain) auf die Installation zugreifen konnte. Denn die DNS Einträge wurden noch nicht gemacht oder waren noch nicht überall verteilt worden. Anbei meine vhost Dateien.
„default“
NameVirtualHost *
ServerAdmin webmaster@localhost
ServerName <öffentliche IP-Adresse meines Servers>
DocumentRoot /var/www/
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride All
# AuthConfig
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
„seite 1”
ServerAdmin webmaster@seite1.de
ServerName www.seite1.de
DocumentRoot /var/www/seite1/
Options FollowSymLinks
AllowOverride All
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
„seite 2”
ServerAdmin webmaster@seite2.de
ServerName www.seite2.de
DocumentRoot /var/www/seite2/
Options FollowSymLinks
AllowOverride All
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
“seite3”
ServerAdmin webmaster@seite3.de
ServerName www.seite3.de
ServerAlias www.seite3.com www.seite3.net www.seite3.org www.seite3.info
DocumentRoot /var/www/seite3/
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
“seite3-subdomain”
ServerAdmin webmaster@seite3.de
ServerName subdomain.seite3.de
ServerAlias subdomain.seite3.com subdomain.seite3.net subdomain.seite3.org subdomain.seite3.info www.subdomain.seite3.de www.subdomain.seite3.com www.subdomain.seite3.net www.subdomain.seite3.org www.subdomain.seite3.info
DocumentRoot /var/www/seite3-subdomain/
Options FollowSymLinks
AllowOverride All
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
Danach habe ich Drupal’s für die einzelnen Seiten mittel Aufruf :
„ http://IP-Adresse vom Server/seite1“
„ http://IP-Adresse vom Server/seite2“
„ http://IP-Adresse vom Server/seite3“
„ http://IP-Adresse vom Server/seite3 -subdomain)”
Installiert
Die Installationen sind ohne Probleme durchgelaufen.
Alle Seiten lassen sich aufrufen. Sowohl über den Weg mit der IP-Adresse und dem Unterverzeichnis, als auch über die Domainnamen (www.seite1.de, www.seite2.de , www.seite3.de (.com/.net/.org/.info), subdomain.seite3.de (.com/.net/.org/.info) wie auch www.subdomain.seite2.de (.com/.net/.org/.info).
Bei seite1, seite2 und seite3 funktioniert auch das anmelden, sowohl über den Weg mit der IP-Adresse wie auch mit www….
Was jedoch nicht funktioniert ist eine Anmeldung bei seite3-subdomain über subdomain.seite3.de (com/.net/.org/.info) oder auch www.subdomain.seite3.de (com. /.net/.org/.info).
Hier bekomme ich immer den Fehler : „404 Not Found
The requested URL /node was not found on this server.”
Wodran könnte das liegen? Ich weiß nicht mehr weiter.
Über http://IP-Adresse vom Server/seite3 -subdomain)” kann ich mich einloggen und alles funktioniert (ist ja überall nur die Installation drauf, mehr nicht ;-)).
Vielen herzlichen Dank im voraus für eure Unterstützung und Hilfe !!!
Lieben Gruß
Thomas
- Anmelden oder Registrieren um Kommentare zu schreiben
Multisite-Installation mit Drupal
am 02.01.2009 - 22:46 Uhr
Hallo Thomas,
das hört sich reichlich kompliziert an. Drupal bietet selber die Möglichkeit einer Multisite-Installation. Dabei brauchst du nur eine gemeinsame Codebasis zu installieren und zu pflegen, kannst damit aber beliebig viele Websites betreiben, die völlig unabhängig voneinander sein können (separates Design, getrennte Datenbanken, unterschiedliche Module etc.). Wie man das einrichtet steht u.a. hier: http://www.drupalcenter.de/handbuch/6083 .
Das würde ich dir als das bessere Vorgehen empfehlen.
Gruß
Frank
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
mehrer Drupal Installationen auf einem Server...
am 04.01.2009 - 13:26 Uhr
Hallo Frank,
danke für Deine schnelle Antwort.
Ja, das habe ich auch des Öfteren hier gelesen.
Jedoch möchte ich gerne für jede Seite eine eigene Drupal Installation.
Hintergrund ist, das eine der Seiten eine Testumgebung ist und wenn ich mich da mal verspielt habe, brauche ich nur das Verzeichnis löschen und eine neue Drupal Installation machen (Datenbank natürlich auch löschen und neu anlegen).
So habe ich wieder ein sauberes Standard Drupal Installation für die Seite, ohne das das eventuell Auswirkungen auf andere Seiten haben könnte. Weiter kann und sollen so nur Module Installiert werden die für die eine Seite auch benötigt werden. Ein weiterer Grund ist, wenn eine Seite zu viel Traffic verursacht kann ich Sie einfach in die Firma auf einem Server direkt am Backbone auslagern, da ich sie wie eine einzelne Installation betrachte.
Die Installation dieser Umgebung war nicht schwer und finde ich eigentlich auch nicht so Kompliziert. Klappt ja alles, bis auf die eine Umgebung, mit der Subdomain.
Hab ich wahrscheinlich nur so kompliziert geschrieben ;-))
Lieben Gruß
Thomas
PS. hoffe, das jemand meinen Fehler erkennt und ihn mir mitteilt ;-))
Base URL in settings.php
am 05.01.2009 - 09:02 Uhr
Hallo Thomas,
all deine Wünsche lassen sich auch mit einer Drupal-Multisite-Installation erfüllen. Ich würde mir das auf jeden Fall mal genauer anschauen.
Für die einzelnen Sites legt man dabei in ihrer zuständigen settings.php die Basis-URL fest, damit Drupal weiß, welche (Sub-) Domain gemeint ist. Das könnte auch die Lösung für deine Installation sein, denn de facto hast du mit deiner Subdomain auf deinem Server 3 bereits eine Multisite-Installation, da du unter verschieden Domainnamen auf den Server zugreifen willst:
/**
* Base URL (optional).
*
* If you are experiencing issues with different site domains,
* uncomment the Base URL statement below (remove the leading hash sign)
* and fill in the URL to your Drupal installation.
*
* You might also want to force users to use a given domain.
* See the .htaccess file for more information.
*
* Examples:
* $base_url = 'http://www.example.com';
* $base_url = 'http://www.example.com:8888';
* $base_url = 'http://www.example.com/drupal';
* $base_url = 'https://www.example.com:8888/drupal';
*
Gruß
Frank
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
mehrer Drupal Installationen auf einem Server... ...
am 05.01.2009 - 20:15 Uhr
Hallo Frank,
Danke für Deine Antwort.
Habe es mit dem „Base URL" in "settings.php“ probiert. Hiermit hatte ich keinen Erfolg.
Aber durch Deine Anregung und dem Tipp mit den URLs, bin ich noch einmal alle „vhost“ Dateien durchgegangen,
und siehe da … man muss richtig lesen und nicht einfach Copy&Paste machen.
Der Fehler war, das „AllowOverride All“ nur für „Directory /“ in der „vhost“ für die Subdomain stand.
Die anderen (Directory /var/www/…; ScriptAlias; Alias) standen auf „AllowOverride None“.
Also nicht wie ober in der Frage angegeben. Alle auf „All“ gesetzt und es hat funktioniert.
Lieben Dank
Gruß
Thomas
Frank Ralf schrieb Hallo
am 06.01.2009 - 17:43 Uhr
Hallo Thomas,
das hört sich reichlich kompliziert an. Drupal bietet selber die Möglichkeit einer Multisite-Installation. Dabei brauchst du nur eine gemeinsame Codebasis zu installieren und zu pflegen, kannst damit aber beliebig viele Websites betreiben, die völlig unabhängig voneinander sein können (separates Design, getrennte Datenbanken, unterschiedliche Module etc.). Wie man das einrichtet steht u.a. hier: http://www.drupalcenter.de/handbuch/6083 .
Das würde ich dir als das bessere Vorgehen empfehlen.
Gruß
Frank
Hi !
Bin auch sehr an einer Multisite interessiert!!! gilt der Link auch für Drupal 6 ?
gibt es abweichungen ? wenn ja welche ? hab absolut keine erfahrung mit Multisite, aber wer hatte die schon am anfang ;)
mfg chris
mfg
chris
Multisite-Installation
am 06.01.2009 - 20:31 Uhr
Hallo chris,
Multisite-Installation ist ziemlich einfach und klappt gut. Ich hab' am Anfang nicht geglaubt, dass es so leicht funktioniert. Normalerweise brauchst du dich mit dem Server (.htaccess-Dateien etc.) überhaupt nicht rumzuschlagen. Sehr gut beschrieben ist das Vorgehen unter http://www.drupalcenter.de/handbuch/6083.
Und bei Problemen vielleicht auch hier nochmal gucken: http://www.drupalcenter.de/handbuch/14733.
Viel Erfolg!
Frank
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
cool danke! ich schau mir
am 06.01.2009 - 21:06 Uhr
cool danke! ich schau mir deine links gerne an :)
mfg
chris