This site is a static archive of the Aegir community site. Documentation has moved to http://docs.aegirproject.org. Other community resources can be found on the Contacting the community page.
Skip navigation

Revision of Aegir file system structure from Wed, 11/03/2010 - 21:42

Help

Aegir file system structure

This page documents the typical file system structure on an Aegir installation. It is intended to complement a related wiki page on Aegir Architecture. The following paths are based on an Aegir 0.4-x installation and assume that all directories are within the /var/aegir folder.

Scripts and Configuration Files

Path Notes
/backups site-specific tar balls containing a database dump and folders under path/to/platform/sites/example.com
/config
/config/server_master
/config/server_master/apache
/config/server_master/apache/conf.d non-aegir or non-drupal virtual hosts files
/config/server_master/apache/platform.d contains .htaccess information for each aegir platform
/config/server_master/apache/vhost.d apache virtual host files for aegir platforms
/config/server_master/apache/vhost.d/aegir.example.com virtual host file for aegir web site - specifies path to platform directory and site database settings (so that database credentials are not exposed directly in site settings.php file)
/config/server_master/apache/vhost.d/site-1.com virtual host file for deployed web site
/config/server_master/apache/vhost.d/site-2.com
/config/server_master/apache/vhost.d/site-3.com
/drush drush folder
/drush/drush.php drush script
/.drush drush extensions and server, platform and site aliases
/.drush/drush_make drush_make project folder - used for building web sites from .make files
/.drush/provision provision folder
/.drush/server_master.alias.drushrc.php settings for the master server where the main aegir database, hosting platform and aegir site reside
/.drush/platform_hostmaster.alias.drushrc.php settings for the hostmaster platform on which the aegir site is based
/.drush/hostmaster.alias.drushrc.php settings for the aegir site
/.drush/platform_platform1.alias.drushrc.php settings for platform1 on which site-1.com is based
/.drush/site-1.com.alias.drushrc.php settings for site-1.com

Hostmaster Platform and Aegir (front-end) Site

Path Notes
/hostmaster-0.x hostmaster platform
/hostmaster-0.x/profiles
/hostmaster-0.x/profiles/default
/hostmaster-0.x/profiles/hostmaster hostmaster profile
/hostmaster-0.x/profiles/hostmaster/modules
/hostmaster-0.x/profiles/hostmaster/modules/admin_menu
/hostmaster-0.x/profiles/hostmaster/modules/hosting hosting module
/hostmaster-0.x/profiles/hostmaster/modules/install_profile_api install_profile_api – facilitates provisioning of sites based on a non-default profile
/hostmaster-0.x/profiles/hostmaster/modules/jquery_ui
/hostmaster-0.x/profiles/hostmaster/modules/modalframe
/hostmaster-0.x/profiles/hostmaster/themes
/hostmaster-0.x/profiles/hostmaster/themes/eldir eldir theme – provides Aegir front end look and feel
/hostmaster-0.x/profiles/hostmaster/hostmaster.profile profile file – used in site provisioning to configure a drupal database
/hostmaster-0.x/profiles/hostmaster/hostmaster.make make file – used to include modules, themes, libraries etc. from various sources
/hostmaster-0.x/modules
/hostmaster-0.x/themes
/hostmaster-0.x/sites
/hostmaster-0.x/sites/aegir.example.com aegir web site folders

Deployed Platforms

Note: the directory /platforms is optional but can be useful to separate deployed platforms from directories for scripts, config files and hostmaster platform.

Path Notes
/platforms
/platforms/platform-1
/platforms/platform-1/profiles
/platforms/platform-1/profiles/default
/platforms/platform-1/profiles/custom-profile
/platforms/platform-1/profiles/custom-profile/modules
/platforms/platform-1/profiles/custom-profile/themes
/platforms/platform-1/profiles/custom-profile/custom.profile profile file – used in site provisioning to configure a drupal database
/platforms/platform-1/profiles/custom-profile/custom.make make file – used to include modules, themes, libraries etc. from various sources
/platforms/platform-1/modules
/platforms/platform-1/themes
/platforms/platform-1/sites
/platforms/platform-1/sites/site-1.com
/platforms/platform-1/sites/site-1.com/modules
/platforms/platform-1/sites/site-1.com/themes
/platforms/platform-1/sites/site-1.com/files
/platforms/platform-1/sites/site-1.com/settings.php site-specific drupal configuration file
/platforms/platform-1/sites/site-1.com/drushrc.php site-specific aegir-specific configuration file
/platforms/platform-1/sites/site-2.com
/platforms/platform-1/sites/site-3.com
/platforms/platform-1/sites/site-n.com
/platforms/platform-2
/platforms/platform-3
/platforms/platform-n

#1

Based on suggestions I've seen elsewhere, and the development workflow we need to follow (multiple developers using the same server, and I don't want them all to masquerade as aegir all the time just to get anything done)

I think that - seeing as the group is :aegir anyway, and the prevailing wisdom is to "join the aegir group" then we should have group write permissions on by default.

All cases of

drwxr-xr-x  aegir:aegir
-rw-r--r--  aegir:aegir

should be changed to

drwxrwxr-x  aegir:aegir
-rw-rw-r--  aegir:aegir

#2

The problem of setting up a non drupal vhost file is a very common issue that involves many later consequences. Just like you mentioned that you were not able to pick up in directory it also involves many similar issues.

#3

The problem of setting up a non drupal vhost file is a very common issue that involves many later consequences. Just like you mentioned that you were not able to pick up in directory it also involves many similar issues.

Need help?

Documentation

The notebook section provides a way for you to store and share information with your group members. With the book feature you can:

  • Add book pages and organize them hierarchically into different books.
  • Attach files to pages to share them with others.
  • Track changes that others have made and revert changes as necessary.
  • Archive books that are no longer of interest to the group. Archived books can be reactivated later if needed.

The revisions let you track differences between multiple versions of a post.