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
should be changed to
#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.