SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Multisite Setup
    mit Nutzung von Subversion




Drupal Voice Chat 21.10.2008
    mcgo@drupalist.de
Voraussetzungen
   Server (dediziert oder virtuell)
   Zugriff auf Terminal (z.B. per ssh)
   Webserver / Datenbankserver für Drupal
   ISP Software (z.B. ISPConfig)
   In diesem Tutorial wird ein Linux Server mit
    Apache2, PHP5, MySQL 5 verwendet




        Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Grundsätzliches - Webserver
   Webserver bekommt Anfrage „GET http://
    example.com“
   Apache schaut in die Konfiguration: Gibt es
    einen Host mit dem Namen example.com und
    wo liegen die Dateien dazu?
   Anschliessend wird die angeforderte (sonst
    definierte Standard-) Seite, z.B. index.php
    ausgeliefert
   Kurz: GET http://example.com liefert z.B. /var/
    www/foo/index.php

        Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Aufbau bei Nutzung eines ISP Tools
   Ein Vhost pro Domain mit Alias
   Unterverzeichnisse, die neben web auch
    andere Daten speichern (z.B. mails)
                            web26 = Verzeichnis zu einer Domain über ISP Tool angelegt.




                                                                             weitere Domain-eigene Daten



                        web wird durch Aufruf der Domain vom Apache ausgeliefert



       Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Was ist Multisite?
   Multisite meint in dieser Präsentation
    −   Ein Verzeichnis auf dem Webserver für mehrere
        Domains
    −   unterschiedliche Datenbanken für die einzelnen
        Domains
    −   Nutzung einer gemeinsamen Core Installation
    −   Nutzung gemeinsamer Contrib Module
    −   Nutzung individueller Module / Themes
   Präsentation berücksichtigt nicht
    −   Nutzung gemeinsamer Tabellen in einer Datenbank

         Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Warum Multisite?
   Für Drupal als verbreitetes CMS ist das Risiko
    bei der Ausnutzung bekannter
    Sicherheitslücken besonders hoch
    −   dadurch Notwendigkeit zum zeitnahen Update von
        Core und Modulen
   Domains nutzen Contrib Module
                                                            arung i
    − bei gemeinsamer Nutzung => Vermeidung Einsp it bederZe
      Redundanz                                       von ates
                                                          Upd
        Speicherplatz


        eine Codebasis = Update nur an einer Stelle (mit

         Einschränkungen)

         Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Drupal und Multisites - Struktur
                           Ablage unterhalb des Ordners „sites“
                           „sites/all“ und „sites/default“ sind
                            dabei Besonderheiten
                           Jeder Ordner kann Unterordner
                            haben, z.B. modules, themes, files,
                            scripts, ...
                           Gemeinsame Module und Themes
                            werden in sites/all/modules, bzw.
                            themes gespeichert.


    Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Drupal und Multisites - Struktur
                           Je Domain ein Unterordner, z.B.
                            example.com
                           Einstellungen für die DB in jedem
                            Unterordner => settings.php
                           Individuelle Module werden demnach
                            in sites/example.com/modules und
                            themes in sites/example.com/themes
                            gespeichert.
                           ACHTUNG => Modul kann doppelt
                            sowohl im gemeinsamen auch im
                            eigenen Pfad liegen!
    Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Drupal und Multisite - Zwischenstop
   Webserver „findet“ das Verzeichnis mit den
    HTML Dateien, z.B. /var/www
   Darin liegt die einzige Drupalinstallation und im
    Unterordner „sites“ die einzelnen Domains
   Individuelle Datenbankeinstellungen je Domain
    möglich
   Individuelle Module / Themes möglich
   Gemeinsame Module / Themes möglich



        Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Problem: Pfad im Virtual Host
   Verweis auf gemeinsame Installation in Virtual
    Host nicht sinnvoll (Mails?)
   Lösung: Symlinks

   Dadurch laufen alle Anfragen in das
    ursprüngliche Verzeichnis und die web
    Anfragen auf das Verzeichnis mit der Multisite
    Installation. Dort muss dann ein entsprechends
    Unterverzeichnis in sites erstellt werden.


       Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Staging Server mit Subversion
    lokal testen und entwickeln ist besser...




    Drupal Voice Chat 21.10.2008
        mcgo@drupalist.de
Subversion kommt ins Spiel
   Subversion ermöglicht die zentrale und
    gemeinsame Verwaltung von Dateien
   Alle Module und Themes stehen so an
    mehreren Orten zur Verfügung
   Lokal wird ein Update getestet, bzw. ein Fehler
    bereinigt und erst wenn es funktioniert ins
    Echtsystem übernommen.
   Erlaubt dadurch die verteilte Wartung /
    Programmierung, Testserver, „Undo“-Funktion


       Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Aufbau des Subversion Repository
                                    ‣ domains
           enthält                     ‣ domain1.tld
          spezifi die domain-                  ‣ D5                                                           is für jed
                                                                                                                        e
                s
          und M chen Theme                        ‣      themes                                   verzeichn unter-
                                                                                         in Unter           in
                odule      n                      ‣      modules           Je D omain e , da die Module orgehalten und
                                                                                     rsion              mit v
                                              ‣ D6                          Core-Ve en Versionen so
                                                                                     h                 .
                                                  ‣      themes             schiedlic werden können
                                                  ‣      modules             getestet
                                       ‣ domain2.tld
                                              ‣ D5
                                                  ‣ themes
                                                  ‣ modules
                                    ‣ core
     Für je                            ‣ D5
             d
     Verze e Core Ver                         ‣    themes
            ichnis        sion e
    die Ve         .
           rsion Darin die f in               ‣    modules
    und lo        g           ü
   versio  kal ge ültige aktue r       ‣ D6
                  testet        l
          n              Modu le              ‣    themes
                               l-
                                              ‣    modules
                                       ‣ D7
                                              ‣    themes
                                              ‣    modules




       Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Aufbau des Systems
                                                                                                                       SVN
 Browser                                                                                                              Server


               Web-server

               GET www.example.com

               Daten zu www.example.com liegen in /var/www/web4/web


Dateisystem

 Inhalt von /var/www/web4:
                                 Drupal Multisite-Installation
 [...]                                                                                               Aus Subversion System ausgecheckt
                       Inhalt von /var/www/web26/web:
 mail                                                                                                in /var/svn_co/example_com/D6/
 web -> ../web26/web   [...]
 cgi-bin                          Inhalt von /var/www/web26/web/sites:                               [...]
 [...]                 scripts
                       sites                                                                         modules
                       themes     [...]         Inhalt von domain.de                                 themes
                       [...]      all                                                                [...]
                                  domain.de     [...]
                                  default       settings.php
                                  [...]         modules -> /var/svn_co/example.com/D6/modules
                                                themes -> /var/svn_co/example_com/D6/themes
                                                [...]




               Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Zusammenarbeit...
Lokaler PC                                   1 oder mehrere Server im Internet
- können auch mehrere PCs
  sein                                                                                                                         SVN
- Arbeitsteilung im Team                                                                                                      Server
                                                                                                           s   t
- Wer Fehler hochlädt gibt                                                                           ch
                                                                                                        Te
                                                                                                   a
  ne Kiste Bier/Wein/Wasser                                                                  enn
                                                                                         lad
  aus ;-)                                                                            ho
                                                                                       ch
                                                                               ten




                                                                                                                       ten




                                                                                                                                        Upd
                                                                             Da




                                                                                                                      inu
                                                                           >
                                                                      t=




                                                                                                                                           ate
                                                                     i




                                                                                                                   xM
                                                                  mm
                                                             co




                                                                                                                                           man
                                                       rf,




                                                                                                               alle
                                                  e da




                                                                                                                                              uell
                                               iB




                                                                                                          te
                                             be




                                                                                                        da
                                          te




                                                                                                      Up
                                       da
                                  Up




   lokale Entwicklung                                   Testserver im Netz                                                   Produktivsystem




         Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Übersicht SVN / Symlinks
   SVN auf Server in /var/www/svn_co:
      /var/www/svn_co/core/d6/themes
      /var/www/svn_co/core/d6/modules
      /var/www/svn_co/domains/example.com/modules
      /var/www/svn_co/domains/example.com/themes


   Symlinks der gemeinsamen Ressourcen:
      /var/www/web26/web/sites/all/modules -> /var/www/svn_co/core/d6/modules
      /var/www/web26/web/sites/all/themes -> /var/www/svn_co/core/d6/themes


   Symlinks zur Umleitung auf die Multisite
      /var/www/web4/web -> /var/www/web26/web


   Symlinks der spezifischen Ressourcen
      /var/www/web26/web/sites/example.com/modules -> /var/www/svn_co/domains/example.com/modules
      /var/www/web26/web/sites/example.com/themes -> /var/www/svn_co/domains/example.com/themes




          Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Anleitung
     Neue Domain hinzufügen




Drupal Voice Chat 21.10.2008
    mcgo@drupalist.de
Tätigkeiten bei neuer Domain
   Anlage der Verzeichnisse im SVN:
     −   domains/example.com/modules
     −   domains/example.com/themes

   Anlage der Domain im ISPConfig (incl. DB-User)
   Löschen des web-Ordners (z.B. /var/www/web99/web)
   Symlink anlegen
     −   ln -s /var/multisitedrupal/web /var/www/web99/web

   Anlage Ordner im Multisiteverzeichnis
     −   mkdir /var/multisitedrupal/sites/example.com
     −   mkdir /var/multisitedrupal/sites/example.com/files




            Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Tätigkeiten bei neuer Domain
   Symlinks anlegen:
      −     cd /var/multisitedrupal/sites/example.com
      −     ln -s /var/svn_co/domains/example.com/modules modules
      −     ln -s /var/svn_co/domains/example.com/themes themes

   settings.php aus default Verzeichnis kopieren
   Im Browser newdomain.tld aufrufen (Drupalinstallation)
   Einstellungen für Dateisystem ändern sites/newdomain.tld/
    files




               Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Aussichten / Probleme
   Drupal Core wird per CVS verteilt. => Update
    der Core Dateien ebenfalls per SVN
   Update Status => Bei Core Modulen meldet
    sich jede Seite
   Update von Modulen => Trotz zentralen
    Modulen, muss die update.php jeder Seite
    durchlaufen werden, da DB Änderungen immer
    domainspezifisch



       Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
Ideen, Fragen, Anregungen?
sprechen wir drüber... Im DVC am 21.10.2008
http://www.drupalcenter.de/drupalchannel/13574



dann her damit
via http://drupal.org/user/87891 
oder ICQ #95138754 
oder McGo in #drupal.de, #drupal-support, #drupal 
oder mcgo@drupalist.de
oder drupalist via Skype
oder drupalist@jabber.ccc.de
oder http://association.drupal.org/user/1003



          Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008

Weitere ähnliche Inhalte

Andere mochten auch

"Посетители по 1 руб. или платные посты ВКонтакте"
"Посетители по 1 руб. или платные посты ВКонтакте""Посетители по 1 руб. или платные посты ВКонтакте"
"Посетители по 1 руб. или платные посты ВКонтакте"Cybermarketing, Moscow
 
Fluxograma ofício
Fluxograma ofícioFluxograma ofício
Fluxograma ofícioAndrew Rocha
 
Saltando muros en congreso almería ppt - copia
Saltando muros en congreso almería   ppt - copiaSaltando muros en congreso almería   ppt - copia
Saltando muros en congreso almería ppt - copiaEsther Ps Crítica
 
programación orientada a aspectos español
programación orientada a aspectos  españolprogramación orientada a aspectos  español
programación orientada a aspectos españolEl
 
A herschel and_apex_census_of_the_reddest_sources_in_orion_searching_for_the_...
A herschel and_apex_census_of_the_reddest_sources_in_orion_searching_for_the_...A herschel and_apex_census_of_the_reddest_sources_in_orion_searching_for_the_...
A herschel and_apex_census_of_the_reddest_sources_in_orion_searching_for_the_...Sérgio Sacani
 
"Por qué triunfa Ten con Ten". Por Juan Carlos Rodríguez. Fotos de Chema Conesa.
"Por qué triunfa Ten con Ten". Por Juan Carlos Rodríguez. Fotos de Chema Conesa."Por qué triunfa Ten con Ten". Por Juan Carlos Rodríguez. Fotos de Chema Conesa.
"Por qué triunfa Ten con Ten". Por Juan Carlos Rodríguez. Fotos de Chema Conesa.Juan Carlos Rodríguez
 
LA' event - offer for Sevda Ballroom
LA' event - offer for Sevda BallroomLA' event - offer for Sevda Ballroom
LA' event - offer for Sevda BallroomTamerlan İsmayılov
 

Andere mochten auch (13)

"Посетители по 1 руб. или платные посты ВКонтакте"
"Посетители по 1 руб. или платные посты ВКонтакте""Посетители по 1 руб. или платные посты ВКонтакте"
"Посетители по 1 руб. или платные посты ВКонтакте"
 
Fluxograma ofício
Fluxograma ofícioFluxograma ofício
Fluxograma ofício
 
More Perl Basics
More Perl BasicsMore Perl Basics
More Perl Basics
 
مسوق الكترونى
مسوق الكترونىمسوق الكترونى
مسوق الكترونى
 
Presentation of survey results SAI BiH Roundtable on Independence of Supreme ...
Presentation of survey results SAI BiH Roundtable on Independence of Supreme ...Presentation of survey results SAI BiH Roundtable on Independence of Supreme ...
Presentation of survey results SAI BiH Roundtable on Independence of Supreme ...
 
Ty42012
Ty42012Ty42012
Ty42012
 
Saltando muros en congreso almería ppt - copia
Saltando muros en congreso almería   ppt - copiaSaltando muros en congreso almería   ppt - copia
Saltando muros en congreso almería ppt - copia
 
programación orientada a aspectos español
programación orientada a aspectos  españolprogramación orientada a aspectos  español
programación orientada a aspectos español
 
A herschel and_apex_census_of_the_reddest_sources_in_orion_searching_for_the_...
A herschel and_apex_census_of_the_reddest_sources_in_orion_searching_for_the_...A herschel and_apex_census_of_the_reddest_sources_in_orion_searching_for_the_...
A herschel and_apex_census_of_the_reddest_sources_in_orion_searching_for_the_...
 
"Por qué triunfa Ten con Ten". Por Juan Carlos Rodríguez. Fotos de Chema Conesa.
"Por qué triunfa Ten con Ten". Por Juan Carlos Rodríguez. Fotos de Chema Conesa."Por qué triunfa Ten con Ten". Por Juan Carlos Rodríguez. Fotos de Chema Conesa.
"Por qué triunfa Ten con Ten". Por Juan Carlos Rodríguez. Fotos de Chema Conesa.
 
Crema chantilly
Crema chantillyCrema chantilly
Crema chantilly
 
Ontologia
OntologiaOntologia
Ontologia
 
LA' event - offer for Sevda Ballroom
LA' event - offer for Sevda BallroomLA' event - offer for Sevda Ballroom
LA' event - offer for Sevda Ballroom
 

Ähnlich wie Drupal Multisite und Subversion

Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
DDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungDDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungFrank Schmittlein
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinMeine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinDavid Decker
 
Docker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DBDocker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DBPeter Ramm
 
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Joachim Baumann
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der PraxisTobias Kraft
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerStefan Oehrli
 
Oracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-ServiceOracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-Serviceoraclebudb
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenAndreas Ponte
 
Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)Peter_Majmesku
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurtdasjo
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 

Ähnlich wie Drupal Multisite und Subversion (20)

Drupal 7 - Domain-Access
Drupal 7 - Domain-AccessDrupal 7 - Domain-Access
Drupal 7 - Domain-Access
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
DDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale EntwicklungsumgebungDDEV - Eine lokale Entwicklungsumgebung
DDEV - Eine lokale Entwicklungsumgebung
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinMeine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
 
Drupal und twig
Drupal und twigDrupal und twig
Drupal und twig
 
Docker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DBDocker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DB
 
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)
 
MDSD Herausforderung: Entwicklungsmethodik und technisches Umfeld
MDSD Herausforderung: Entwicklungsmethodik und technisches UmfeldMDSD Herausforderung: Entwicklungsmethodik und technisches Umfeld
MDSD Herausforderung: Entwicklungsmethodik und technisches Umfeld
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und Docker
 
Oracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-ServiceOracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-Service
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
 
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
 
Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
Backbase Intro
Backbase IntroBackbase Intro
Backbase Intro
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurt
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
FLOW3-Workshop F3X12
FLOW3-Workshop F3X12FLOW3-Workshop F3X12
FLOW3-Workshop F3X12
 

Drupal Multisite und Subversion

  • 1. Multisite Setup mit Nutzung von Subversion Drupal Voice Chat 21.10.2008 mcgo@drupalist.de
  • 2. Voraussetzungen  Server (dediziert oder virtuell)  Zugriff auf Terminal (z.B. per ssh)  Webserver / Datenbankserver für Drupal  ISP Software (z.B. ISPConfig)  In diesem Tutorial wird ein Linux Server mit Apache2, PHP5, MySQL 5 verwendet Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 3. Grundsätzliches - Webserver  Webserver bekommt Anfrage „GET http:// example.com“  Apache schaut in die Konfiguration: Gibt es einen Host mit dem Namen example.com und wo liegen die Dateien dazu?  Anschliessend wird die angeforderte (sonst definierte Standard-) Seite, z.B. index.php ausgeliefert  Kurz: GET http://example.com liefert z.B. /var/ www/foo/index.php Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 4. Aufbau bei Nutzung eines ISP Tools  Ein Vhost pro Domain mit Alias  Unterverzeichnisse, die neben web auch andere Daten speichern (z.B. mails)  web26 = Verzeichnis zu einer Domain über ISP Tool angelegt. weitere Domain-eigene Daten web wird durch Aufruf der Domain vom Apache ausgeliefert Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 5. Was ist Multisite?  Multisite meint in dieser Präsentation − Ein Verzeichnis auf dem Webserver für mehrere Domains − unterschiedliche Datenbanken für die einzelnen Domains − Nutzung einer gemeinsamen Core Installation − Nutzung gemeinsamer Contrib Module − Nutzung individueller Module / Themes  Präsentation berücksichtigt nicht − Nutzung gemeinsamer Tabellen in einer Datenbank Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 6. Warum Multisite?  Für Drupal als verbreitetes CMS ist das Risiko bei der Ausnutzung bekannter Sicherheitslücken besonders hoch − dadurch Notwendigkeit zum zeitnahen Update von Core und Modulen  Domains nutzen Contrib Module arung i − bei gemeinsamer Nutzung => Vermeidung Einsp it bederZe Redundanz von ates Upd  Speicherplatz  eine Codebasis = Update nur an einer Stelle (mit Einschränkungen) Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 7. Drupal und Multisites - Struktur  Ablage unterhalb des Ordners „sites“  „sites/all“ und „sites/default“ sind dabei Besonderheiten  Jeder Ordner kann Unterordner haben, z.B. modules, themes, files, scripts, ...  Gemeinsame Module und Themes werden in sites/all/modules, bzw. themes gespeichert. Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 8. Drupal und Multisites - Struktur  Je Domain ein Unterordner, z.B. example.com  Einstellungen für die DB in jedem Unterordner => settings.php  Individuelle Module werden demnach in sites/example.com/modules und themes in sites/example.com/themes gespeichert.  ACHTUNG => Modul kann doppelt sowohl im gemeinsamen auch im eigenen Pfad liegen! Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 9. Drupal und Multisite - Zwischenstop  Webserver „findet“ das Verzeichnis mit den HTML Dateien, z.B. /var/www  Darin liegt die einzige Drupalinstallation und im Unterordner „sites“ die einzelnen Domains  Individuelle Datenbankeinstellungen je Domain möglich  Individuelle Module / Themes möglich  Gemeinsame Module / Themes möglich Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 10. Problem: Pfad im Virtual Host  Verweis auf gemeinsame Installation in Virtual Host nicht sinnvoll (Mails?)  Lösung: Symlinks  Dadurch laufen alle Anfragen in das ursprüngliche Verzeichnis und die web Anfragen auf das Verzeichnis mit der Multisite Installation. Dort muss dann ein entsprechends Unterverzeichnis in sites erstellt werden. Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 11. Staging Server mit Subversion lokal testen und entwickeln ist besser... Drupal Voice Chat 21.10.2008 mcgo@drupalist.de
  • 12. Subversion kommt ins Spiel  Subversion ermöglicht die zentrale und gemeinsame Verwaltung von Dateien  Alle Module und Themes stehen so an mehreren Orten zur Verfügung  Lokal wird ein Update getestet, bzw. ein Fehler bereinigt und erst wenn es funktioniert ins Echtsystem übernommen.  Erlaubt dadurch die verteilte Wartung / Programmierung, Testserver, „Undo“-Funktion Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 13. Aufbau des Subversion Repository ‣ domains enthält ‣ domain1.tld spezifi die domain- ‣ D5 is für jed e s und M chen Theme ‣ themes verzeichn unter- in Unter in odule n ‣ modules Je D omain e , da die Module orgehalten und rsion mit v ‣ D6 Core-Ve en Versionen so h . ‣ themes schiedlic werden können ‣ modules getestet ‣ domain2.tld ‣ D5 ‣ themes ‣ modules ‣ core Für je ‣ D5 d Verze e Core Ver ‣ themes ichnis sion e die Ve . rsion Darin die f in ‣ modules und lo g ü versio kal ge ültige aktue r ‣ D6 testet l n Modu le ‣ themes l- ‣ modules ‣ D7 ‣ themes ‣ modules Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 14. Aufbau des Systems SVN Browser Server Web-server GET www.example.com Daten zu www.example.com liegen in /var/www/web4/web Dateisystem Inhalt von /var/www/web4: Drupal Multisite-Installation [...] Aus Subversion System ausgecheckt Inhalt von /var/www/web26/web: mail in /var/svn_co/example_com/D6/ web -> ../web26/web [...] cgi-bin Inhalt von /var/www/web26/web/sites: [...] [...] scripts sites modules themes [...] Inhalt von domain.de themes [...] all [...] domain.de [...] default settings.php [...] modules -> /var/svn_co/example.com/D6/modules themes -> /var/svn_co/example_com/D6/themes [...] Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 15. Zusammenarbeit... Lokaler PC 1 oder mehrere Server im Internet - können auch mehrere PCs sein SVN - Arbeitsteilung im Team Server s t - Wer Fehler hochlädt gibt ch Te a ne Kiste Bier/Wein/Wasser enn lad aus ;-) ho ch ten ten Upd Da inu > t= ate i xM mm co man rf, alle e da uell iB te be da te Up da Up lokale Entwicklung Testserver im Netz Produktivsystem Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 16. Übersicht SVN / Symlinks  SVN auf Server in /var/www/svn_co: /var/www/svn_co/core/d6/themes /var/www/svn_co/core/d6/modules /var/www/svn_co/domains/example.com/modules /var/www/svn_co/domains/example.com/themes  Symlinks der gemeinsamen Ressourcen: /var/www/web26/web/sites/all/modules -> /var/www/svn_co/core/d6/modules /var/www/web26/web/sites/all/themes -> /var/www/svn_co/core/d6/themes  Symlinks zur Umleitung auf die Multisite /var/www/web4/web -> /var/www/web26/web  Symlinks der spezifischen Ressourcen /var/www/web26/web/sites/example.com/modules -> /var/www/svn_co/domains/example.com/modules /var/www/web26/web/sites/example.com/themes -> /var/www/svn_co/domains/example.com/themes Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 17. Anleitung Neue Domain hinzufügen Drupal Voice Chat 21.10.2008 mcgo@drupalist.de
  • 18. Tätigkeiten bei neuer Domain  Anlage der Verzeichnisse im SVN: − domains/example.com/modules − domains/example.com/themes  Anlage der Domain im ISPConfig (incl. DB-User)  Löschen des web-Ordners (z.B. /var/www/web99/web)  Symlink anlegen − ln -s /var/multisitedrupal/web /var/www/web99/web  Anlage Ordner im Multisiteverzeichnis − mkdir /var/multisitedrupal/sites/example.com − mkdir /var/multisitedrupal/sites/example.com/files Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 19. Tätigkeiten bei neuer Domain  Symlinks anlegen: − cd /var/multisitedrupal/sites/example.com − ln -s /var/svn_co/domains/example.com/modules modules − ln -s /var/svn_co/domains/example.com/themes themes  settings.php aus default Verzeichnis kopieren  Im Browser newdomain.tld aufrufen (Drupalinstallation)  Einstellungen für Dateisystem ändern sites/newdomain.tld/ files Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 20. Aussichten / Probleme  Drupal Core wird per CVS verteilt. => Update der Core Dateien ebenfalls per SVN  Update Status => Bei Core Modulen meldet sich jede Seite  Update von Modulen => Trotz zentralen Modulen, muss die update.php jeder Seite durchlaufen werden, da DB Änderungen immer domainspezifisch Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008
  • 21. Ideen, Fragen, Anregungen? sprechen wir drüber... Im DVC am 21.10.2008 http://www.drupalcenter.de/drupalchannel/13574 dann her damit via http://drupal.org/user/87891  oder ICQ #95138754  oder McGo in #drupal.de, #drupal-support, #drupal  oder mcgo@drupalist.de oder drupalist via Skype oder drupalist@jabber.ccc.de oder http://association.drupal.org/user/1003 Drupal Multisite Setup | Mit Nutzung von Subversion | mcgo@drupalist.de | Drupal Voice Chat | 21.10.2008