SlideShare a Scribd company logo
The CivicActions Drupal Directory Structure Gregory Heller (@gregoryheller on twitter) CivicActions.com Seattle Drupal User Group (#seadug) May 2009
Default Drupal Setup If you download and unzip drupal, usually you will put it in public_html: /public_html/ ( drupal core live here) /public_html/sites /public_html/sites/all/modules /public_html/sites/default
Default Drupal: Pros/Cons ,[object Object],[object Object],[object Object],[object Object],[object Object]
CivicActions Directory Structure We run 3 versions of each site: dev, qa, live.  All run off the same version of core. Active development takes place on dev (new modules, theme changes first tested there). SVN Tags gets cut and moved to QA for more testing. The tag then is released to Live.
CivicActions Directory Structure You don't need to run your setup like this, or use SVN to reap the benefits of the CivicActions Directory Structure.
CivicActions Directory Structure What are the benefits? No need to backup drupal core, you can always download it again. Back up all your sites directories easily and at one No need to move your sites directory for every core upgrade. Possible to run multiple versions of core for different sites off the “same” multi site.
CivicActions Directory Structure Limitations and Drawbacks: Some hosting companies don't let you access anything outside of your web root. Get a new hosting company. Some webhosts have limitations on the number (depth) of symlinks ( symlink1  =>  sym2  =>real_file doesn't work). You can modify the structure a bit while still reaping the benefits.
CivicActions Directory Structure These are all real directories (at the same level): /public_html/ /drupal/nobackup/ /drupal/nobackup/6.11 /sites/ /sites/all /sites/example.com
CivicActions SymLinks Symlinks (short for “symbolic links”) are your friend. They're like “shortcuts”. Create them with the following command: $ ln -s target/directory symlink See where they point with:  $ ls -la where “target/directory” is the directory or file you want to link to, and “symlink” is the link
CivicActions SymLinks Structure /public_html/ example.com  => ../drupal/nobackup/ 6 this symlink sends apache requests from your public_html directory to drupal/nobackup/6 /drupal/nobackup/ 6  => 6.11  (/drupal/nobackup.6.11) this symlink sends requests from “6” to “6.10” allowing you to easily switch to a new version of drupal core /drupal/nobackup/6.11/ sites  => ../../../sites this symlink points to a sites directory outside of drupal core, which means you don't have to move the “sites” directory each time you upgrade core, and also makes it easier to backup sites (your contrib modules and files)
What does your Sites Directory Look Like? This is no different from a “standard” multisite setup. Drupal “knows” which site to serve up based on the apache referral. All sites can access the modules and themes in the /sites/all directory. Notice there is no “default” directory! /sites/all /sites/all/modules/contrib /sites/all/modules/custom /sites/example.com /sites/example.com/modules/contrib /sites/example-two.com /sites/example-two.com/modules/contrib
Advanced Tricks: Staging Sites Sometimes you will have a staging site like drupal.example.com because your client is not ready to launch. In your sites directory you can symlink  drupal.example.com  => example.com When the time comes to launch the site, all you need to do is point the final domain at your drupal core install (which means, at the symlink in public_html that points to drupal/nobackup/ 6 )
Recap apache request for example.com goes to  public_html/ example.com  which symlinks to  ../drupal/nobackup/ 6  which symlinks to  drupal/nobackup/6.11 Drupal looks in  / sites   which symlinks to  ../../../sites  for example.com and finds it, and  settings.php  which points to the right database, and all the modules and themes live in that directory ( /sites/example.com  or  /sites/all ).

More Related Content

What's hot

Introduction to Drupal 7 - Performance optimization
Introduction to Drupal 7 - Performance optimizationIntroduction to Drupal 7 - Performance optimization
Introduction to Drupal 7 - Performance optimization
Kalin Chernev
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
Matthew Turland
 
Drupal
DrupalDrupal
Drupal
jslemahieu
 
Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)
Pure Sign
 
Difference Between Drupal 6 vs drupal 7
Difference Between Drupal 6 vs drupal 7 Difference Between Drupal 6 vs drupal 7
Difference Between Drupal 6 vs drupal 7
Dhinakaran Mani
 
Drupal 6 to 7 migration guide
Drupal 6 to 7 migration guideDrupal 6 to 7 migration guide
Drupal 6 to 7 migration guide
Ebizon
 
Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7
Phase2
 
Drupal Distributions
Drupal DistributionsDrupal Distributions
Drupal Distributions
Anne Stefanyk
 
The Foundations of Being Sassy in Drupal
The Foundations of Being Sassy in DrupalThe Foundations of Being Sassy in Drupal
The Foundations of Being Sassy in Drupal
Ellie Roepken
 
How to Create a Drupal 8 Theme Using Bootstrap
How to Create a Drupal 8 Theme Using Bootstrap How to Create a Drupal 8 Theme Using Bootstrap
How to Create a Drupal 8 Theme Using Bootstrap
Acquia
 
Drupal Step-by-Step: How We Built Our Training Site, Part 2
Drupal Step-by-Step: How We Built Our Training Site, Part 2Drupal Step-by-Step: How We Built Our Training Site, Part 2
Drupal Step-by-Step: How We Built Our Training Site, Part 2
Acquia
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
mayank.grd
 
Bootstrap base theme for Drupal 7
Bootstrap base theme for Drupal 7Bootstrap base theme for Drupal 7
Bootstrap base theme for Drupal 7
Cedric Spillebeen
 
Drupal 7 Search Engine Optimisation
Drupal 7 Search Engine OptimisationDrupal 7 Search Engine Optimisation
Drupal 7 Search Engine Optimisation
Peter Macinkovic
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHP
hernanibf
 
Using Foundation with Drupal
Using Foundation with DrupalUsing Foundation with Drupal
Using Foundation with Drupal
Exove
 
An Introduction to Drupal
An Introduction to DrupalAn Introduction to Drupal
An Introduction to Drupal
Tobias Ratschiller
 
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
DrupalCamp Kyiv
 
Drupalcampatl d7
Drupalcampatl d7Drupalcampatl d7
Drupalcampatl d7
Mediacurrent
 
Put a little Backbone in your WordPress vs. 3
Put a little Backbone in your WordPress vs. 3Put a little Backbone in your WordPress vs. 3
Put a little Backbone in your WordPress vs. 3
adamsilverstein
 

What's hot (20)

Introduction to Drupal 7 - Performance optimization
Introduction to Drupal 7 - Performance optimizationIntroduction to Drupal 7 - Performance optimization
Introduction to Drupal 7 - Performance optimization
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
 
Drupal
DrupalDrupal
Drupal
 
Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)Media handling in Drupal (Drupalcamp Leuven 2013)
Media handling in Drupal (Drupalcamp Leuven 2013)
 
Difference Between Drupal 6 vs drupal 7
Difference Between Drupal 6 vs drupal 7 Difference Between Drupal 6 vs drupal 7
Difference Between Drupal 6 vs drupal 7
 
Drupal 6 to 7 migration guide
Drupal 6 to 7 migration guideDrupal 6 to 7 migration guide
Drupal 6 to 7 migration guide
 
Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7
 
Drupal Distributions
Drupal DistributionsDrupal Distributions
Drupal Distributions
 
The Foundations of Being Sassy in Drupal
The Foundations of Being Sassy in DrupalThe Foundations of Being Sassy in Drupal
The Foundations of Being Sassy in Drupal
 
How to Create a Drupal 8 Theme Using Bootstrap
How to Create a Drupal 8 Theme Using Bootstrap How to Create a Drupal 8 Theme Using Bootstrap
How to Create a Drupal 8 Theme Using Bootstrap
 
Drupal Step-by-Step: How We Built Our Training Site, Part 2
Drupal Step-by-Step: How We Built Our Training Site, Part 2Drupal Step-by-Step: How We Built Our Training Site, Part 2
Drupal Step-by-Step: How We Built Our Training Site, Part 2
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
Bootstrap base theme for Drupal 7
Bootstrap base theme for Drupal 7Bootstrap base theme for Drupal 7
Bootstrap base theme for Drupal 7
 
Drupal 7 Search Engine Optimisation
Drupal 7 Search Engine OptimisationDrupal 7 Search Engine Optimisation
Drupal 7 Search Engine Optimisation
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHP
 
Using Foundation with Drupal
Using Foundation with DrupalUsing Foundation with Drupal
Using Foundation with Drupal
 
An Introduction to Drupal
An Introduction to DrupalAn Introduction to Drupal
An Introduction to Drupal
 
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
 
Drupalcampatl d7
Drupalcampatl d7Drupalcampatl d7
Drupalcampatl d7
 
Put a little Backbone in your WordPress vs. 3
Put a little Backbone in your WordPress vs. 3Put a little Backbone in your WordPress vs. 3
Put a little Backbone in your WordPress vs. 3
 

Viewers also liked

用Erlang构建容错系统
用Erlang构建容错系统用Erlang构建容错系统
用Erlang构建容错系统
Cheng Lian
 
Maggie Valley NC Trip, revised
Maggie Valley NC Trip, revisedMaggie Valley NC Trip, revised
Maggie Valley NC Trip, revised
ChristyKS
 
Nu2014 mooc ossiannilsson creelman_ehlers
Nu2014 mooc ossiannilsson creelman_ehlersNu2014 mooc ossiannilsson creelman_ehlers
Nu2014 mooc ossiannilsson creelman_ehlers
Ebba Ossiannilsson
 
Ossiannilsson medfak sida_lu2014
Ossiannilsson medfak sida_lu2014Ossiannilsson medfak sida_lu2014
Ossiannilsson medfak sida_lu2014
Ebba Ossiannilsson
 
High availability + high performance
High availability + high performanceHigh availability + high performance
High availability + high performance
Roel Bruggink
 
Iso sis ossiannilsson2014
Iso sis ossiannilsson2014Iso sis ossiannilsson2014
Iso sis ossiannilsson2014
Ebba Ossiannilsson
 
Lavoro etica sviluppo
Lavoro etica sviluppoLavoro etica sviluppo
Lavoro etica sviluppo
francesco reale
 
Open & Shut: Leadership in the Social World
Open & Shut: Leadership in the Social WorldOpen & Shut: Leadership in the Social World
Open & Shut: Leadership in the Social World
Jordan Epp
 
Ossiannilsson medfak sida_ipt_march2016
Ossiannilsson medfak sida_ipt_march2016Ossiannilsson medfak sida_ipt_march2016
Ossiannilsson medfak sida_ipt_march2016
Ebba Ossiannilsson
 
Mapa
MapaMapa
Ossiannilsson 140422 lnu
Ossiannilsson 140422 lnuOssiannilsson 140422 lnu
Ossiannilsson 140422 lnu
Ebba Ossiannilsson
 
РИФ 2016, Рейтинг Mail.ru - аналитический сервис для вашего бизнеса
РИФ 2016, Рейтинг Mail.ru - аналитический сервис для вашего бизнесаРИФ 2016, Рейтинг Mail.ru - аналитический сервис для вашего бизнеса
РИФ 2016, Рейтинг Mail.ru - аналитический сервис для вашего бизнеса
Тарасов Константин
 
Ossiannilsson tiim2011 boldic session
Ossiannilsson tiim2011 boldic sessionOssiannilsson tiim2011 boldic session
Ossiannilsson tiim2011 boldic session
Ebba Ossiannilsson
 
РИФ 2016, Всегда ли новое лучше старого или какую игру выбираешь ты?
РИФ 2016, Всегда ли новое лучше старого или какую игру выбираешь ты?РИФ 2016, Всегда ли новое лучше старого или какую игру выбираешь ты?
РИФ 2016, Всегда ли новое лучше старого или какую игру выбираешь ты?
Тарасов Константин
 
Food apps competitive analysis (Apr 2011)
Food apps competitive analysis (Apr 2011)Food apps competitive analysis (Apr 2011)
Food apps competitive analysis (Apr 2011)Artem Zhiganov
 
Ossiannilsson sequent master class barcelona2014
Ossiannilsson sequent master class barcelona2014Ossiannilsson sequent master class barcelona2014
Ossiannilsson sequent master class barcelona2014
Ebba Ossiannilsson
 
I am
I amI am
I am
B AC
 
Ossiannilsson130820 miun
Ossiannilsson130820 miunOssiannilsson130820 miun
Ossiannilsson130820 miun
Ebba Ossiannilsson
 
curiculum vitae - edwina
curiculum vitae - edwinacuriculum vitae - edwina
curiculum vitae - edwina
Edwina Vochot
 
Ossiannilsson fbf 210915
Ossiannilsson fbf 210915Ossiannilsson fbf 210915
Ossiannilsson fbf 210915
Ebba Ossiannilsson
 

Viewers also liked (20)

用Erlang构建容错系统
用Erlang构建容错系统用Erlang构建容错系统
用Erlang构建容错系统
 
Maggie Valley NC Trip, revised
Maggie Valley NC Trip, revisedMaggie Valley NC Trip, revised
Maggie Valley NC Trip, revised
 
Nu2014 mooc ossiannilsson creelman_ehlers
Nu2014 mooc ossiannilsson creelman_ehlersNu2014 mooc ossiannilsson creelman_ehlers
Nu2014 mooc ossiannilsson creelman_ehlers
 
Ossiannilsson medfak sida_lu2014
Ossiannilsson medfak sida_lu2014Ossiannilsson medfak sida_lu2014
Ossiannilsson medfak sida_lu2014
 
High availability + high performance
High availability + high performanceHigh availability + high performance
High availability + high performance
 
Iso sis ossiannilsson2014
Iso sis ossiannilsson2014Iso sis ossiannilsson2014
Iso sis ossiannilsson2014
 
Lavoro etica sviluppo
Lavoro etica sviluppoLavoro etica sviluppo
Lavoro etica sviluppo
 
Open & Shut: Leadership in the Social World
Open & Shut: Leadership in the Social WorldOpen & Shut: Leadership in the Social World
Open & Shut: Leadership in the Social World
 
Ossiannilsson medfak sida_ipt_march2016
Ossiannilsson medfak sida_ipt_march2016Ossiannilsson medfak sida_ipt_march2016
Ossiannilsson medfak sida_ipt_march2016
 
Mapa
MapaMapa
Mapa
 
Ossiannilsson 140422 lnu
Ossiannilsson 140422 lnuOssiannilsson 140422 lnu
Ossiannilsson 140422 lnu
 
РИФ 2016, Рейтинг Mail.ru - аналитический сервис для вашего бизнеса
РИФ 2016, Рейтинг Mail.ru - аналитический сервис для вашего бизнесаРИФ 2016, Рейтинг Mail.ru - аналитический сервис для вашего бизнеса
РИФ 2016, Рейтинг Mail.ru - аналитический сервис для вашего бизнеса
 
Ossiannilsson tiim2011 boldic session
Ossiannilsson tiim2011 boldic sessionOssiannilsson tiim2011 boldic session
Ossiannilsson tiim2011 boldic session
 
РИФ 2016, Всегда ли новое лучше старого или какую игру выбираешь ты?
РИФ 2016, Всегда ли новое лучше старого или какую игру выбираешь ты?РИФ 2016, Всегда ли новое лучше старого или какую игру выбираешь ты?
РИФ 2016, Всегда ли новое лучше старого или какую игру выбираешь ты?
 
Food apps competitive analysis (Apr 2011)
Food apps competitive analysis (Apr 2011)Food apps competitive analysis (Apr 2011)
Food apps competitive analysis (Apr 2011)
 
Ossiannilsson sequent master class barcelona2014
Ossiannilsson sequent master class barcelona2014Ossiannilsson sequent master class barcelona2014
Ossiannilsson sequent master class barcelona2014
 
I am
I amI am
I am
 
Ossiannilsson130820 miun
Ossiannilsson130820 miunOssiannilsson130820 miun
Ossiannilsson130820 miun
 
curiculum vitae - edwina
curiculum vitae - edwinacuriculum vitae - edwina
curiculum vitae - edwina
 
Ossiannilsson fbf 210915
Ossiannilsson fbf 210915Ossiannilsson fbf 210915
Ossiannilsson fbf 210915
 

Similar to CivicActions Drupal Directory Structure

Drupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating ModulesDrupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating Modules
Vibrant Technologies & Computers
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practices
Synapseindiappsdevelopment
 
Drupal Multi-Site Setup
Drupal Multi-Site SetupDrupal Multi-Site Setup
Drupal Multi-Site Setup
ylynfatt
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8
Anne Tomasevich
 
Drupal Now! - Introduction to Drupal
Drupal Now! - Introduction to DrupalDrupal Now! - Introduction to Drupal
Drupal Now! - Introduction to Drupal
Alozie Nwosu
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
Angela Byron
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
Jesus Manuel Olivas
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
Rob Sawyer
 
Drupal
DrupalDrupal
Introduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesIntroduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, Terminologies
Gerald Villorente
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
Lauren Roth
 
Building a Drupal Distribution using Features, Drush Make, Installation Profi...
Building a Drupal Distribution using Features, Drush Make, Installation Profi...Building a Drupal Distribution using Features, Drush Make, Installation Profi...
Building a Drupal Distribution using Features, Drush Make, Installation Profi...
Ben Shell
 
Doing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via DistributionsDoing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via Distributions
Thom Bunting
 
Drupal in Libraries
Drupal in LibrariesDrupal in Libraries
Drupal in Libraries
Cary Gordon
 
Making The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowMaking The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To Swallow
Philip Norton
 
Drupal Multi-site for Fun and Profit
Drupal Multi-site for Fun and ProfitDrupal Multi-site for Fun and Profit
Drupal Multi-site for Fun and Profit
Emma Jane Hogbin Westby
 
Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an Overview
Matt Weaver
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
Ryan Price
 
Converting (X)HTML/CSS template to Drupal 7 Theme
Converting (X)HTML/CSS template to Drupal 7 ThemeConverting (X)HTML/CSS template to Drupal 7 Theme
Converting (X)HTML/CSS template to Drupal 7 Theme
Adolfo Nasol
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
Acquia
 

Similar to CivicActions Drupal Directory Structure (20)

Drupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating ModulesDrupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating Modules
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practices
 
Drupal Multi-Site Setup
Drupal Multi-Site SetupDrupal Multi-Site Setup
Drupal Multi-Site Setup
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8
 
Drupal Now! - Introduction to Drupal
Drupal Now! - Introduction to DrupalDrupal Now! - Introduction to Drupal
Drupal Now! - Introduction to Drupal
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
 
Drupal
DrupalDrupal
Drupal
 
Introduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesIntroduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, Terminologies
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Building a Drupal Distribution using Features, Drush Make, Installation Profi...
Building a Drupal Distribution using Features, Drush Make, Installation Profi...Building a Drupal Distribution using Features, Drush Make, Installation Profi...
Building a Drupal Distribution using Features, Drush Make, Installation Profi...
 
Doing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via DistributionsDoing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via Distributions
 
Drupal in Libraries
Drupal in LibrariesDrupal in Libraries
Drupal in Libraries
 
Making The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowMaking The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To Swallow
 
Drupal Multi-site for Fun and Profit
Drupal Multi-site for Fun and ProfitDrupal Multi-site for Fun and Profit
Drupal Multi-site for Fun and Profit
 
Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an Overview
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
 
Converting (X)HTML/CSS template to Drupal 7 Theme
Converting (X)HTML/CSS template to Drupal 7 ThemeConverting (X)HTML/CSS template to Drupal 7 Theme
Converting (X)HTML/CSS template to Drupal 7 Theme
 
Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8Everything You Need to Know About the Top Changes in Drupal 8
Everything You Need to Know About the Top Changes in Drupal 8
 

More from Gregory Heller

Agile Project management For Drupal Web Development Projects
Agile Project management For Drupal Web Development ProjectsAgile Project management For Drupal Web Development Projects
Agile Project management For Drupal Web Development Projects
Gregory Heller
 
Crowdfunding In The Kitchen - Seattle Chefs Collaborative National Sustainabl...
Crowdfunding In The Kitchen - Seattle Chefs Collaborative National Sustainabl...Crowdfunding In The Kitchen - Seattle Chefs Collaborative National Sustainabl...
Crowdfunding In The Kitchen - Seattle Chefs Collaborative National Sustainabl...
Gregory Heller
 
Free & Open Source Software For Nonprofits: NTEN Webinar
Free & Open Source Software For Nonprofits: NTEN Webinar Free & Open Source Software For Nonprofits: NTEN Webinar
Free & Open Source Software For Nonprofits: NTEN Webinar
Gregory Heller
 
SCRUM Project Management For Wedding Planning
SCRUM Project Management For Wedding PlanningSCRUM Project Management For Wedding Planning
SCRUM Project Management For Wedding Planning
Gregory Heller
 
CiviCON Ignite: Gregory Heller on 15 Improvements To CiviCRM
CiviCON Ignite: Gregory Heller on 15 Improvements To CiviCRMCiviCON Ignite: Gregory Heller on 15 Improvements To CiviCRM
CiviCON Ignite: Gregory Heller on 15 Improvements To CiviCRM
Gregory Heller
 
NTC 2010 "Working With Opensource Software And Vendors"
NTC 2010 "Working With Opensource Software And Vendors"NTC 2010 "Working With Opensource Software And Vendors"
NTC 2010 "Working With Opensource Software And Vendors"
Gregory Heller
 
"You Don't Need A Website" Ignite NTC 2010 Gregory Heller
"You Don't Need A Website" Ignite NTC 2010 Gregory Heller"You Don't Need A Website" Ignite NTC 2010 Gregory Heller
"You Don't Need A Website" Ignite NTC 2010 Gregory Heller
Gregory Heller
 
Listening: Free Tools & Techniques for Nonprofit Brand Monitoring
Listening: Free Tools & Techniques for Nonprofit Brand MonitoringListening: Free Tools & Techniques for Nonprofit Brand Monitoring
Listening: Free Tools & Techniques for Nonprofit Brand Monitoring
Gregory Heller
 
Social Media Overview and Strategy For NGOs
Social Media Overview and Strategy For NGOsSocial Media Overview and Strategy For NGOs
Social Media Overview and Strategy For NGOs
Gregory Heller
 
Social Media Overview and Strategy For NGOs
Social Media Overview and Strategy For NGOsSocial Media Overview and Strategy For NGOs
Social Media Overview and Strategy For NGOs
Gregory Heller
 
What Makes A Green Cab
What Makes A Green CabWhat Makes A Green Cab
What Makes A Green Cab
Gregory Heller
 

More from Gregory Heller (11)

Agile Project management For Drupal Web Development Projects
Agile Project management For Drupal Web Development ProjectsAgile Project management For Drupal Web Development Projects
Agile Project management For Drupal Web Development Projects
 
Crowdfunding In The Kitchen - Seattle Chefs Collaborative National Sustainabl...
Crowdfunding In The Kitchen - Seattle Chefs Collaborative National Sustainabl...Crowdfunding In The Kitchen - Seattle Chefs Collaborative National Sustainabl...
Crowdfunding In The Kitchen - Seattle Chefs Collaborative National Sustainabl...
 
Free & Open Source Software For Nonprofits: NTEN Webinar
Free & Open Source Software For Nonprofits: NTEN Webinar Free & Open Source Software For Nonprofits: NTEN Webinar
Free & Open Source Software For Nonprofits: NTEN Webinar
 
SCRUM Project Management For Wedding Planning
SCRUM Project Management For Wedding PlanningSCRUM Project Management For Wedding Planning
SCRUM Project Management For Wedding Planning
 
CiviCON Ignite: Gregory Heller on 15 Improvements To CiviCRM
CiviCON Ignite: Gregory Heller on 15 Improvements To CiviCRMCiviCON Ignite: Gregory Heller on 15 Improvements To CiviCRM
CiviCON Ignite: Gregory Heller on 15 Improvements To CiviCRM
 
NTC 2010 "Working With Opensource Software And Vendors"
NTC 2010 "Working With Opensource Software And Vendors"NTC 2010 "Working With Opensource Software And Vendors"
NTC 2010 "Working With Opensource Software And Vendors"
 
"You Don't Need A Website" Ignite NTC 2010 Gregory Heller
"You Don't Need A Website" Ignite NTC 2010 Gregory Heller"You Don't Need A Website" Ignite NTC 2010 Gregory Heller
"You Don't Need A Website" Ignite NTC 2010 Gregory Heller
 
Listening: Free Tools & Techniques for Nonprofit Brand Monitoring
Listening: Free Tools & Techniques for Nonprofit Brand MonitoringListening: Free Tools & Techniques for Nonprofit Brand Monitoring
Listening: Free Tools & Techniques for Nonprofit Brand Monitoring
 
Social Media Overview and Strategy For NGOs
Social Media Overview and Strategy For NGOsSocial Media Overview and Strategy For NGOs
Social Media Overview and Strategy For NGOs
 
Social Media Overview and Strategy For NGOs
Social Media Overview and Strategy For NGOsSocial Media Overview and Strategy For NGOs
Social Media Overview and Strategy For NGOs
 
What Makes A Green Cab
What Makes A Green CabWhat Makes A Green Cab
What Makes A Green Cab
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 

CivicActions Drupal Directory Structure

  • 1. The CivicActions Drupal Directory Structure Gregory Heller (@gregoryheller on twitter) CivicActions.com Seattle Drupal User Group (#seadug) May 2009
  • 2. Default Drupal Setup If you download and unzip drupal, usually you will put it in public_html: /public_html/ ( drupal core live here) /public_html/sites /public_html/sites/all/modules /public_html/sites/default
  • 3.
  • 4. CivicActions Directory Structure We run 3 versions of each site: dev, qa, live. All run off the same version of core. Active development takes place on dev (new modules, theme changes first tested there). SVN Tags gets cut and moved to QA for more testing. The tag then is released to Live.
  • 5. CivicActions Directory Structure You don't need to run your setup like this, or use SVN to reap the benefits of the CivicActions Directory Structure.
  • 6. CivicActions Directory Structure What are the benefits? No need to backup drupal core, you can always download it again. Back up all your sites directories easily and at one No need to move your sites directory for every core upgrade. Possible to run multiple versions of core for different sites off the “same” multi site.
  • 7. CivicActions Directory Structure Limitations and Drawbacks: Some hosting companies don't let you access anything outside of your web root. Get a new hosting company. Some webhosts have limitations on the number (depth) of symlinks ( symlink1 => sym2 =>real_file doesn't work). You can modify the structure a bit while still reaping the benefits.
  • 8. CivicActions Directory Structure These are all real directories (at the same level): /public_html/ /drupal/nobackup/ /drupal/nobackup/6.11 /sites/ /sites/all /sites/example.com
  • 9. CivicActions SymLinks Symlinks (short for “symbolic links”) are your friend. They're like “shortcuts”. Create them with the following command: $ ln -s target/directory symlink See where they point with: $ ls -la where “target/directory” is the directory or file you want to link to, and “symlink” is the link
  • 10. CivicActions SymLinks Structure /public_html/ example.com => ../drupal/nobackup/ 6 this symlink sends apache requests from your public_html directory to drupal/nobackup/6 /drupal/nobackup/ 6 => 6.11 (/drupal/nobackup.6.11) this symlink sends requests from “6” to “6.10” allowing you to easily switch to a new version of drupal core /drupal/nobackup/6.11/ sites => ../../../sites this symlink points to a sites directory outside of drupal core, which means you don't have to move the “sites” directory each time you upgrade core, and also makes it easier to backup sites (your contrib modules and files)
  • 11. What does your Sites Directory Look Like? This is no different from a “standard” multisite setup. Drupal “knows” which site to serve up based on the apache referral. All sites can access the modules and themes in the /sites/all directory. Notice there is no “default” directory! /sites/all /sites/all/modules/contrib /sites/all/modules/custom /sites/example.com /sites/example.com/modules/contrib /sites/example-two.com /sites/example-two.com/modules/contrib
  • 12. Advanced Tricks: Staging Sites Sometimes you will have a staging site like drupal.example.com because your client is not ready to launch. In your sites directory you can symlink drupal.example.com => example.com When the time comes to launch the site, all you need to do is point the final domain at your drupal core install (which means, at the symlink in public_html that points to drupal/nobackup/ 6 )
  • 13. Recap apache request for example.com goes to public_html/ example.com which symlinks to ../drupal/nobackup/ 6 which symlinks to drupal/nobackup/6.11 Drupal looks in / sites which symlinks to ../../../sites for example.com and finds it, and settings.php which points to the right database, and all the modules and themes live in that directory ( /sites/example.com or /sites/all ).