diff --git a/02.importing/01.get-database-files/docs.md b/02.importing/01.get-database-files/docs.md
index 7af7424..238aa3d 100644
--- a/02.importing/01.get-database-files/docs.md
+++ b/02.importing/01.get-database-files/docs.md
@@ -1,7 +1,7 @@
---
title: Get Your Database and Files Into Aegir
slug: get-database-files
-menu: Database and Files
+menu: Get Database and Files
date: 08-08-2016
published: true
visible: true
@@ -14,95 +14,84 @@ routes:
- /prepare-your-database-files
---
+Get Your Database and Files Into Aegir
+
To import your site into Aegir, the first step is to get your database
and files. You need to copy them from the old site and upload them to
your Aegir account.
-Task: Get Your Database and Files
----------------------------------
+h2. Task: Get Your Database and Files
-### Get the Database
+h3. Get the Database
-1. Get a full database dump of your old site as an sql file.
+# Get a full database dump of your old site as an sql file.
-**** You can use a database management tool, such as phpMyAdmin or
-Chive.
+** You can use a database management tool, such as phpMyAdmin or Chive.
-**** Make sure your dump includes the DROP lines. For example,
-`` DROP TABLE IF EXISTS `access`; ``
+** Make sure your dump includes the DROP lines. For example, @DROP TABLE IF EXISTS `access`;@
-**** Or, use the [Backup and Migrate module.](backup-migrate) The backup
-archive includes a database dump as a file ending in `.sql`
+** Or, use the "Backup and Migrate module.":backup-migrate The backup archive includes a database dump as a file ending in @.sql@
-1. If your old database uses table prefixes, you'll need to remove
- these prefixes in the sql file. See "Don't Use Table Prefixes in
- Your Database" below.
+# If your old database uses table prefixes, you'll need to remove
+ these prefixes in the sql file. See "Don't Use Table Prefixes in
+ Your Database" below.
-1. Upload this sql file to `~/static/`.
+# Upload this sql file to @~/static/@.
-### Get the Files
+h3. Get the Files
-1. Upload the full Drupal root of your old site to a directory in
- `~/static/`. Example: `~/static/old-site/`. Tools for uploading
- include:
+# Upload the full Drupal root of your old site to a directory in @~/static/@. Example: @~/static/old-site/@. Tools for uploading include:
-**** SFTP/FTPS
+** SFTP/FTPS
-**** `rsync`
+** @rsync@
-1. Fix the permissions with this command:
- `chmod -R 775 ~/static/old-site/`
+# Fix the permissions with this command: @chmod -R 775 ~/static/old-site/@
-1. Fix the `files/` permissions with a separate command: chmod -R
- 777 ~/static/old-site/sites/default/files/
+# Fix the @files/@ permissions with a separate command: chmod -R 777 ~/static/old-site/sites/default/files/
-**** Note the **777**, not **775**.
+** Note the *777*, not *775*.
-**** If you have also stored files in `sites/foo.com/files`, then fix
-those permissions as well: chmod -R 777
-~/static/old-site/sites/foo.com/files/
+** If you have also stored files in @sites/foo.com/files@, then fix those permissions as well: chmod -R 777 ~/static/old-site/sites/foo.com/files/
-**** Ignore any "Operation not permitted" errors (see below).
+** Ignore any "Operation not permitted" errors (see below).
-1. If your site will be on a new custom platform, you'll also need to
- add your custom platform before you can
- proceed. Follow the steps in [this doc](add-custom-platform)
+# If your site will be on a new custom platform, you'll also need to
+ add your custom platform before you can
+ proceed. Follow the steps in "this doc":add-custom-platform
-Conclusion: Now Get Your Site Into Aegir
-----------------------------------------
+h2. Conclusion: Now Get Your Site Into Aegir
With your files and database on your account, you can now proceed to
-[get your site into Aegir](get-site-into-aegir).
+ "get your site into Aegir":get-site-into-aegir.
-More Information
-----------------
+h2. More Information
-### Don't Use Table Prefixes in Your Database
+h3. Don't Use Table Prefixes in Your Database
-If your old database used table prefixes, with names like `mydb_users`
-instead of `users`, you'll need to remove these prefixes from your
+If your old database used table prefixes, with names like @mydb_users@
+instead of @users@, you'll need to remove these prefixes from your
database dump. Aegir doesn't support table prefixes. Each site gets
its own database.
Since the database dump is a plain text file, you can remove these
prefixes with a simple "find and replace" in your favorite text editor.
-If your prefix is `mydb_`, you should be able to remove these prefixes
-quickly. `mydb_user` becomes `user`, and so on.
+If your prefix is @mydb_@, you should be able to remove these prefixes
+quickly. @mydb_user@ becomes @user@, and so on.
-### "Operation Not Permitted"?
+h3. "Operation Not Permitted"?
-When changing permissions on a `files` directory with `chmod`, you may
-get errors like `Operation not permitted`. You can safely *ignore
+When changing permissions on a @files@ directory with @chmod@, you may
+get errors like @Operation not permitted@. You can safely *ignore
these errors*.
Although your FTPS/SSH user is not an owner of this directory, these
-`chmod` commands are still required, because they will set correct
+@chmod@ commands are still required, because they will set correct
permissions for the files you upload.
-References
-----------
+h2. References
-[get your site onto Aegir](get-site-into-aegir).
+"get your site onto Aegir":get-site-into-aegir.
[get-site-into-aegir]
diff --git a/02.importing/02.import-site-into-aegir/docs.md b/02.importing/02.import-site-into-aegir/docs.md
index cfe4933..3119fae 100644
--- a/02.importing/02.import-site-into-aegir/docs.md
+++ b/02.importing/02.import-site-into-aegir/docs.md
@@ -15,181 +15,163 @@ routes:
- /import-your-sites-to-aegir-in-8-easy-steps-109
---
+Get Your Site Into Aegir
+
To import your site into Aegir, you must first
-[get your database and files into your Aegir
-account](get-database-files).
+"get your database and files into your Aegir account":get-database-files.
Then, you can follow the steps in this doc to set up your new site.
-Task: Import Your Site Into Aegir
----------------------------------
+h2. Task: Import Your Site Into Aegir
-Importing your old site onto an Aegir [platform](platform) is
-straightforward. Follow
+Importing your old site onto an Aegir "platform":platform is straightforward. Follow
each step carefully, and you should have no problems.
-1. Get your database and files into your Aegir account, following
- [the steps in this doc](get-database-files).
+# Get your database and files into your Aegir account, following
+ "the steps in this doc":get-database-files.
-1. If your site will be on a new custom platform, you'll also need to
- add your custom platform before you can
- proceed. Follow the steps in [this doc](add-custom-platform)
+# If your site will be on a new custom platform, you'll also need to
+ add your custom platform before you can
+ proceed. Follow the steps in "this doc":add-custom-platform
-1. [Create a new site](new-site-built-in) on your target platform.
- Use your **actual domain name**. If the site is `foo.com`, use
- `foo.com`, not some temporary domain or subdomain.
+# "Create a new site":new-site-built-in on your target platform.
+Use your *actual domain name*. If the site is @foo.com@, use
+@foo.com@, not some temporary domain or subdomain.
-**** If you have been developing the site locally, see "Why Use the
-Final Domain, Then Rename Twice?" below.
+** If you have been developing the site locally, see "Why Use the Final Domain, Then Rename Twice?" below.
-1. Copy all the old site's `files` into `sites/foo.com/files/` on the
- new site.
+# Copy all the old site's @files@ into @sites/foo.com/files/@ on the new site.
-**** Example:
-`cp -af ~/static/old-site/sites/default/files/* /path/to/platform/sites/foo.com/files/`
+** Example: @cp -af ~/static/old-site/sites/default/files/* /path/to/platform/sites/foo.com/files/@
-**** If you have also stored files in `sites/foo.com/files`, copy those
-files as well.
+** If you have also stored files in @sites/foo.com/files@, copy those files as well.
-1. If your site used additional modules at `sites/all/modules/` and/or
- `sites/foo.com/modules`, you need to copy them:
+# If your site used additional modules at @sites/all/modules/@ and/or
+ @sites/foo.com/modules@, you need to copy them:
-## Copy any "contrib" modules (modules you downloaded from
-drupal.org)
-from their directory within `~/static/old-site/sites/` into
-`sites/all/modules` on the target platform.
+## Copy any "contrib" modules (modules you downloaded from drupal.org)
+ from their directory within @~/static/old-site/sites/@ into
+ @sites/all/modules@ on the target platform.
-***** Look for modules in all possible locations on the old site:
-`sites/all/modules`, `sites/default/modules`, and
-`sites/foo.com/modules`. No matter where you stored them, contrib
-modules should almost always go into `sites/all/modules` on the target
-platform. (See "Always Put Contrib Modules In `sites/all/modules`"
-below.)
+*** Look for modules in all possible locations on the old site:
+ @sites/all/modules@, @sites/default/modules@, and
+ @sites/foo.com/modules@. No matter where you stored them, contrib
+ modules should almost always go into @sites/all/modules@ on the target
+ platform. (See "Always Put Contrib Modules In @sites/all/modules@"
+ below.)
-***** If, instead of copying old modules, you download any modules
-directly from `drupal.org` into the target platform, make sure to fix
-permissions with `chmod -R 775`.
+*** If, instead of copying old modules, you download any modules
+ directly from @drupal.org@ into the target platform, make sure to fix
+ permissions with @chmod -R 775@.
-## Copy any "custom" modules for this site into
-`sites/foo.com/modules`.
+## Copy any "custom" modules for this site into @sites/foo.com/modules@.
## Repeat these steps for themes and libraries.
-***** Contrib themes go into `sites/all/themes`, custom themes into
-`sites/foo.com/themes`.
+*** Contrib themes go into @sites/all/themes@, custom themes into @sites/foo.com/themes@.
-***** Libraries go into `sites/all/libraries`, unless module
-documentation specifies otherwise.
+*** Libraries go into @sites/all/libraries@, unless module documentation specifies otherwise.
-1. Import your uploaded database into the new site with `drush sqlc`.
- Example commands:
+# Import your uploaded database into the new site with @drush sqlc@. Example commands:
-## `cd /path/to/platform/sites/foo.com/`
+## @cd /path/to/platform/sites/foo.com/@
-## `drush sqlc < /data/disk/USER/static/dump.sql`
+## @drush sqlc < /data/disk/USER/static/dump.sql@
-***** Note the full path to the dump file. Don't use a relative path,
-like `~/static`.
+*** Note the full path to the dump file. Don't use a relative path, like @~/static@.
-***** Replace USER with your [BOA](boa) username. This is your FTP/SSH
-username
-minus the ending `.ftp`. If your FTP/SSH username is `12345678.ftp`,
-your BOA username is `12345678`. Your SSH username always appears in
-your SSH prompt.
+*** Replace USER with your "BOA":boa username. This is your FTP/SSH username
+ minus the ending @.ftp@. If your FTP/SSH username is @12345678.ftp@,
+ your BOA username is @12345678@. Your SSH username always appears in
+ your SSH prompt.
## Rebuild the new site's registry.
-***** Use the "Rebuild Registry" task in Aegir.
+*** Use the "Rebuild Registry" task in Aegir.
-***** Or `cd` to `sites/foo.com/` and run `drush rr`.
+*** Or @cd@ to @sites/foo.com/@ and run @drush rr@.
-1. In Aegir, rename the site with the "Migrate" task **twice**.
+# In Aegir, rename the site with the "Migrate" task *twice*.
-## First rename the site to a temporary subdomain (example:
-`temp.foo.com`).
+## First rename the site to a temporary subdomain (example: @temp.foo.com@).
-## Then rename the site back to your final domain (`foo.com`).
+## Then rename the site back to your final domain (@foo.com@).
-***** (See "Why Use the Final Domain, Then Rename Twice?" below.)
+*** (See "Why Use the Final Domain, Then Rename Twice?" below.)
-1. Finally, run the "Verify" task on the site.
+# Finally, run the "Verify" task on the site.
With this final "Verify", all paths to images should be properly
-rewritten, both in the `files` table and in the `node_revision` table.
+rewritten, both in the @files@ table and in the @node_revision@ table.
Done! Enjoy your new site.
-More Information
-----------------
+h2. More Information
To avoid potential problems, you may want to read the following
information before you import your first site.
-### Does Your Drupal 6 or Drupal 5 Site Have to Be Based on Pressflow?
+h3. Does Your Drupal 6 or Drupal 5 Site Have to Be Based on Pressflow?
We do not use vanilla Drupal for our Drupal 6 or Drupal 5 platforms.
-Instead, we use [Pressflow](pressflow).
+Instead, we use "Pressflow":pressflow.
However, we expect that your Drupal 6 or Drupal 5 site is probably
based on vanilla Drupal. No problem. We suggest that you:
-1. [Make a custom platform](add-custom-platform) based on your
- old environment.
+# "Make a custom platform":add-custom-platform based on your old environment.
-1. Import your site to this custom platform.
+# Import your site to this custom platform.
-1. Migrate your site onto a Pressflow platform:
+# Migrate your site onto a Pressflow platform:
-**** You can use one of our built-in Pressflow platforms.
+** You can use one of our built-in Pressflow platforms.
-**** Or you can create your own platform based on Pressflow core.
+** Or you can create your own platform based on Pressflow core.
-Note that **Pressflow is required** for all *live* Drupal 6 and Drupal
-5
+Note that *Pressflow is required* for all _live_ Drupal 6 and Drupal 5
sites. You may not build a custom platform based on vanilla Drupal 6
or Drupal 5, except as a temporary platform to use while migrating
your old sites to Pressflow.
-Please migrate your site to Pressflow **before pointing a live domain**
+Please migrate your site to Pressflow *before pointing a live domain*
name to your Aegir instance IP address. Running vanilla Drupal 6 or
Drupal 5 sites is not allowed, and breaks
-our [Acceptable Use Policy](acceptable-use-policy).
+our "Acceptable Use Policy":acceptable-use-policy.
-Also, with the release of Drupal 7, **Drupal 5 is no longer officially
-supported**,
-so you should upgrade to a Pressflow-based Drupal 6 platform
-immediately.
+Also, with the release of Drupal 7, *Drupal 5 is no longer officially supported*,
+so you should upgrade to a Pressflow-based Drupal 6 platform immediately.
-### If Your `files` Directory Is Over 500MB
+h3. If Your @files@ Directory Is Over 500MB
-When your site's `files/` directory is big (500MB or more), it should
-be moved to a directory in `~/static`, and then symlinked back to
-`sites/foo.com/files`.
+When your site's @files/@ directory is big (500MB or more), it should
+be moved to a directory in @~/static@, and then symlinked back to
+@sites/foo.com/files@.
Several Aegir tasks create a full, compressed archive of the entire
-`sites/foo.com/` directory. If the `files/` directory is too big,
+@sites/foo.com/@ directory. If the @files/@ directory is too big,
these tasks will fail, because the servers run out of RAM and CPU. By
using a symlink, these archives will only store the link, instead of
all the actual files.
Root access is required to make this link. On Omega8.cc, you can't do
-this yourself, but please [contact us](support), and we'll be happy to
+this yourself, but please "contact us":support, and we'll be happy to
make this symlink for you.
If you have root access, the steps might look like this:
- mv /path/to/platform/sites/foo.com/files /data/disk/USER/static/foo.com_files
- ln -s /data/disk/USER/static/foo.com_files /path/to/platform/sites/foo.com/files
+bc. mv /path/to/platform/sites/foo.com/files /data/disk/USER/static/foo.com_files
+ln -s /data/disk/USER/static/foo.com_files /path/to/platform/sites/foo.com/files
Replace USER with your BOA username.
-### Always Put Contrib Modules in `sites/all/modules/`
+h3. Always Put Contrib Modules in @sites/all/modules/@
In normal Drupal, it may not seem to matter much whether you store
-modules in `sites/all/modules`, `sites/default/modules`, or the
-site-specific directory, such as `sites/foo.com/modules`.
+modules in @sites/all/modules@, @sites/default/modules@, or the
+site-specific directory, such as @sites/foo.com/modules@.
But on Aegir, it's critical that you store all "contrib" modules
-(modules you download from drupal.org) in `sites/all/modules`. This is
+(modules you download from drupal.org) in @sites/all/modules@. This is
the platform-wide directory. This single copy of the module will be
used for all the sites.
@@ -198,55 +180,51 @@ a new platform, Aegir will help, comparing the module versions on both
platforms, applying needed database updates, and saving a backup in
case anything breaks.
-If you instead store a contrib module in `sites/foo.com/modules`, you
-lose all
+If you instead store a contrib module in @sites/foo.com/modules@, you lose all
these benefits. In a migration, Aegir ignores everything in
-`sites/foo.com/`, and simply copies the files to the new platform.
+@sites/foo.com/@, and simply copies the files to the new platform.
Plus, you can easily forget that you stashed a copy here. Even if you
migrate the site to a platform with a newer version, the old, insecure
-copy of the module will [override](override-module) the new version.
+copy of the module will "override":override-module the new version.
-You should only use `sites/foo.com/modules` for custom, one-off
+You should only use @sites/foo.com/modules@ for custom, one-off
modules that you write yourself, and are unique to this site.
These rules also apply to themes. Of course, many sites have a unique,
custom theme or subtheme, and it makes sense to store this in
-`sites/foo.com/themes`.
+@sites/foo.com/themes@.
-### Why Use the Final Domain, Then Rename Twice?
+h3. Why Use the Final Domain, Then Rename Twice?
When you create the blank site, why must you use your final, live
-domain name (like `foo.com`), then rename the site twice? This process
+domain name (like @foo.com@), then rename the site twice? This process
ensures that all the paths saved in your database are properly
rewritten.
-For instance, an image stored at `sites/default/files/image.png` must
-get its path rewritten to `sites/foo.com/files/image.png`.
+For instance, an image stored at @sites/default/files/image.png@ must
+get its path rewritten to @sites/foo.com/files/image.png@.
-This renaming process should fix all paths, both in the `files` table
-and also
+This renaming process should fix all paths, both in the @files@ table and also
in your content.
However, there are places where hardcoded paths can't be replaced
automatically. One example is your custom theme settings. If any paths
are still broken, you'll need to fix them manually.
-#### If You Have Been Developing the Site Locally
+h4. If You Have Been Developing the Site Locally
-Note: If you have been **developing this site locally**, with a name
-like
-`domain.local`, but you now want it to be a live site, like `foo.com`,
+Note: If you have been *developing this site locally*, with a name like
+@domain.local@, but you now want it to be a live site, like @foo.com@,
the steps are slightly different:
-1. Create the initial site with the **local name** (like
- `domain.local`),
- instead of the final domain name.
+# Create the initial site with the *local name* (like @domain.local@),
+ instead of the final domain name.
+
+# Then, when the time comes to rename the site twice, follow the steps
+ as usual. Rename to a temporary domain name, then to the final
+ domain name (@foo.com@).
-1. Then, when the time comes to rename the site twice, follow the
- steps
- as usual. Rename to a temporary domain name, then to the final
- domain name (`foo.com`).
[add-custom-platform]
[built-in-platform-list]
diff --git a/03.managing/01.good-habits/chapter.md b/03.managing/01.good-habits/chapter.md
new file mode 100644
index 0000000..2d73a93
--- /dev/null
+++ b/03.managing/01.good-habits/chapter.md
@@ -0,0 +1,15 @@
+---
+title: Good Habits
+menu: Good Habits
+date: 08-08-2016
+published: true
+visible: true
+taxonomy:
+ category: docs
+---
+
+### Chapter 3.1
+
+# Good Habits
+
+Learn useful rules which will make managing Drupal sites with Aegir easier.
diff --git a/03.managing/01.good-habits/file-dir-perms/docs.md b/03.managing/01.good-habits/file-dir-perms/docs.md
new file mode 100644
index 0000000..f6ed372
--- /dev/null
+++ b/03.managing/01.good-habits/file-dir-perms/docs.md
@@ -0,0 +1,120 @@
+---
+title: TITLE
+slug: URI
+menu: MENU
+date: 08-08-2016
+published: true
+visible: true
+taxonomy:
+ category: docs
+routes:
+ aliases:
+ - /URI
+---
+
+Set Correct Permissions for Files You Copy Into Aegir
+
+When you copy files or directories into Aegir, Aegir will _usually_
+set the correct permissions. However, to avoid headaches, you should
+understand when and how to set correct permissions manually.
+
+h2. Task: Set Correct Permissions For Files You Copy
+
+These steps will set all possible permissions for your site.
+
+# "@ssh@ in":ftp-ssh-access to your Aegir account
+
+# @cd@ to the site-specific directory for your Aegir site. If your
+ site is @foo.com@, this will be @sites/foo.com/@ in the "platform":platform
+ directory.
+
+# @chmod -R 775 libraries/* modules/* themes/*@
+
+# @chmod -R 777 files/*@
+
+** Use *777* here, not *775*
+
+** Ignore any "Operation not permitted" warnings.
+
+# @cd@ into @sites/all@.
+
+# @chmod -R 775 libraries/* modules/* themes/*@
+
+# Now run the @Verify@ task on every "platform":platform
+ and site affected by these new files and directories.
+
+h2. More Information
+
+h3. When Do You Need to Set Permissions Manually?
+
+Aegir *will* set correct permissions automatically when you upload
+files or directories using *SFTP* or *FTPS*.
+
+The exception are files in @sites/foo.com/files/@. If you *overwrite*
+a file that needs to be writable by the web server, you can cause
+problems, such as a broken layout.
+
+Aegir *will not* set correct permissions when:
+
+* files have been transferred via @rsync@ or @scp@ on the command line
+* files have been downloaded with @drush@ on the command line
+* files have been extracted from @tar@ or @zip@ archives on the command line
+
+Every morning (in the local timezone for your server/datacenter), a
+"BOA":boa maintenance script will automatically fix all these
+permissions.
+
+However, if you run Aegir tasks while the permissions are still incorrect,
+you can cause problems. You should fix permissions
+manually *before you run any Aegir tasks*.
+
+h3. What If You Don't Set These Permissions?
+
+* You can *lose write permissions* to your uploaded files if you run
+ the @Clone@ or @Migrate@ task.
+
+* The *web server may lose write permissions*, which can break your
+ site layout. Many site layouts require the web server to write
+ temporary files to the @files/@ directory.
+
+These issues will not resolve until the maintenance script runs in the
+morning.
+
+h3. Must You Set Permissions After Updates?
+
+*Yes*. When you download updated libraries, modules, or themes, these
+ are new files. You must set correct permissions, just as you did with
+ the original files.
+
+h3. Which Directories Cannot Be Changed?
+
+Never try to @chmod@ the @files/@, @modules/@, @themes/@ or
+@libraries/@ directories themselves. Instead, @chmod@ their
+subdirectories and files, by adding the @-R@ switch and an asterisk (@*@).
+
+This command will *fail*:
+
+@chmod 777 files/@
+
+But this command is *correct*:
+
+@chmod 777 -R files/*@
+
+h3. "Operation Not Permitted"?
+
+If you @ssh@ in and set correct permissions within the @files/@
+directory, you may see this error: @Operation not permitted.@ This is
+expected, because your SSH user is neither an owner of this directory
+nor of any files owned or created by the web server.
+
+But this error can safely be ignored. The command will still set
+correct permissions for any files you have uploaded.
+
+h2. References
+
+"Keeping Aegir Informed With Aegir Tasks":keeping-aegir-informed
+
+[ftp-ssh-access]
+[platform]
+[sites-all-modules]
+[keeping-aegir-informed]
diff --git a/03.managing/01.good-habits/keeping-aegir-informed/docs.md b/03.managing/01.good-habits/keeping-aegir-informed/docs.md
new file mode 100644
index 0000000..412374a
--- /dev/null
+++ b/03.managing/01.good-habits/keeping-aegir-informed/docs.md
@@ -0,0 +1,49 @@
+---
+title: TITLE
+slug: URI
+menu: MENU
+date: 08-08-2016
+published: true
+visible: true
+taxonomy:
+ category: docs
+routes:
+ aliases:
+ - /URI
+---
+
+When to Run "Verify" Before Other Aegir Tasks
+
+Before you run certain Aegir tasks, it's a good idea to run @Verify@.
+Although some tasks include @Verify@ automatically, a manual @Verify@
+lets you troubleshoot problems before trying to run a complex task.
+
+h2. Task: Verify Before Other Aegir Tasks
+
+* If you have copied any modules, themes, or libraries into this
+ platform within the last 24 hours, you may need to
+ "set correct permissions":file-dir-perms and run @Verify@ on both this platform
+ and each of its sites. Make sure to @Verify@ before running any
+ other Aegir tasks.
+
+* Before running @Clone@, run @Verify@ on the site and its platform.
+
+* After running @Clone@, run @Verify@ on both the original and the cloned sites.
+
+* Before running @Migrate@, run @Verify@ on the site and on both the
+ current and the target platforms.
+
+* To "*rename a site*":rename-task, use @Migrate@, but
+ *keep the site on the same platform*.
+ (Never change a site's name and platform in the same
+ step. This can lead to irreversible breakage.)
+
+h2. References
+
+"Set Correct Permissions for Files You Copy Into Aegir":file-dir-perms
+
+"Rename Your Aegir Site":rename-task
+
+[ssh]
+[file-dir-perms]
+[rename-task]
diff --git a/03.managing/modules/add-module-site/docs.md b/03.managing/02.modules/add-module-site/docs.md
similarity index 54%
rename from 03.managing/modules/add-module-site/docs.md
rename to 03.managing/02.modules/add-module-site/docs.md
index c98268d..8ea1254 100644
--- a/03.managing/modules/add-module-site/docs.md
+++ b/03.managing/02.modules/add-module-site/docs.md
@@ -11,65 +11,63 @@ routes:
aliases:
- /URI
---
+
You can add any module or theme, either for the entire platform or for
a particular site. In general, if you download the module from
drupal.org, you should add it to the entire platform. If you have made
the module or theme yourself, and it is only for one site, it is safe
to add it to the site.
-*Adding* a module does not automatically *enable* it. You can add a
+_Adding_ a module does not automatically _enable_ it. You can add a
module to a platform even if only one site will have it enabled.
-Step-by-Step: Add a Module or Theme to One Site
------------------------------------------------
+h2. Step-by-Step: Add a Module or Theme to One Site
Caution: you should only use this method for a module or theme that
you maintain yourself and is unique to this site.
-1. Upload your module or theme to the site-specific directory. If your
- site is `foo.com`, this will be `sites/foo.com/modules/` or
- `sites/foo.com/themes/`.
+# Upload your module or theme to the site-specific directory. If your
+ site is @foo.com@, this will be @sites/foo.com/modules/@ or
+ @sites/foo.com/themes/@.
+
+# Within this directory, run @chmod -R 775@ to set correct permissions.
-1. Within this directory, run `chmod -R 775` to set
- correct permissions.
+# Rebuild the registry with @drush rr@ or the @Rebuild registry@ Aegir task for the site.
-1. Rebuild the registry with `drush rr` or the `Rebuild registry` Aegir
- task for the site.
+# Enable the module.
-1. Enable the module.
-### Avoid Breaking Your Site(s)
+h3. Avoid Breaking Your Site(s)
-Adding a new module can break your site. You should always **clone your
-live site** and
-**test the new module or theme on the clone**.
+Adding a new module can break your site. You should always *clone your live site* and
+ *test the new module or theme on the clone*.
In general, a new module can't cause damage unless you enable it. In
very rare cases, the mere presence of a module directory can cause
problems for other modules, but this is unusual.
-Overrides are even more dangerous, since they *automatically* upgrade
+Overrides are even more dangerous, since they _automatically_ upgrade
(or downgrade!) the site, with no built-in way to roll back your
changes. If you make this upgrade for the platform, you could break
all the sites in one fell stroke.
Instead, make a new platform, with the new versions of the modules.
-Then [migrate each site to the new platform](migrate-platform). If you
+Then "migrate each site to the new platform":migrate-platform. If you
follow all the steps, Aegir protects your sites from permanent damage.
You can safely restore your sites if they break.
-### Always Put Contrib Modules in `sites/all/modules`
+h3. Always Put Contrib Modules in @sites/all/modules@
When you upload a module from drupal.org, it should go into
-`sites/all/modules`. Same for themes. If you download it, put it in
-`sites/all/themes`. You want one copy for the whole platform.
+@sites/all/modules@. Same for themes. If you download it, put it in
+@sites/all/themes@. You want one copy for the whole platform.
If you instead put a contrib module in the site-specific
-`sites/foo.com/modules/`, you will eventually forget about it, and
-this **old module will make your site insecure**. Even if you upgrade
-the platform version of this module in `sites/all/modules`, your old,
+@sites/foo.com/modules/@, you will eventually forget about it, and
+this *old module will make your site insecure*. Even if you upgrade
+the platform version of this module in @sites/all/modules@, your old,
insecure, site-specific version will silently override it.
-The only exception is if you *want* to override a module on a
+The only exception is if you _want_ to override a module on a
particular site. But the safe option is to prepare an upgraded
platform and migrate the site.
diff --git a/03.managing/modules/advagg/docs.md b/03.managing/02.modules/advagg/docs.md
similarity index 55%
rename from 03.managing/modules/advagg/docs.md
rename to 03.managing/02.modules/advagg/docs.md
index f71f266..fe892aa 100644
--- a/03.managing/modules/advagg/docs.md
+++ b/03.managing/02.modules/advagg/docs.md
@@ -11,81 +11,71 @@ routes:
aliases:
- /URI
---
+
How to Use the AdvAgg Module on Aegir
Does the layout on your Drupal site break whenever you clear the
cache? If so, you may need the AdvAgg module.
-Problem: Clearing Caches Breaks the Layout
-------------------------------------------
+h2. Problem: Clearing Caches Breaks the Layout
When you're developing a web site, especially the theme, you have to
clear the caches to see the changes you make to CSS and Javascript.
-However, when you clear the caches, the CSS and Javascript seem to
-vanish.
+However, when you clear the caches, the CSS and Javascript seem to vanish.
Your site layout breaks, like it's 1999.
-Solution: Enable the built-in AdvAgg Module
--------------------------------------------
+h2. Solution: Enable the built-in AdvAgg Module
-The problem is that CSS and Javascript files are being *aggregated*
+The problem is that CSS and Javascript files are being _aggregated_
(see below for an explanation). You can solve this problem with the
-[AdvAgg](http://drupal.org/project/advagg) module. This module requires
-special configuration, but don't worry, everything is already
-pre-configured
-for you, and the module is already [included](extra-builtin-modules)
+"AdvAgg":http://drupal.org/project/advagg module. This module requires
+special configuration, but don't worry, everything is already pre-configured
+for you, and the module is already "included":extra-builtin-modules
in every Drupal 6 and Drupal 7 platform. It is enough to simply enable
all its sub-modules. There are a few of them; it is not a single module.
-### Caution
+h3. Caution
-#### Enabling AdvAgg Slows Down My Site!
+h4. Enabling AdvAgg Slows Down My Site!
If you enable AdvAgg, requests and page views will suddenly take more
time to process. Don't worry. This is a normal, one-time event, as
AdvAgg generates the initial aggregated files.
We recommend that you also enable
-the [HTTPRL](http://drupal.org/project/httprl) module, which is also
-[included](extra-builtin-modules). It will improve
+the "HTTPRL":http://drupal.org/project/httprl module, which is also "included":extra-builtin-modules. It will improve
the performance of AdvAgg.
-#### My CSS/Javascript Files Won't Update!
+h4. My CSS/Javascript Files Won't Update!
If you enable AdvAgg, your site will begin to aggregate CSS and
Javascript files using the advanced aggregation. When you edit
the CSS or Javascript source files, you will need to rebuild some of
the aggregated bundles to see your changes.
-However, you no longer need to use the old `Clear cached data` button
-on the Performance page for this purpose. (In fact, it won't do
-anything.)
+However, you no longer need to use the old @Clear cached data@ button
+on the Performance page for this purpose. (In fact, it won't do anything.)
-Instead, use the smart `Flush AdvAgg Cache` button at
-`admin/settings/advagg`. This will intelligently rebuild only the
-aggregated
-bundles which include the modified file, and you'll be able to see your
-changes.
+Instead, use the smart @Flush AdvAgg Cache@ button at
+@admin/settings/advagg@. This will intelligently rebuild only the aggregated
+bundles which include the modified file, and you'll be able to see your changes.
Since the filenames of the aggregated bundles do not change, the layout
will not break when you rebuild them.
-More Information
-----------------
+h2. More Information
-### Without AdvAgg, Why Does Clearing the Caches Break the Layout?
+h3. Without AdvAgg, Why Does Clearing the Caches Break the Layout?
-Without AdvAgg, CSS and Javascript files are normally *aggregated*
+Without AdvAgg, CSS and Javascript files are normally _aggregated_
by Drupal default. We enable simple aggregation for you automatically.
-Files are combined into single (bundled) CSS and Javascript files with
-unique names.
+Files are combined into single (bundled) CSS and Javascript files with unique names.
-When you use the `clear cached data` button on the admin Performance
+When you use the @clear cached data@ button on the admin Performance
page, here's what happens:
-- the aggregated CSS and Javascript files are purged
-- new aggregated files are generated with new names
-- but the cached versions of the site pages still reference the *old*
- aggregated files
+* the aggregated CSS and Javascript files are purged
+* new aggregated files are generated with new names
+* but the cached versions of the site pages still reference the _old_ aggregated files
Now your site is full of old paths. As far as Drupal can tell, the CSS
and Javascript files are all missing. AdvAgg to the rescue!
diff --git a/03.managing/02.modules/boost/docs.md b/03.managing/02.modules/boost/docs.md
new file mode 100644
index 0000000..480e4e7
--- /dev/null
+++ b/03.managing/02.modules/boost/docs.md
@@ -0,0 +1,75 @@
+---
+title: TITLE
+slug: URI
+menu: MENU
+date: 08-08-2016
+published: true
+visible: true
+taxonomy:
+ category: docs
+routes:
+ aliases:
+ - /URI
+---
+
+Using the Boost Module for Caching
+
+The "Boost":https://drupal.org/project/boost module caches full pages
+for *anonymous* visitors only. On our hosting, Boost can be used in
+conjuction with other caching systems such as "Speed Booster":cache-speed-booster
+and "Redis.":cache-redis
+
+h2. Task: Enable Boost
+
+Boost is supported in our Nginx server configuration, so you do not
+use an @.htaccess@ file or need to do any other configuration.
+
+To use Boost, simply:
+
+# *Enable* the module as usual, on the "Modules" admin page.
+
+# If this is a custom platform in the @~/static@ directory, and this is
+ the first site on the platform for which you have enabled Boost,
+ then you must also "Verify" this site in Aegir (see "Caution" below).
+
+** With our built-in platforms, you do not need this extra step.
+
+h2. Task: Disable Boost
+
+You can disable Boost like any other module, on the "Modules" admin page.
+
+To disable Boost for a particular URL on the fly, add @?nocache=1@.
+This will also disable "Speed Boost":cache-speed-booster for that URL.
+
+h2. Caution
+
+h3. Boost Needs a "cache/" Directory
+
+Boost requires a @cache/@ directory in the platform.
+
+~/static/my-platform-01/cache/
)
+
+ ais ------------------------ [D7] ------ [S] + audio ---------------------- [D6] ------ [S] + backup_migrate ------------- [D6,D7] --- [S] + ckeditor ------------------- [D6,D7] --- [S] + fbconnect ------------------ [D6,D7] --- [S] + fckeditor ------------------ [D6] ------ [S] + imagecache ----------------- [D6,D7] --- [S] + imagecache_external -------- [D6,D7] --- [S] + responsive_images ---------- [D7] ------ [S] + tinybrowser ---------------- [D6,D7] --- [S] + tinymce -------------------- [D6] ------ [S] + wysiwyg_spellcheck --------- [D6,D7] --- [S] ++ +h3. Contrib Modules [S]upported & [B]undled: + +
+ advagg --------------------- [D6,D7] --- [S] [B] + blockcache_alter ----------- [D6,D7] --- [S] [B] + boost ---------------------- [D6,D7] --- [S] [B] + cdn ------------------------ [D6,D7] --- [S] [B] + config_perms --------------- [D6,D7] --- [S] [B] + css_emimage ---------------- [D6,D7] --- [S] [B] + dbtuner -------------------- [D6] ------ [S] [B] + esi ------------------------ [D6,D7] --- [S] [B] + expire --------------------- [D6,D7] --- [S] [B] + filefield_nginx_progress --- [D6,D7] --- [S] [B] + flood_control -------------- [D7] ------ [S] [B] + force_password_change ------ [D6,D7] --- [S] [B] + fpa ------------------------ [D6,D7] --- [S] [B] + httprl --------------------- [D6,D7] --- [S] [B] + login_security ------------- [D6,D7] --- [S] [B] + nocurrent_pass ------------- [D7] ------ [S] [B] + phpass --------------------- [D6] ------ [S] [B] + private_upload ------------- [D6] ------ [S] [B] + purge ---------------------- [D6,D7] --- [S] [B] + readonlymode --------------- [D6,D7] --- [S] [B] + reroute_email -------------- [D6,D7] --- [S] [B] + securesite ----------------- [D6,D7] --- [S] [B] + security_review ------------ [D6,D7] --- [S] [B] + site_verify ---------------- [D6,D7] --- [S] [B] + speedy --------------------- [D7] ------ [S] [B] + taxonomy_edge -------------- [D6,D7] --- [S] [B] + textile -------------------- [D6,D7] --- [S] [B] + variable_clean ------------- [D6,D7] --- [S] [B] + vars ----------------------- [D7] ------ [S] [B] + views_content_cache -------- [D6,D7] --- [S] [B] + views404 ------------------- [D6,D7] --- [S] [B] ++ +h3. Contrib Modules [S]upported & [B]undled & [F]orce[E]nabled: + +
+ entitycache ---------------- [D7] ------ [S] [B] [FE] + robotstxt ------------------ [D6,D7] --- [S] [B] [FE] ++ +h3. Special [NA] Contrib Modules [S]upported & [B]undled: + +
+ cache_backport ------------- [D6] ------ [S] [B] [NA] + redis ---------------------- [D6,D7] --- [S] [B] [NA] ++ +h3. Contrib Themes [S]upported & [B]undled & [S]oft[E]nabled: + +
+ admin ---------------------- [D6,D7] --- [S] [B] [SE] + rubik ---------------------- [D6,D7] --- [S] [B] [SE] ++ +h3. Contrib Modules [F]orce[D]isabled: + +
+ css_gzip ------------------- [D6] -------------- [FD] + devel ---------------------- [D6,D7] ----------- [FD] + performance ---------------- [D6,D7] ----------- [FD] + javascript_aggregator ------ [D6] -------------- [FD] + l10n_update ---------------- [D6,D7] ----------- [FD] + poormanscron --------------- [D6] -------------- [FD] + supercron ------------------ [D6] -------------- [FD] ++ +h3. Core Modules [F]orce[D]isabled: + +
+ cookie_cache_bypass -------- [D6] -------------- [FD] + dblog ---------------------- [D6,D7] ----------- [FD] + syslog --------------------- [D6,D7] ----------- [FD] + update --------------------- [D6,D7] ----------- [FD] ++ +h3. Core Modules [F]orce[E]nabled: + +
+ path_alias_cache ----------- [D6] -------------- [FE] ++ +h3. Drush Extensions [S]upported & [B]undled + +Drush Extensions: +
+ clean_missing_modules ------ [D6,D7] --- [S] [B] + drush_ecl ------------------ [D7] ------ [S] [B] + drush_make ----------------- [D6,D7] --- [S] [B] + registry_rebuild ----------- [D6,D7] --- [S] [B] ++ +h2. More Information + +h3. Do These Modules Get Added to Your Custom Platforms? + +*Yes*, these modules will get automatically added to your custom + platform in @~/static/@, but only if: + +# You *add at least one site* to your custom platform, + +# then *wait a day* for the maintenance monitor to run, + +# then *run @Verify@* on the custom platform, to + "keep Aegir informed":keeping-aegir-informed about the new modules. + If you skip this last step, Aegir will not know about the new modules. + +Read more about "adding a custom platform":add-custom-platform to @~/static/@. + +It's probably a good idea to create blank site whenever you add a +custom platform, so that you'll get these modules as soon as possible. + +h3. Where Are Modules Added to Custom Platforms? + +These "built-in" modules are added to your custom platforms using +_symbolic links_, or _symlinks_. + +You won't see these symlinks in the @sites/@ directory. Instead, +they're in a subdirectory of the platform root. + +For 6.x platforms, the extra modules are symlinked in +@modules/o_contrib/@. + +For 7.x platforms, the extra modules are symlinked in +@modules/o_contrib_seven/@. + +Your SSH user can't @cd@ to these directories. If you try, you'll get +a warning. + +h3. How Can You Override Built-In Modules? + +Overriding built-in modules is easy. Drupal already has logic for +overriding modules depending on the filesystem location. Before looking +in the platform root, Drupal will look for each module in: + +- @sites/foo.com/modules/@, the site-specific directory, and then +- @sites/all/modules/@, the platform-wide directory + +To override the built-in platform version of a particular module, +place your copy in either location. + +We strongly recommend that you +place *all contrib modules into @sites/all/modules/@*, +and *never into @sites/foo.com/modules@*. Even +if you'll only use the module on one site, the platform-wide +@sites/all/modules@ offers excellent Aegir support for future +upgrades. + +By contrast, putting modules into the site-specific +@sites/foo.com/modules/@ can cause serious problems and even +breakage. The site-specific directory is best saved for custom, +one-off modules that you develop specifically for that site. + +Read more about "always placing contrib modules into @sites/all/modules@.":sites-all-modules + +[boa] +[platform] +[add-custom-platform] +[keeping-aegir-informed] +[sites-all-modules] diff --git a/03.managing/02.modules/modules-enabled-disabled/docs.md b/03.managing/02.modules/modules-enabled-disabled/docs.md new file mode 100644 index 0000000..cb85b74 --- /dev/null +++ b/03.managing/02.modules/modules-enabled-disabled/docs.md @@ -0,0 +1,95 @@ +--- +title: TITLE +slug: URI +menu: MENU +date: 08-08-2016 +published: true +visible: true +taxonomy: + category: docs +routes: + aliases: + - /URI +--- + +Modules Enabled or Disabled Automatically + +Every morning on your Aegir instance, a daily maintenance monitor +enables some modules and disables others. You can consult the +"complete list of built-in modules":extra-builtin-modules, +but this doc covers the key modules that get turned on or off. + +h2. Key Modules That Get Enabled + +Every morning (in the timezone for your Aegir server), these modules +get *enabled*: + +* "Path alias cache":http://pressflow.org (D6 only) +* "RobotsTxt":https://drupal.org/project/robotstxt (D6 and D7). + +h2. Key Modules That Get Disabled + +Every morning (in the timezone for your Aegir server), these modules +get *disabled*: + +* "Background Process":https://drupal.org/project/background_process, +* "Cookie Cache Bypass Advanced":https://drupal.org/project/cookie_cache_bypass_adv +* DBlog (core) +* Syslog (core) +* "Devel":https://drupal.org/project/devel, +* "Javascript Aggregator":https://drupal.org/project/javascript_aggregator +* "Localization Update":https://drupal.org/project/l10n_update, +* "Poormanscron":https://drupal.org/project/poormanscron, +* "SuperCron":https://drupal.org/project/supercron, +* "Ultimate Cron":https://drupal.org/project/ultimate_cron, +* Update (core) + +* "Boost Crawler":https://drupal.org/project/boost - this Boost's submodule feature + is disabled on the fly, permanently, so it is not affected by the explained + above automated maintenance workflow, but still should be listed here. + +These modules should never be used on a live site. They either aren't +appropriate for a high performance system, or they aren't allowed for +performance reasons. + +Again, for a full list of disabled modules, consult the +"complete list of built-in modules":extra-builtin-modules + +h2. More Information + +h3. Modules to Avoid? + +Even though it is not actually disabled, +you should avoid the "Search 404":https://drupal.org/project/search404 +module. + +h3. What About DBlog or Devel for Development? + +Although DBlog and Devel are disabled each morning, they can be useful +for temporary debugging. You can enable and use these modules as +usual. But they'll be disabled in the morning. + +h4. DBlog Data Stays Intact + +Although DBlog gets disabled, the data collected in the @watchdog@ +table remains intact. To access this data easily, enable DBlog again. + +h4. Beware dpm() and dpr() + +If you use Devel to debug a module, be very careful about adding +@dpm()@ or @dpr()@ calls to your code. These functions depend on +Devel, and they're extremely useful, but you must delete them when +you're done debugging. If you forget to delete them before Devel gets +disabled, your code will break, and probably take down your site. + +h4. Prevent Module Disabling + +To avoid having these modules disabled, include @.devel.@ or @.dev.@ in +the *main domain name*. Adding an alias is not enough. To keep these +modules enabled, the @.devel.@ or @.dev.@ must be included in the main +domain. + + +h2. References + +"Extra Built-In Modules on All Aegir Platforms":extra-builtin-modules diff --git a/03.managing/02.modules/override-module-aegir/docs.md b/03.managing/02.modules/override-module-aegir/docs.md new file mode 100644 index 0000000..8f74a62 --- /dev/null +++ b/03.managing/02.modules/override-module-aegir/docs.md @@ -0,0 +1,105 @@ +--- +title: TITLE +slug: URI +menu: MENU +date: 08-08-2016 +published: true +visible: true +taxonomy: + category: docs +routes: + aliases: + - /URI +--- + +You can also _override_ +existing modules and themes with a new version. + +h2. Overview: _Override_ a Module or Theme + +You can _override_ or module or theme that's already in the platform. +For instance, you can upload a newer or development version. Drupal +will use the version you have uploaded. + +You can override for the entire platform (@sites/all/modules@) or for +one site (@sites/foo.com/modules@). + +Drupal decides which version of a module or theme to run based on its +location in the filesystem. The order of precedence is: + +# @sites/foo.com/modules/@ +# @sites/all/modules@ +# the platform @modules/@ directory +# the platform @profiles/foo/modules@ directory + + *Caution:* Overriding the wrong module or theme can *break all the +sites on your platform*. In general, instead of upgrading, you should +prepare a new platorm, and "migrate each site to the new platform":migrate-platform. +Please read the "Caution" section below before deciding to override. + +h2. Step-by-Step: _Override a Module or Theme for a Platform_ + +*Caution*: You should almost never override a module for an entire platform. +But if you insist, here's how. + +# Upload your module or theme to @sites/all/modules/@ or @sites/all/themes/@ on the platform. + +# Within @sites/all/modules/@ or @sites/all/themes/@, run @chmod -R 775@ to set correct permissions. + +# For each site on the platform, rebuild the registry with @drush rr@ or the @Rebuild registry@ Aegir task. + +# For each site on the platform, run the @Backup@ Aegir task. + +# For each site on the platform, apply any necessary database updates. Use @drush dbup@ or browse to @http:/foo.com/update.php@ + +h2. Step-by-Step: _Override_ a Module or Theme for One Site + +Overriding a module for one site is still dangerous, but at least you can quickly test it first on a copy. + +# Make a test copy of your live site with the @Clone@ task in Aegir. Example: @bar.dev.foo.com@ + +# Upload your module or theme to the site-specific directory *of the test site*. Example: @sites/bar.dev.foo.com/modules/@ + +# Within this directory, run @chmod -R 775@ to set correct permissions. + +# Rebuild the registry with @drush rr@ or the @Rebuild registry@ Aegir task for the site. + +# In Aegir, run the @Backup@ task for the test site. + +# Apply any module updates. Use @drush dbup@ or browse to + @http://bar.dev.foo.com/update.php@. + +# Inspect the test site. If nothing has broken, delete the test site, + and repeat these steps for your live site. + +h2. Caution + + +h3. Don't Override an "Older" Module Without Research + +Sometimes the built-in platforms seem to have "outdated" modules. +Don't assume a lazy maintainer! The newer version might have an +incompatibility or a bug that would bring down all the sites on the +platform. Research carefully before deciding to override. + +h3. Never Hack Core! + +Although you can override modules, you can't override core. If you +want to patch core, you'll need to +"build your own custom platform.":custom-platform +(Please don't request that we patch core on a built-in platform.) + +But you've heard the saying, right? "_Never hack core!_":never-hack-core +We strongly encourage you to avoid patching core, even on your own custom platform. + +In fact, the core we offer on our built-in platforms has _already_ had +important patches and improvements applied. We optimize core for our +hosting. + +If you choose to build your own platforms, we suggest you use the same +core that we offer with our built-in platforms. +We publish our customized cores at our "Omega8cc GitHub +account":https://github.com/omega8cc/: + +* "Drupal 7":https://github.com/omega8cc/7x/ from Omega8cc +* "Pressflow (Drupal 6)":https://github.com/omega8cc/pressflow6/ from Omega8cc diff --git a/03.managing/modules/print-pdf-wkhtmltopdf/docs.md b/03.managing/02.modules/print-pdf-wkhtmltopdf/docs.md similarity index 53% rename from 03.managing/modules/print-pdf-wkhtmltopdf/docs.md rename to 03.managing/02.modules/print-pdf-wkhtmltopdf/docs.md index e9f9bc6..2a9d968 100644 --- a/03.managing/modules/print-pdf-wkhtmltopdf/docs.md +++ b/03.managing/02.modules/print-pdf-wkhtmltopdf/docs.md @@ -11,34 +11,30 @@ routes: aliases: - /URI --- + Print PDFs With "wkhtmltopdf" There are several Drupal modules that let you print a Drupal page as a PDF. These modules may require a third-party "wkhtmltopdf" binary. The BOA system provides this binary, available at the standard -system path: `/usr/bin/wkhtmltopdf`. +system path: @/usr/bin/wkhtmltopdf@. -Problem: Module Can't Find "wkhtmltopdf" ----------------------------------------- +h2. Problem: Module Can't Find "wkhtmltopdf" -Some modules will not recognize `wkhtmltopdf` at -`/usr/bin/wkhtmltopdf`. They may suggest that you instead upload -`wkhtmltopdf` -into one of the `libraries/` or `modules/` trees, or that you symlink -the system level binary in these directories. Neither of these -suggestions are correct -or applicable in the BOA system, and these modules will still refuse to -work. +Some modules will not recognize @wkhtmltopdf@ at +@/usr/bin/wkhtmltopdf@. They may suggest that you instead upload @wkhtmltopdf@ +into one of the @libraries/@ or @modules/@ trees, or that you symlink +the system level binary in these directories. Neither of these suggestions are correct +or applicable in the BOA system, and these modules will still refuse to work. -Solution: Patch Your Module ---------------------------- +h2. Solution: Patch Your Module We recommend that you patch your module to use the -correct system level binary at `/usr/bin/wkhtmltopdf`. The patch -should be trivial: see [this patch](wkhtmltopdf-patch) for reference. +correct system level binary at @/usr/bin/wkhtmltopdf@. The patch +should be trivial: see "this patch":wkhtmltopdf-patch for reference. If you have never patched a module, see -[this tutorial on drupal.org.](drupal-patch) +"this tutorial on drupal.org.":drupal-patch [wkhtmltopdf]http://code.google.com/p/wkhtmltopdf/downloads/list diff --git a/03.managing/modules/robots-txt/docs.md b/03.managing/02.modules/robots-txt/docs.md similarity index 52% rename from 03.managing/modules/robots-txt/docs.md rename to 03.managing/02.modules/robots-txt/docs.md index 8d3e3cd..daebdc6 100644 --- a/03.managing/modules/robots-txt/docs.md +++ b/03.managing/02.modules/robots-txt/docs.md @@ -11,89 +11,73 @@ routes: aliases: - /URI --- + How to Use robots.txt on Aegir -Aegir, being based on the Drupal Multisite feature, requires that every -site +Aegir, being based on the Drupal Multisite feature, requires that every site has its own copy of the "robots.txt" file. You can't use a single, -central "robots.txt" file in the platform root directory, because it -would be +central "robots.txt" file in the platform root directory, because it would be shared across all sites on the same platform. -Problem: You need to customize "robots.txt" per site ----------------------------------------------------- +h2. Problem: You need to customize "robots.txt" per site -The BOA system enables "robots.txt" support for every hosted site, but -it comes -with the contents of the default Drupal "robots.txt" file. If your -Drupal site +The BOA system enables "robots.txt" support for every hosted site, but it comes +with the contents of the default Drupal "robots.txt" file. If your Drupal site on Aegir needs a custom "robots.txt" file, you can't put -"robots.txt" in the root of your platform directory, because the BOA -system +"robots.txt" in the root of your platform directory, because the BOA system will delete it, to meet requirements of supported RobotsTxt module. -Solution 1: RobotsTxt Module ----------------------------- +h2. Solution 1: RobotsTxt Module -Use the [RobotsTxt](http://drupal.org/project/robotstxt) module. With -RobotsTxt, you can configure `robots.txt` for each site separately. +Use the "RobotsTxt":http://drupal.org/project/robotstxt module. With +RobotsTxt, you can configure @robots.txt@ for each site separately. -Drupal 6: `admin/settings/robotstxt` +Drupal 6: @admin/settings/robotstxt@ -Drupal 7: `admin/config/search/robotstxt` +Drupal 7: @admin/config/search/robotstxt@ You don't need to download RobotsTxt. This module is on the -[list of modules that come bundled](supported-enabled-disabled) on all -BOA -[built-in platforms,](built-in-platforms). RobotsTxt is enabled by -default. +"list of modules that come bundled":supported-enabled-disabled on all BOA +"built-in platforms,":built-in-platforms. RobotsTxt is enabled by default. -Solution 2: Put "robots.txt" in "files/" ----------------------------------------- +h2. Solution 2: Put "robots.txt" in "files/" The downside to RobotsTxt is that, even with caching, the bots are still hitting Drupal. -For better performance, upload a separate, unique `robots.txt` file to -the `files/` directory for any site. +For better performance, upload a separate, unique @robots.txt@ file to +the @files/@ directory for any site. -For instance, for `foo.com`, you want `/sites/foo.com/files/robots.txt`. +For instance, for @foo.com@, you want @/sites/foo.com/files/robots.txt@. -Thanks to our built-in Nginx rewrites, a `robots.txt` at this location +Thanks to our built-in Nginx rewrites, a @robots.txt@ at this location will take precedence over the RobotsTxt module for that site. -Automatically generated "robots.txt" ------------------------------------- +h2. Automatically generated "robots.txt" Starting with BOA-2.0.10, the system will generate this static file automatically for every active site. This means that if you make any changes in the RobotsTxt module configuration, they will not be -active until you delete the existing `/sites/foo.com/files/robots.txt` +active until you delete the existing @/sites/foo.com/files/robots.txt@ static file. This will allow the system to regenerate it from updated settings. -Domain Access compatibility ---------------------------- +h2. Domain Access compatibility -Starting with BOA-2.0.10, our built-in Nginx rewrites support -additional, -per-domain "robots.txt" files located in the same -`/sites/foo.com/files/` +Starting with BOA-2.0.10, our built-in Nginx rewrites support additional, +per-domain "robots.txt" files located in the same @/sites/foo.com/files/@ directory. These extra files can't be generated automatically, and they are also completely independent from RobotsTxt module. These files must be created and managed mnaually. They should follow this naming convention: -`/sites/foo.com/files/foo.com.robots.txt` -`/sites/foo.com/files/bar.com.robots.txt` +@/sites/foo.com/files/foo.com.robots.txt@ +@/sites/foo.com/files/bar.com.robots.txt@ -Nginx will try to find the file that matches the currently requested -domain. -For example, it will automatically map a `http://foo.com/robots.txt` -request -to the file `/sites/foo.com/files/foo.com.robots.txt` (if this file -exists). +Nginx will try to find the file that matches the currently requested domain. +For example, it will automatically map a @http://foo.com/robots.txt@ request +to the file @/sites/foo.com/files/foo.com.robots.txt@ (if this file exists). [add-custom-platform]:link diff --git a/03.managing/why-use-built-in-platforms/docs.md b/03.managing/03.why-use-built-in-platforms/docs.md similarity index 58% rename from 03.managing/why-use-built-in-platforms/docs.md rename to 03.managing/03.why-use-built-in-platforms/docs.md index c9c7942..120f468 100644 --- a/03.managing/why-use-built-in-platforms/docs.md +++ b/03.managing/03.why-use-built-in-platforms/docs.md @@ -11,53 +11,48 @@ routes: aliases: - /URI --- + When to Use Our Built-In Aegir Platforms -Problem: Should You Use Built-in Aegir Platforms? -------------------------------------------------- +h2. Problem: Should You Use Built-in Aegir Platforms? -You can either [add a custom platform](add-custom-platform) to Aegir or -use one of our [built-in platforms](built-in-platforms). Which should +You can either "add a custom platform":add-custom-platform to Aegir or +use one of our "built-in platforms":built-in-platforms. Which should you choose? -Solution: Consider the Needs of the Site ----------------------------------------- +h2. Solution: Consider the Needs of the Site The answer depends on the particular site. -### When to Make a Custom Platform +h3. When to Make a Custom Platform A custom platform makes sense if: -- You want to use a "distribution" that isn't included - in the [list of built-in platforms.](built-in-platforms) +* You want to use a "distribution" that isn't included + in the "list of built-in platforms.":built-in-platforms -- You want to use a module that is incompatible with the other modules - on the built-in platorms. +* You want to use a module that is incompatible with the other modules on the built-in platorms. -- You need to patch core. +* You need to patch core. -### When to Use a Built-in Platform +h3. When to Use a Built-in Platform If your site does not fit any of those conditions, consider one of our -[built-in platfroms](built-in-platforms). +"built-in platfroms":built-in-platforms. Built-in platforms offer two major advantages over custom platforms: -- Built-in platforms run on **faster hardware**. +* Built-in platforms run on *faster hardware*. -- Built-in platforms feature carefully chosen, patched, and - maintained - **modules**. You can customize these platforms by adding further - *modules and themes. +* Built-in platforms feature carefully chosen, patched, and maintained + *modules*. You can customize these platforms by adding further + *modules and themes. -More Information ----------------- +h2. More Information -### Fast SSD Drives +h3. Fast SSD Drives -Our Omega8.cc [hybrid storage](hybrid-storage) system relies on quality -SSD +Our Omega8.cc "hybrid storage":hybrid-storage system relies on quality SSD (Solid State Drive) technology to serve up your web sites with blazing speed. But we know you also need plenty of affordable space for your files. When you upload files, they go onto the bigger, but also @@ -67,10 +62,10 @@ These SAS drives are professional grade, with far more speed and quality than the cheap and slow SATA (Serial ATA) drives which are so common among webhosts. But even with SAS, SSD is still faster. -**All our built-in platforms are on these faster SSD drives.** But +*All our built-in platforms are on these faster SSD drives.* But when you add a custom platform, it goes on the slower SAS drive. -### Patched and Curated Modules +h3. Patched and Curated Modules Our built-in platforms offer a carefully selected group of modules that should work cleanly together. You know that these particular @@ -79,15 +74,15 @@ modules, with these particular versions, will function well. Many of the modules, and even parts of core, also include important patches. Sometimes, when a security release comes out for Drupal, we can fix the problem on our platforms by patching core. With our patch, -you don't need to [migrate to an updated platform](migrate-platform). +you don't need to "migrate to an updated platform":migrate-platform. -### You Can Customize Our Built-In Platforms +h3. You Can Customize Our Built-In Platforms We know you'll want to add your own modules for your unique sites. No -problem. You can [customize our built-in -platforms](customize-built-in-platform) +problem. You can "customize our built-in platforms":customize-built-in-platform by adding modules and themes. + [hybrid-storage]http://omega8.cc/hybrid-storage-high-speed-big-space-237 [extra-modules-available]http://omega8.cc/extra-modules-available-in-all-platforms-123 diff --git a/03.managing/customize-built-in-platforms/docs.md b/03.managing/04.customize-built-in-platforms/docs.md similarity index 52% rename from 03.managing/customize-built-in-platforms/docs.md rename to 03.managing/04.customize-built-in-platforms/docs.md index 2362c05..0f920d1 100644 --- a/03.managing/customize-built-in-platforms/docs.md +++ b/03.managing/04.customize-built-in-platforms/docs.md @@ -11,42 +11,37 @@ routes: aliases: - /URI --- + Add a Module or Theme to a Built-in Platform When you create a new Drupal site on Aegir, you get a choice of many -[built-in platforms](built-in-platforms). Each platform offers a +"built-in platforms":built-in-platforms. Each platform offers a particular collection of useful modules. But you can add modules and themes to these built-in platforms. Once you add a module or theme to your platform, you can enable it for any site on the platform. -Task: Add a Module or Theme to a Platform ------------------------------------------ +h2. Task: Add a Module or Theme to a Platform -1. Upload your module or theme to `sites/all/modules/` or - `sites/all/themes/` on the platform. +# Upload your module or theme to @sites/all/modules/@ or @sites/all/themes/@ on the platform. -1. Within `sites/all/modules/` or `sites/all/themes/`, run - `chmod -R 775` to set correct permissions. +# Within @sites/all/modules/@ or @sites/all/themes/@, run @chmod -R 775@ to set correct permissions. -1. In Aegir, run `Verify` on this platform. +# In Aegir, run @Verify@ on this platform. -1. For each site on the platform, rebuild the registry with `drush rr` - or the `Rebuild registry` Aegir task. +# For each site on the platform, rebuild the registry with @drush rr@ or the @Rebuild registry@ Aegir task. -1. Enable the module on the site(s) where you want to use it. For each - site, you may wish to test the new module on a clone first. +# Enable the module on the site(s) where you want to use it. For each + site, you may wish to test the new module on a clone first. -References ----------- +h2. References -[Add a Module or Theme to a Site on Aegir](add-module-site) +"Add a Module or Theme to a Site on Aegir":add-module-site -[Override a Module or Theme on Aegir](override-module) +"Override a Module or Theme on Aegir":override-module -[Customize Our Built-in Platforms Instead of Adding Custom -Platforms.](link) +"Customize Our Built-in Platforms Instead of Adding Custom Platforms.":link [hybrid-storage]http://omega8.cc/hybrid-storage-high-speed-big-space-237 diff --git a/03.managing/add-custom-platform-properly/docs.md b/03.managing/add-custom-platform-properly/docs.md index c24857f..b7b37b3 100644 --- a/03.managing/add-custom-platform-properly/docs.md +++ b/03.managing/add-custom-platform-properly/docs.md @@ -11,107 +11,101 @@ routes: aliases: - /URI --- + How to Add Your Custom Platforms to Aegir -**Before you begin:** This doc explains how to add your own custom -[platform](platform) to Aegir. But first, we suggest that you look at -our many [built-in platforms](built-in-platforms). Our -built-in-platforms are [easy to customize](customize-built-in), and +*Before you begin:* This doc explains how to add your own custom +"platform":platform to Aegir. But first, we suggest that you look at +our many "built-in platforms":built-in-platforms. Our +built-in-platforms are "easy to customize":customize-built-in, and will always run a little faster than any custom platforms you upload. However, if you want to build a custom platform on Aegir, here's how. -Task: Add a Custom Platform to Aegir ------------------------------------- +h2. Task: Add a Custom Platform to Aegir -Step-by-Step: Add a Custom Platform to Aegir --------------------------------------------- +h2. Step-by-Step: Add a Custom Platform to Aegir -### Step 1: Put your custom platform files into `~/static` +h3. Step 1: Put your custom platform files into @~/static@ Always create your custom platform in a new directory within the -`~/static/` directory tree. If your platform root directory is `foo`, -we suggest `~/static/platforms/foo`. +@~/static/@ directory tree. If your platform root directory is @foo@, +we suggest @~/static/platforms/foo@. -You have various options for copying your platform files into this -directory: +You have various options for copying your platform files into this directory: -- Upload the files with a tool like FTPS/SFTP or `rsync` over SSH. +* Upload the files with a tool like FTPS/SFTP or @rsync@ over SSH. -- Use a Drush [makefile](makefile). For example: +* Use a Drush "makefile":makefile. For example: -`drush make ~/static/makefiles/foo.make ~/static/platforms/foo` +@drush make ~/static/makefiles/foo.make ~/static/platforms/foo@ If you upload files from an existing platform, make sure to *remove any files for individual sites*. If Aegir discovers any sites in the -`sites` directory, it will attempt to add them, fail, and cause +@sites@ directory, it will attempt to add them, fail, and cause problems for you later. If this happens, delete the platform node in Aegir. This will also -delete all the failed site nodes. Remove all sites from the `sites/` +delete all the failed site nodes. Remove all sites from the @sites/@ directory, and try again. -### Step 2: Give your platform files the correct permissions +h3. Step 2: Give your platform files the correct permissions Both the platform's root directory (such as -`~/static/platforms/foo`) and its `sites/` subdirectory must be group +@~/static/platforms/foo@) and its @sites/@ subdirectory must be group writable. -**Set these permissions with two simple commands:** +*Set these permissions with two simple commands:* - chmod 775 ~/static/platforms/foo - chmod -R 775 ~/static/platforms/foo/sites +bc. chmod 775 ~/static/platforms/foo +chmod -R 775 ~/static/platforms/foo/sites -You must set these permissions *before* you add the platform to Aegir +You must set these permissions _before_ you add the platform to Aegir in the next step. If you try to add the platform while the files have the wrong permissions, Aegir will show warnings and it will cause serious problems later. -Make sure you use chmod **775**, and not 755. +Make sure you use chmod *775*, and not 755. -### Step 3: Get the full system path to your new platform +h3. Step 3: Get the full system path to your new platform Get the full system path to your new platform: - cd ~/static/platforms/foo - pwd +bc. cd ~/static/platforms/foo +pwd Save this path for the next step. -### Step 4: Create the Platform Within Aegir +h3. Step 4: Create the Platform Within Aegir -1. Log into the Aegir control panel and click "Add Platform". +# Log into the Aegir control panel and click "Add Platform". -1. Type in a name for your platform. +# Type in a name for your platform. -1. Once you type the name, Aegir will autogenerate a path - to where the custom platform is expected to be. +# Once you type the name, Aegir will autogenerate a path + to where the custom platform is expected to be. -1. Make sure this path matches the path you got in the previous step. - If not, click the little `edit` link - and set this to the correct path. +# Make sure this path matches the path you got in the previous step. If not, click the little @edit@ link + and set this to the correct path. -1. Leave the "Platform Makefile" field blank (see below). +# Leave the "Platform Makefile" field blank (see below). -1. Save your platform. +# Save your platform. Done! You can now add and migrate sites to this platform. -Caution -------- +h2. Caution -### Help! "drush make" Fails +h3. Help! "drush make" Fails -- Did you create the **parent directory** for your new platform? If - your - target is `~/static/platforms/foo`, you must first create the - parent - directory, `~/static/platforms`. +* Did you create the *parent directory* for your new platform? If your +target is @~/static/platforms/foo@, you must first create the parent +directory, @~/static/platforms@. -- Add the `-d` flag, and try again. (`drush make -d ...`) You'll get - debugging output. +* Add the @-d@ flag, and try again. (@drush make -d ...@) You'll get + debugging output. -### Should You Let Aegir Build Your Platform? +h3. Should You Let Aegir Build Your Platform? When you use the "Add Platform" task in the last step, there is a "Platform Makefile" field. If you don't want to upload the files @@ -122,49 +116,43 @@ files, sets the permissions, and adds the platform. All in one step. However, if the build fails in Aegir, it can create ghost nodes, which adds an extra hassle. -If you use `drush make` as described above, you can debug problems with -`-d`. +If you use @drush make@ as described above, you can debug problems with @-d@. -### "Platform Path" vs. "Platform Makefile" +h3. "Platform Path" vs. "Platform Makefile" -The **Platform Path** points to the files for the platform. This path -is +The *Platform Path* points to the files for the platform. This path is shown directly under the Platform name. Aegir guesses this path automatically, but you can edit it if needed. -The **Platform Makefile** is the *optional* path or URL to the drush +The *Platform Makefile* is the _optional_ path or URL to the drush makefile used to build the platform. If you follow the steps in this doc, you will leave this field blank. For more information, read the help text underneath "Platform Makefile" on the "Add Platform" screen in Aegir. -### Remove Unused Profiles in Your Drupal 7 Custom Platforms +h3. Remove Unused Profiles in Your Drupal 7 Custom Platforms If your Drupal 7 platform uses a non-default profile, we recommend that, for clarity, you remove all three default profiles and leave only your custom profile. -### Begin With Enhanced Core +h3. Begin With Enhanced Core When building your custom platforms, we recommend that you begin with the same enhanced Drupal core we use in all our built-in -platforms. We publish our customized cores at our [Omega8cc GitHub -account](https://github.com/omega8cc/): - -- [Drupal 7](https://github.com/omega8cc/7x/) from Omega8cc -- [Pressflow (Drupal 6)](https://github.com/omega8cc/pressflow6/) from - Omega8cc - -References ----------- - -- [Extra Modules Available in All - Platforms](extra-modules-all-platforms) -- [Supported, Enabled, Disabled -- a Complete - List](supported-enabled-disabled-list) -- [Modules enabled or disabled - automatically](modules-enabled-disabled-automatically) +platforms. We publish our customized cores at our "Omega8cc GitHub +account":https://github.com/omega8cc/: + +* "Drupal 7":https://github.com/omega8cc/7x/ from Omega8cc +* "Pressflow (Drupal 6)":https://github.com/omega8cc/pressflow6/ from Omega8cc + +h2. References + +* "Extra Modules Available in All Platforms":extra-modules-all-platforms +* "Supported, Enabled, Disabled -- a Complete List":supported-enabled-disabled-list +* "Modules enabled or disabled automatically":modules-enabled-disabled-automatically + [customize-built-in]http://omega8.cc/how-to-customize-built-in-platforms-252 diff --git a/03.managing/control-panel-features/chapter.md b/03.managing/control-panel-features/chapter.md deleted file mode 100644 index a53d707..0000000 --- a/03.managing/control-panel-features/chapter.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Advanced -taxonomy: - category: docs ---- - -### Chapter 3 - -# Advanced - -Get into the **nitty gritty** with these advanced topics diff --git a/03.managing/control-panel-features/where-rename-task/docs.md b/03.managing/control-panel-features/where-rename-task/docs.md deleted file mode 100644 index ccae903..0000000 --- a/03.managing/control-panel-features/where-rename-task/docs.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: TITLE -slug: URI -menu: MENU -date: 08-08-2016 -published: true -visible: true -taxonomy: - category: docs -routes: - aliases: - - /URI ---- -Where Is the Rename Task? - -The Aegir admin panel offers a list of possible tasks, but there is no -`Rename` task. - -Task: Rename Your Site's Main Domain ------------------------------------- - -To "rename" your site to a new main domain, **use the `Migrate` task**. - -Do **not** change the platform. Instead, leave the platform unchanged, -and simply enter the new domain for your site. - -More Information ----------------- - -### Never Change the Domain and the Platform in One Step - -The `Migrate` tasks triggers many steps behind the scenes, so it is -critical never to change both the domain name and the platform in one -step. Doing so could make it impossible to run the `Backup` task and -undo any mistakes. - -If you're renaming the domain, keep the site on the same platform. - -If you're migrating to a new platform, keep the same domain name. - -### "www." Prefix Requires Special Handling - -If you want to add or remove the "www." prefix from your domain name, -you will -need an extra step. - -First, `Migrate` the site to some other domain, like `anything.foo.com`. - -Then, `Migrate` from `anything.foo.com` to `www.foo.com` or `foo.com`. - -The reason for the extra step is that Aegir automatically creates an -*alias* based on the main domain. The domain `foo.com` gets an alias -of `www.foo.com`, and the domain of `www.foo.com gets an alias of -`foo.com@. You can't change a main domain to one of its aliases -directly. - -### References - -[How to Manage Aliases and Redirects](manage-aliases-redirects) - -[manage-aliases-redirects] diff --git a/03.managing/gain-access-site/docs.md b/03.managing/gain-access-site/docs.md index ef59ce7..f83607e 100644 --- a/03.managing/gain-access-site/docs.md +++ b/03.managing/gain-access-site/docs.md @@ -11,50 +11,46 @@ routes: aliases: - /URI --- + Log In Without a Password You can log into any site on your Aegir instance without the password. -As long as you can access your Aegir admin panel or [ssh](ssh) into +As long as you can access your Aegir admin panel or "ssh":ssh into your account, you can log in to a Drupal site. -Task: Use a Login Link Instead of a Password --------------------------------------------- +h2. Task: Use a Login Link Instead of a Password -### Using the Aegir Admin Panel: +h3. Using the Aegir Admin Panel: -1. Run the "Reset password" task. +# Run the "Reset password" task. -1. Click the "Log in" link that appears in the upper left under the - small home icon. +# Click the "Log in" link that appears in the upper left under the small home icon. -![Run the "Reset Password" task](http://cdn1.o8.io/cdn/farfuture/LVOwjX3qZOlwoyG2LLk683kduMH_q5m6ujOOP6UiZFg/mtime:1335973438/sites/omega8.cc/files/imagecache/lead-image-home/7/Fullscreen-98.jpg "Run the "Reset Password" task") +!http://cdn1.o8.io/cdn/farfuture/LVOwjX3qZOlwoyG2LLk683kduMH_q5m6ujOOP6UiZFg/mtime:1335973438/sites/omega8.cc/files/imagecache/lead-image-home/7/Fullscreen-98.jpg(Run the "Reset Password" task)! -### Using Drush +h3. Using Drush -If you `ssh` into your Aegir account, you can get the "Log in" link -using drush. +If you @ssh@ into your Aegir account, you can get the "Log in" link using drush. -1. `cd` into a directory for your site. (For example, `sites/foo.com/`) +# @cd@ into a directory for your site. (For example, @sites/foo.com/@) -1. `drush5 uli` +# @drush5 uli@ -1. Copy the link into your browser. This link will log you in to - the site. +# Copy the link into your browser. This link will log you in to the site. -More Information ----------------- +h2. More Information -### So the Site Owner Doesn't Need to Send the Password? +h3. So the Site Owner Doesn't Need to Send the Password? -Correct. You should **never** have the site owner send you a +Correct. You should *never* have the site owner send you a password. Instead, use this technique to log into the site without altering the password. -### Can I Log In As A Particular User? +h3. Can I Log In As A Particular User? If you want to log in as a particular user, you can add that username -to the `drush5 uli` command. For example: +to the @drush5 uli@ command. For example: -`drush5 uli "John Doe"` +@drush5 uli "John Doe"@ [ssh] diff --git a/03.managing/good-habits/chapter.md b/03.managing/good-habits/chapter.md deleted file mode 100644 index a53d707..0000000 --- a/03.managing/good-habits/chapter.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Advanced -taxonomy: - category: docs ---- - -### Chapter 3 - -# Advanced - -Get into the **nitty gritty** with these advanced topics diff --git a/03.managing/good-habits/file-dir-perms/docs.md b/03.managing/good-habits/file-dir-perms/docs.md deleted file mode 100644 index 9ead0c8..0000000 --- a/03.managing/good-habits/file-dir-perms/docs.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: TITLE -slug: URI -menu: MENU -date: 08-08-2016 -published: true -visible: true -taxonomy: - category: docs -routes: - aliases: - - /URI ---- -Set Correct Permissions for Files You Copy Into Aegir - -When you copy files or directories into Aegir, Aegir will *usually* -set the correct permissions. However, to avoid headaches, you should -understand when and how to set correct permissions manually. - -Task: Set Correct Permissions For Files You Copy ------------------------------------------------- - -These steps will set all possible permissions for your site. - -1. [`ssh` in](ftp-ssh-access) to your Aegir account - -1. `cd` to the site-specific directory for your Aegir site. If your - site is `foo.com`, this will be `sites/foo.com/` in the - [platform](platform) - directory. - -1. `chmod -R 775 libraries/* modules/* themes/*` - -1. `chmod -R 777 files/*` - -**** Use **777** here, not **775** - -**** Ignore any "Operation not permitted" warnings. - -1. `cd` into `sites/all`. - -1. `chmod -R 775 libraries/* modules/* themes/*` - -1. Now run the `Verify` task on every [platform](platform) - and site affected by these new files and directories. - -More Information ----------------- - -### When Do You Need to Set Permissions Manually? - -Aegir **will** set correct permissions automatically when you upload -files or directories using **SFTP** or **FTPS**. - -The exception are files in `sites/foo.com/files/`. If you **overwrite** -a file that needs to be writable by the web server, you can cause -problems, such as a broken layout. - -Aegir **will not** set correct permissions when: - -- files have been transferred via `rsync` or `scp` on the command line -- files have been downloaded with `drush` on the command line -- files have been extracted from `tar` or `zip` archives on the - command line - -Every morning (in the local timezone for your server/datacenter), a -[BOA](boa) maintenance script will automatically fix all these -permissions. - -However, if you run Aegir tasks while the permissions are still -incorrect, -you can cause problems. You should fix permissions -manually **before you run any Aegir tasks**. - -### What If You Don't Set These Permissions? - -- You can **lose write permissions** to your uploaded files if you - run - the `Clone` or `Migrate` task. - -- The **web server may lose write permissions**, which can break your - site layout. Many site layouts require the web server to write - temporary files to the `files/` directory. - -These issues will not resolve until the maintenance script runs in the -morning. - -### Must You Set Permissions After Updates? - -**Yes**. When you download updated libraries, modules, or themes, these -are new files. You must set correct permissions, just as you did with -the original files. - -### Which Directories Cannot Be Changed? - -Never try to `chmod` the `files/`, `modules/`, `themes/` or -`libraries/` directories themselves. Instead, `chmod` their -subdirectories and files, by adding the `-R` switch and an asterisk -(`*`). - -This command will **fail**: - -`chmod 777 files/` - -But this command is **correct**: - -`chmod 777 -R files/*` - -### "Operation Not Permitted"? - -If you `ssh` in and set correct permissions within the `files/` -directory, you may see this error: `Operation not permitted.` This is -expected, because your SSH user is neither an owner of this directory -nor of any files owned or created by the web server. - -But this error can safely be ignored. The command will still set -correct permissions for any files you have uploaded. - -References ----------- - -[Keeping Aegir Informed With Aegir Tasks](keeping-aegir-informed) - -[ftp-ssh-access] -[platform] -[sites-all-modules] -[keeping-aegir-informed] diff --git a/03.managing/good-habits/keeping-aegir-informed/docs.md b/03.managing/good-habits/keeping-aegir-informed/docs.md deleted file mode 100644 index ad2fc74..0000000 --- a/03.managing/good-habits/keeping-aegir-informed/docs.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: TITLE -slug: URI -menu: MENU -date: 08-08-2016 -published: true -visible: true -taxonomy: - category: docs -routes: - aliases: - - /URI ---- -When to Run "Verify" Before Other Aegir Tasks - -Before you run certain Aegir tasks, it's a good idea to run `Verify`. -Although some tasks include `Verify` automatically, a manual `Verify` -lets you troubleshoot problems before trying to run a complex task. - -Task: Verify Before Other Aegir Tasks -------------------------------------- - -- If you have copied any modules, themes, or libraries into this - platform within the last 24 hours, you may need to - [set correct permissions](file-dir-perms) and run `Verify` on both - this platform - and each of its sites. Make sure to `Verify` before running any - other Aegir tasks. - -- Before running `Clone`, run `Verify` on the site and its platform. - -- After running `Clone`, run `Verify` on both the original and the - cloned sites. - -- Before running `Migrate`, run `Verify` on the site and on both the - current and the target platforms. - -- To [**rename a site**](rename-task), use `Migrate`, but - **keep the site on the same platform**. - (Never change a site's name and platform in the same - step. This can lead to irreversible breakage.) - -References ----------- - -[Set Correct Permissions for Files You Copy Into Aegir](file-dir-perms) - -[Rename Your Aegir Site](rename-task) - -[ssh] -[file-dir-perms] -[rename-task] diff --git a/03.managing/manage-aliases-redirects/docs.md b/03.managing/manage-aliases-redirects/docs.md index b868ba0..044ad6a 100644 --- a/03.managing/manage-aliases-redirects/docs.md +++ b/03.managing/manage-aliases-redirects/docs.md @@ -11,59 +11,57 @@ routes: aliases: - /URI --- + How to Manage Aliases and Redirects When you create a site in Aegir, there is a textarea where you can enter aliases and a checkbox to set whether these aliases should redirect to the main domain. Once the site is created, you can access -these settings again by clicking the `Edit` tab. +these settings again by clicking the @Edit@ tab. -Task: Edit Aliases and Redirects --------------------------------- +h2. Task: Edit Aliases and Redirects -To edit the aliases and redirects for a site, **click the `Edit` tab** +To edit the aliases and redirects for a site, *click the @Edit@ tab* in the upper left. On the Edit screen, you can add or remove aliases in the large -`Domain aliases` textarea. +@Domain aliases@ textarea. -To make all these aliases into redirects, check `Redirect domain -aliases to the main domain`. +To make all these aliases into redirects, check @Redirect domain +aliases to the main domain@. -Task: Redirect to "www." ------------------------- +h2. Task: Redirect to "www." -If you want your main domain to begin with "`www.`", you may need to +If you want your main domain to begin with "@www.@", you may need to take an extra step. If you are creating the site, no extra step is needed. Simply enter -the `www.` domain as the main domain. For instance, you could enter -`www.foo.com`. Aegir will add `foo.com` as an alias *automatically*. +the @www.@ domain as the main domain. For instance, you could enter +@www.foo.com@. Aegir will add @foo.com@ as an alias _automatically_. -However, if you already created the site as `foo.com`, you cannot -`Migrate` it to `www.foo.com` directly. Aegir has already created -`www.foo.com` as an alias. +However, if you already created the site as @foo.com@, you cannot +@Migrate@ it to @www.foo.com@ directly. Aegir has already created +@www.foo.com@ as an alias. Instead: -1. Use the `Migrate` task to move the site to some other domain, - such as `anything.foo.com`. +# Use the @Migrate@ task to move the site to some other domain, +such as @anything.foo.com@. -1. Then `Migrate` the site to `www.foo.com`. +# Then @Migrate@ the site to @www.foo.com@. -1. Finally, set the checkbox to enable redirects. Now a visit to - `foo.com` will cause a 301 redirect to `www.foo.com`. +# Finally, set the checkbox to enable redirects. Now a visit to + @foo.com@ will cause a 301 redirect to @www.foo.com@. -More Information ----------------- +h2. More Information -### Can You Use .htaccess for Redirects? +h3. Can You Use .htaccess for Redirects? -**No.** Aegir and [Nginx](nginx) have no .htaccess file. You must use +*No.* Aegir and "Nginx":nginx have no .htaccess file. You must use the Aegir interface to manage your Nginx redirects. If you need specialized aliases which cannot be created in this interface (for instance, using regular expressions), contact -[support](support). +"support":support. [nginx] diff --git a/03.managing/modules/boost/docs.md b/03.managing/modules/boost/docs.md deleted file mode 100644 index ef14ab9..0000000 --- a/03.managing/modules/boost/docs.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: TITLE -slug: URI -menu: MENU -date: 08-08-2016 -published: true -visible: true -taxonomy: - category: docs -routes: - aliases: - - /URI ---- -Using the Boost Module for Caching - -The [Boost](https://drupal.org/project/boost) module caches full pages -for **anonymous** visitors only. On our hosting, Boost can be used in -conjuction with other caching systems such as [Speed -Booster](cache-speed-booster) -and [Redis.](cache-redis) - -Task: Enable Boost ------------------- - -Boost is supported in our Nginx server configuration, so you do not -use an `.htaccess` file or need to do any other configuration. - -To use Boost, simply: - -1. **Enable** the module as usual, on the "Modules" admin page. - -1. If this is a custom platform in the `~/static` directory, and this - is - the first site on the platform for which you have enabled Boost, - then you must also "Verify" this site in Aegir (see - "Caution" below). - -**** With our built-in platforms, you do not need this extra step. - -Task: Disable Boost -------------------- - -You can disable Boost like any other module, on the "Modules" admin -page. - -To disable Boost for a particular URL on the fly, add `?nocache=1`. -This will also disable [Speed Boost](cache-speed-booster) for that URL. - -Caution -------- - -### Boost Needs a "cache/" Directory - -Boost requires a `cache/` directory in the platform. - - -(Example: <code>~/static/my-platform-01/<strong>cache</strong>/</code>) - -This directory is automatically included on all -our [built-in platforms](built-in-platforms). - -If you [add a custom platform](add-custom-platform), you can also -trigger -the creation of this directory with correct permissions with these -steps: - -1. Enable the Boost module for one of the sites on this platform. - -1. Run the "Verify" task on this site. - -It is important that you use Aegir to create this directory in your -custom platform. You shouldn't create it via FTPS, SFTP, or on the -command -line. If the directory has been copied during the site import -procedure, -you should delete and re-create it via Aegir, as explained above. - -References ----------- - -- [Using Speed Booster Caching](cache-speed-booster) - -- [How to Disable All Caching](cache-disable-all) - -- [How to Disable CSS and Javascript Caching](cache-disable-css-js) - diff --git a/03.managing/modules/chapter.md b/03.managing/modules/chapter.md deleted file mode 100644 index a53d707..0000000 --- a/03.managing/modules/chapter.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Advanced -taxonomy: - category: docs ---- - -### Chapter 3 - -# Advanced - -Get into the **nitty gritty** with these advanced topics diff --git a/03.managing/modules/extra-builtin-modules/docs.md b/03.managing/modules/extra-builtin-modules/docs.md deleted file mode 100644 index a1745d6..0000000 --- a/03.managing/modules/extra-builtin-modules/docs.md +++ /dev/null @@ -1,237 +0,0 @@ ---- -title: TITLE -slug: URI -menu: MENU -date: 08-08-2016 -published: true -visible: true -taxonomy: - category: docs -routes: - aliases: - - /URI ---- -Extra Built-In Modules on All Aegir Platforms - -Every Aegir 6.x and 7.x platform includes certain extra built-in -modules. Some are enabled by default, others are only supported, and a -few are disabled. On this page, you'll find a complete listing of -these modules for the latest stable [BOA](boa) release. You'll also -find more information about working with these modules on your Aegir -sites and [platforms](platform). - -Supported, Enabled, Disabled: Complete List -------------------------------------------- - -This list of built-in modules is updated with each stable "BOA" release. - -### What do the Symbols Mean? - -- `[S]` **Supported**: This module may require custom rewrites on the - web - server level. Since you cannot do this with an `.htaccess` file on - an Nginx server, we have added all required rewrites and - configuration at the system level. Note: not all supported modules - are actually bundled in the platforms; if the list does not include - a `[B]` for a module, you need to download it. Often, the module - listed as supported needs some pre-configuration on the - `settings.php` - file level, so [BOA](boa) comes with these settings pre-configured - in the `global.inc` file. You can't access or edit this file, but it - is - included in every site's `settings.php` automatically. - -- `[B]` **Bundled**: The code for this module is included in the - platform. You don't need to download it; you can simply enable - it. (All bundled modules are supported, but not all supported - modules - are bundled.) - -- `[SE]` **Soft Enabled**: This module is enabled when you `Create` a - "blank" site with Aegir, but if you disable it, the daily - maintenance monitor will not turn it back on. - -- `[FE]` **Force Enabled**: If you disable this module, the daily - monitor - will enable it again. - -- `[FD]` **Force Disabled**: If you enable this module, the daily - monitor will disable it again. (For instance, you can temporarily - enable the `devel` or `dblog` module while you're developing a - site, - but if you forget to disable it, it'll get disabled automatically.) - -- `[NA]` **Special Modules**: This module is used without the need - to enable it. - -- `[D6]` Included and/or Supported on **Drupal 6** platforms - -- `[D7]` Included and/or Supported on **Drupal 7** platforms - -### Contrib Modules [S]upported: - - ais ------------------------ [D7] ------ [S] - audio ---------------------- [D6] ------ [S] - backup_migrate ------------- [D6,D7] --- [S] - ckeditor ------------------- [D6,D7] --- [S] - fbconnect ------------------ [D6,D7] --- [S] - fckeditor ------------------ [D6] ------ [S] - imagecache ----------------- [D6,D7] --- [S] - imagecache_external -------- [D6,D7] --- [S] - responsive_images ---------- [D7] ------ [S] - tinybrowser ---------------- [D6,D7] --- [S] - tinymce -------------------- [D6] ------ [S] - wysiwyg_spellcheck --------- [D6,D7] --- [S] - -### Contrib Modules [S]upported & [B]undled: - - advagg --------------------- [D6,D7] --- [S] [B] - blockcache_alter ----------- [D6,D7] --- [S] [B] - boost ---------------------- [D6,D7] --- [S] [B] - cdn ------------------------ [D6,D7] --- [S] [B] - config_perms --------------- [D6,D7] --- [S] [B] - css_emimage ---------------- [D6,D7] --- [S] [B] - dbtuner -------------------- [D6] ------ [S] [B] - esi ------------------------ [D6,D7] --- [S] [B] - expire --------------------- [D6,D7] --- [S] [B] - filefield_nginx_progress --- [D6,D7] --- [S] [B] - flood_control -------------- [D7] ------ [S] [B] - force_password_change ------ [D6,D7] --- [S] [B] - fpa ------------------------ [D6,D7] --- [S] [B] - httprl --------------------- [D6,D7] --- [S] [B] - login_security ------------- [D6,D7] --- [S] [B] - nocurrent_pass ------------- [D7] ------ [S] [B] - phpass --------------------- [D6] ------ [S] [B] - private_upload ------------- [D6] ------ [S] [B] - purge ---------------------- [D6,D7] --- [S] [B] - readonlymode --------------- [D6,D7] --- [S] [B] - reroute_email -------------- [D6,D7] --- [S] [B] - securesite ----------------- [D6,D7] --- [S] [B] - security_review ------------ [D6,D7] --- [S] [B] - site_verify ---------------- [D6,D7] --- [S] [B] - speedy --------------------- [D7] ------ [S] [B] - taxonomy_edge -------------- [D6,D7] --- [S] [B] - textile -------------------- [D6,D7] --- [S] [B] - variable_clean ------------- [D6,D7] --- [S] [B] - vars ----------------------- [D7] ------ [S] [B] - views_content_cache -------- [D6,D7] --- [S] [B] - views404 ------------------- [D6,D7] --- [S] [B] - -### Contrib Modules [S]upported & [B]undled & [F]orce[E]nabled: - - entitycache ---------------- [D7] ------ [S] [B] [FE] - robotstxt ------------------ [D6,D7] --- [S] [B] [FE] - -### Special [NA] Contrib Modules [S]upported & [B]undled: - - cache_backport ------------- [D6] ------ [S] [B] [NA] - redis ---------------------- [D6,D7] --- [S] [B] [NA] - -### Contrib Themes [S]upported & [B]undled & [S]oft[E]nabled: - - admin ---------------------- [D6,D7] --- [S] [B] [SE] - rubik ---------------------- [D6,D7] --- [S] [B] [SE] - -### Contrib Modules [F]orce[D]isabled: - - css_gzip ------------------- [D6] -------------- [FD] - devel ---------------------- [D6,D7] ----------- [FD] - performance ---------------- [D6,D7] ----------- [FD] - javascript_aggregator ------ [D6] -------------- [FD] - l10n_update ---------------- [D6,D7] ----------- [FD] - poormanscron --------------- [D6] -------------- [FD] - supercron ------------------ [D6] -------------- [FD] - -### Core Modules [F]orce[D]isabled: - - cookie_cache_bypass -------- [D6] -------------- [FD] - dblog ---------------------- [D6,D7] ----------- [FD] - syslog --------------------- [D6,D7] ----------- [FD] - update --------------------- [D6,D7] ----------- [FD] - -### Core Modules [F]orce[E]nabled: - - path_alias_cache ----------- [D6] -------------- [FE] - -### Drush Extensions [S]upported & [B]undled - -Drush Extensions: - - clean_missing_modules ------ [D6,D7] --- [S] [B] - drush_ecl ------------------ [D7] ------ [S] [B] - drush_make ----------------- [D6,D7] --- [S] [B] - registry_rebuild ----------- [D6,D7] --- [S] [B] - -More Information ----------------- - -### Do These Modules Get Added to Your Custom Platforms? - -**Yes**, these modules will get automatically added to your custom -platform in `~/static/`, but only if: - -1. You **add at least one site** to your custom platform, - -1. then **wait a day** for the maintenance monitor to run, - -1. then **run `Verify`** on the custom platform, to - [keep Aegir informed](keeping-aegir-informed) about the new - modules. - If you skip this last step, Aegir will not know about the - new modules. - -Read more about [adding a custom platform](add-custom-platform) to -`~/static/`. - -It's probably a good idea to create blank site whenever you add a -custom platform, so that you'll get these modules as soon as possible. - -### Where Are Modules Added to Custom Platforms? - -These "built-in" modules are added to your custom platforms using -*symbolic links*, or *symlinks*. - -You won't see these symlinks in the `sites/` directory. Instead, -they're in a subdirectory of the platform root. - -For 6.x platforms, the extra modules are symlinked in -`modules/o_contrib/`. - -For 7.x platforms, the extra modules are symlinked in -`modules/o_contrib_seven/`. - -Your SSH user can't `cd` to these directories. If you try, you'll get -a warning. - -### How Can You Override Built-In Modules? - -Overriding built-in modules is easy. Drupal already has logic for -overriding modules depending on the filesystem location. Before looking -in the platform root, Drupal will look for each module in: - -- `sites/foo.com/modules/`, the site-specific directory, and then -- `sites/all/modules/`, the platform-wide directory - -To override the built-in platform version of a particular module, -place your copy in either location. - -We strongly recommend that you -place **all contrib modules into `sites/all/modules/`**, -and **never into `sites/foo.com/modules`**. Even -if you'll only use the module on one site, the platform-wide -`sites/all/modules` offers excellent Aegir support for future -upgrades. - -By contrast, putting modules into the site-specific -`sites/foo.com/modules/` can cause serious problems and even -breakage. The site-specific directory is best saved for custom, -one-off modules that you develop specifically for that site. - -Read more about [always placing contrib modules into -`sites/all/modules`.](sites-all-modules) - -[boa] -[platform] -[add-custom-platform] -[keeping-aegir-informed] -[sites-all-modules] diff --git a/03.managing/modules/modules-enabled-disabled/docs.md b/03.managing/modules/modules-enabled-disabled/docs.md deleted file mode 100644 index 31ffe46..0000000 --- a/03.managing/modules/modules-enabled-disabled/docs.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: TITLE -slug: URI -menu: MENU -date: 08-08-2016 -published: true -visible: true -taxonomy: - category: docs -routes: - aliases: - - /URI ---- -Modules Enabled or Disabled Automatically - -Every morning on your Aegir instance, a daily maintenance monitor -enables some modules and disables others. You can consult the -[complete list of built-in modules](extra-builtin-modules), -but this doc covers the key modules that get turned on or off. - -Key Modules That Get Enabled ----------------------------- - -Every morning (in the timezone for your Aegir server), these modules -get **enabled**: - -- [Path alias cache](http://pressflow.org) (D6 only) -- [RobotsTxt](https://drupal.org/project/robotstxt) (D6 and D7). - -Key Modules That Get Disabled ------------------------------ - -Every morning (in the timezone for your Aegir server), these modules -get **disabled**: - -- [Background Process](https://drupal.org/project/background_process), -- [Cookie Cache Bypass - Advanced](https://drupal.org/project/cookie_cache_bypass_adv) -- DBlog (core) -- Syslog (core) -- [Devel](https://drupal.org/project/devel), -- [Javascript - Aggregator](https://drupal.org/project/javascript_aggregator) -- [Localization Update](https://drupal.org/project/l10n_update), -- [Poormanscron](https://drupal.org/project/poormanscron), -- [SuperCron](https://drupal.org/project/supercron), -- [Ultimate Cron](https://drupal.org/project/ultimate_cron), -- Update (core) - -- [Boost Crawler](https://drupal.org/project/boost) - this Boost's - submodule feature - is disabled on the fly, permanently, so it is not affected by the - explained - above automated maintenance workflow, but still should be - listed here. - -These modules should never be used on a live site. They either aren't -appropriate for a high performance system, or they aren't allowed for -performance reasons. - -Again, for a full list of disabled modules, consult the -[complete list of built-in modules](extra-builtin-modules) - -More Information ----------------- - -### Modules to Avoid? - -Even though it is not actually disabled, -you should avoid the [Search 404](https://drupal.org/project/search404) -module. - -### What About DBlog or Devel for Development? - -Although DBlog and Devel are disabled each morning, they can be useful -for temporary debugging. You can enable and use these modules as -usual. But they'll be disabled in the morning. - -#### DBlog Data Stays Intact - -Although DBlog gets disabled, the data collected in the `watchdog` -table remains intact. To access this data easily, enable DBlog again. - -#### Beware dpm() and dpr() - -If you use Devel to debug a module, be very careful about adding -`dpm()` or `dpr()` calls to your code. These functions depend on -Devel, and they're extremely useful, but you must delete them when -you're done debugging. If you forget to delete them before Devel gets -disabled, your code will break, and probably take down your site. - -#### Prevent Module Disabling - -To avoid having these modules disabled, include `.devel.` or `.dev.` in -the **main domain name**. Adding an alias is not enough. To keep these -modules enabled, the `.devel.` or `.dev.` must be included in the main -domain. - -References ----------- - -[Extra Built-In Modules on All Aegir Platforms](extra-builtin-modules) diff --git a/03.managing/modules/override-module-aegir/docs.md b/03.managing/modules/override-module-aegir/docs.md deleted file mode 100644 index fc4f314..0000000 --- a/03.managing/modules/override-module-aegir/docs.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: TITLE -slug: URI -menu: MENU -date: 08-08-2016 -published: true -visible: true -taxonomy: - category: docs -routes: - aliases: - - /URI ---- -You can also *override* -existing modules and themes with a new version. - -Overview: *Override* a Module or Theme --------------------------------------- - -You can *override* or module or theme that's already in the platform. -For instance, you can upload a newer or development version. Drupal -will use the version you have uploaded. - -You can override for the entire platform (`sites/all/modules`) or for -one site (`sites/foo.com/modules`). - -Drupal decides which version of a module or theme to run based on its -location in the filesystem. The order of precedence is: - -1. `sites/foo.com/modules/` -2. `sites/all/modules` -3. the platform `modules/` directory -4. the platform `profiles/foo/modules` directory - -**Caution:** Overriding the wrong module or theme can *break all the -sites on your platform*. In general, instead of upgrading, you should -prepare a new platorm, and [migrate each site to the new -platform](migrate-platform). -Please read the "Caution" section below before deciding to override. - -Step-by-Step: *Override a Module or Theme for a Platform* ---------------------------------------------------------- - -**Caution**: You should almost never override a module for an entire -platform. -But if you insist, here's how. - -1. Upload your module or theme to `sites/all/modules/` or - `sites/all/themes/` on the platform. - -1. Within `sites/all/modules/` or `sites/all/themes/`, run - `chmod -R 775` to set correct permissions. - -1. For each site on the platform, rebuild the registry with `drush rr` - or the `Rebuild registry` Aegir task. - -1. For each site on the platform, run the `Backup` Aegir task. - -1. For each site on the platform, apply any necessary database updates. - Use `drush dbup` or browse to `http:/foo.com/update.php` - -Step-by-Step: *Override* a Module or Theme for One Site -------------------------------------------------------- - -Overriding a module for one site is still dangerous, but at least you -can quickly test it first on a copy. - -1. Make a test copy of your live site with the `Clone` task in Aegir. - Example: `bar.dev.foo.com` - -1. Upload your module or theme to the site-specific directory **of the - test site**. Example: `sites/bar.dev.foo.com/modules/` - -1. Within this directory, run `chmod -R 775` to set - correct permissions. - -1. Rebuild the registry with `drush rr` or the `Rebuild registry` Aegir - task for the site. - -1. In Aegir, run the `Backup` task for the test site. - -1. Apply any module updates. Use `drush dbup` or browse to - `http://bar.dev.foo.com/update.php`. - -1. Inspect the test site. If nothing has broken, delete the test site, - and repeat these steps for your live site. - -Caution -------- - -### Don't Override an "Older" Module Without Research - -Sometimes the built-in platforms seem to have "outdated" modules. -Don't assume a lazy maintainer! The newer version might have an -incompatibility or a bug that would bring down all the sites on the -platform. Research carefully before deciding to override. - -### Never Hack Core! - -Although you can override modules, you can't override core. If you -want to patch core, you'll need to -[build your own custom platform.](custom-platform) -(Please don't request that we patch core on a built-in platform.) - -But you've heard the saying, right? [*Never hack -core!*](never-hack-core) -We strongly encourage you to avoid patching core, even on your own -custom platform. - -In fact, the core we offer on our built-in platforms has *already* had -important patches and improvements applied. We optimize core for our -hosting. - -If you choose to build your own platforms, we suggest you use the same -core that we offer with our built-in platforms. -We publish our customized cores at our [Omega8cc GitHub -account](https://github.com/omega8cc/): - -- [Drupal 7](https://github.com/omega8cc/7x/) from Omega8cc -- [Pressflow (Drupal 6)](https://github.com/omega8cc/pressflow6/) from - Omega8cc - diff --git a/03.managing/running-scheduled-sites-cron-aegir/docs.md b/03.managing/running-scheduled-sites-cron-aegir/docs.md index 58ae207..819d9d7 100644 --- a/03.managing/running-scheduled-sites-cron-aegir/docs.md +++ b/03.managing/running-scheduled-sites-cron-aegir/docs.md @@ -11,63 +11,56 @@ routes: aliases: - /URI --- + Drupal Cron on Aegir Sites -What is "cron"? Why do your Drupal sites need it? From the [Drupal -handbook](drupal-cron): +What is "cron"? Why do your Drupal sites need it? From the "Drupal handbook":drupal-cron: -> Many Drupal modules have tasks that have to take place from time -> to time. Think of cron as the tolling of a bell, letting Drupal know -> that it should perform the appropriate tasks. +bq. Many Drupal modules have tasks that have to take place from time +to time. Think of cron as the tolling of a bell, letting Drupal know +that it should perform the appropriate tasks. -Task: Schedule Cron for Your Aegir Sites ----------------------------------------- +h2. Task: Schedule Cron for Your Aegir Sites Each of your Aegir sites can run cron at a different interval. You manage each site's scheduled cron interval by editing its site node in the Aegir control panel. -Step-By-Step: Schedule (or Disable) Cron ----------------------------------------- +h2. Step-By-Step: Schedule (or Disable) Cron -1. Within Aegir, click `Sites` to get a list of sites. +# Within Aegir, click @Sites@ to get a list of sites. -1. Click on your site. This brings you to the "site node" for - that site. +# Click on your site. This brings you to the "site node" for that site. -1. Click `Edit`. +# Click @Edit@. -1. You'll see `Cron interval`, and a drop-down list of intervals to - choose from. Choose your cron interval, and save the node. +# You'll see @Cron interval@, and a drop-down list of intervals to + choose from. Choose your cron interval, and save the node. -1. To **disable cron** for this site, select the `Disabled` - interval instead. +# To *disable cron* for this site, select the @Disabled@ interval instead. Aegir will now run cron at this interval for your site. -More Information ----------------- +h2. More Information -### How Often Does Aegir Run Cron by Default? +h3. How Often Does Aegir Run Cron by Default? By default, Aegir runs cron every 3 hours. -### How Does Aegir Actually Run Cron? +h3. How Does Aegir Actually Run Cron? Aegir runs cron via the Drush command line backend. -1. First it attempts `drush elysia-cron`. But this will only work if - you - have configured the [Elysia - Cron](http://drupal.org/project/elysia_cron) module for your site. +# First it attempts @drush elysia-cron@. But this will only work if you +have configured the "Elysia Cron":http://drupal.org/project/elysia_cron module for your site. -1. Then it attempts a standard cron with `drush cron` command. +# Then it attempts a standard cron with @drush cron@ command. -### Can You Use "Elysia Cron"? +h3. Can You Use "Elysia Cron"? Yes. See previous answer. -### How Precise Are the Cron Intervals? +h3. How Precise Are the Cron Intervals? When you set the cron interval on Aegir, the minimum interval listed is only 1 minute! In real life, the minimum precision you can expect @@ -77,44 +70,40 @@ is within 3-5 minutes. So "1 minute" means "as soon as possible". The exact cron time will depend on the number of sites you host and the current load on the system. -### Does Cron Ever Get Skipped? +h3. Does Cron Ever Get Skipped? At certain times of day, the system has a temporary high load, and the scheduled cron may be skipped. -High-load times include our [daily backup](backup-aegir) times: +High-load times include our "daily backup":backup-aegir times: -- Daily R1Soft/Idera filesystem backups +* Daily R1Soft/Idera filesystem backups -- Nightly database server backups +* Nightly database server backups These backups can prevent cron for up to a 1 hour window. The exact timing depends on the server timezone. -### How Can You Run Cron Manually? +h3. How Can You Run Cron Manually? -You **cannot** run cron using the normal Drupal method of accessing -your -site's `cron.php` (`http://foo.com/cron.php`) in your browser. For -increased security and performance, **access to `cron.php` is -disabled.** +You *cannot* run cron using the normal Drupal method of accessing your +site's @cron.php@ (@http://foo.com/cron.php@) in your browser. For +increased security and performance, *access to @cron.php@ is disabled.* But you can still run cron yourself whenever you need it. Here are three ways to run cron manually: -- Use the `Run cron` Aegir task (available as of BOA-2.0.4). - Note that this method will run only the standard `drush cron`, and - not - `drush elysia-cron`. It may not work if you rely on the - [Elysia Cron](http://drupal.org/project/elysia_cron) module. +* Use the @Run cron@ Aegir task (available as of BOA-2.0.4). + Note that this method will run only the standard @drush cron@, and not + @drush elysia-cron@. It may not work if you rely on the + "Elysia Cron":http://drupal.org/project/elysia_cron module. + +* Click the "run cron manually" link at @admin/reports/status@ in the site. -- Click the "run cron manually" link at `admin/reports/status` in - the site. +* On @SSH@ run @drush cron@ (or @drush elysia-cron@, if you have + configured the "Elysia Cron":http://drupal.org/project/elysia_cron module.) -- On `SSH` run `drush cron` (or `drush elysia-cron`, if you have - configured the [Elysia - Cron](http://drupal.org/project/elysia_cron) module.) -[drupal-cron]https://drupal.org/cron + [drupal-cron]https://drupal.org/cron -[backup-aegir]link-to-backups-for-your-aegir-sites + [backup-aegir]link-to-backups-for-your-aegir-sites diff --git a/03.managing/where-rename-task/docs.md b/03.managing/where-rename-task/docs.md new file mode 100644 index 0000000..21839cd --- /dev/null +++ b/03.managing/where-rename-task/docs.md @@ -0,0 +1,59 @@ +--- +title: TITLE +slug: URI +menu: MENU +date: 08-08-2016 +published: true +visible: true +taxonomy: + category: docs +routes: + aliases: + - /URI +--- + +Where Is the Rename Task? + +The Aegir admin panel offers a list of possible tasks, but there is no +@Rename@ task. + +h2. Task: Rename Your Site's Main Domain + +To "rename" your site to a new main domain, *use the @Migrate@ task*. + +Do *not* change the platform. Instead, leave the platform unchanged, +and simply enter the new domain for your site. + +h2. More Information + +h3. Never Change the Domain and the Platform in One Step + +The @Migrate@ tasks triggers many steps behind the scenes, so it is +critical never to change both the domain name and the platform in one +step. Doing so could make it impossible to run the @Backup@ task and +undo any mistakes. + +If you're renaming the domain, keep the site on the same platform. + +If you're migrating to a new platform, keep the same domain name. + +h3. "www." Prefix Requires Special Handling + +If you want to add or remove the "www." prefix from your domain name, you will +need an extra step. + +First, @Migrate@ the site to some other domain, like @anything.foo.com@. + +Then, @Migrate@ from @anything.foo.com@ to @www.foo.com@ or @foo.com@. + +The reason for the extra step is that Aegir automatically creates an +_alias_ based on the main domain. The domain @foo.com@ gets an alias +of @www.foo.com@, and the domain of @www.foo.com gets an alias of +@foo.com@. You can't change a main domain to one of its aliases +directly. + +h3. References + +"How to Manage Aliases and Redirects":manage-aliases-redirects + +[manage-aliases-redirects] diff --git a/04.caching/cache-disable-all/docs.md b/04.caching/cache-disable-all/docs.md index 6da86f1..cfe062e 100644 --- a/04.caching/cache-disable-all/docs.md +++ b/04.caching/cache-disable-all/docs.md @@ -11,52 +11,46 @@ routes: aliases: - /URI --- + How to Disable all Caching and Aggregation Caching and aggregation are huge performance boosts, but when you're developing your site (especially your theme), they can prevent you from seeing your changes. -Quickstart Guide to Disabling Caching -------------------------------------- +h2. Quickstart Guide to Disabling Caching If your layout is broken, and you're not sure whether caching is the culprit, here are some steps to try, in order of difficulty. Most are explained in more detail below. -1. Add ?nocache=1 to the URL and reload. - -1. Add ?noredis=1 to the URL and reload. +# Add ?nocache=1 to the URL and reload. -1. Edit a node or block on the page. This can force the cache to - reload. +# Add ?noredis=1 to the URL and reload. -1. If the page is a view, check whether you need to disable caching - for - the view. +# Edit a node or block on the page. This can force the cache to + reload. -1. Purge all Boost's caches and then "disable the - module"#disable-boost. - The order is very important here. +# If the page is a view, check whether you need to disable caching for + the view. -1. [Use a .dev. or .devel. alias](#caching-dev) for the site, visit - the - admin Performance page via this alias, and try disabling various - caching settings. +# Purge all Boost's caches and then "disable the module"#disable-boost. + The order is very important here. -**** Drupal 6: `admin/settings/performance` +# "Use a .dev. or .devel. alias":#caching-dev for the site, visit the + admin Performance page via this alias, and try disabling various + caching settings. -**** Drupal 7: `admin/config/development/performance` +** Drupal 6: @admin/settings/performance@ +** Drupal 7: @admin/config/development/performance@ -1. Use the [AdvAgg module](#use-advagg), or, if you're already using - it, - uninstall and delete it, if you have a copy in `sites/all/modules/`. +# Use the "AdvAgg module":#use-advagg, or, if you're already using it, + uninstall and delete it, if you have a copy in @sites/all/modules/@. If none of these solve your problem, keep reading to investigate further. -Overview: Disable Caching So You Can Change Settings ----------------------------------------------------- +h2. Overview: Disable Caching So You Can Change Settings On a standard Drupal site, you can disable caching and aggregation settings on a site's "Performance" administrator page. @@ -70,8 +64,7 @@ Note: some caching can only be disabled temporarily. When this caching is enabled again, your settings on the Performance page will also be overridden. -Task: Disable Caching ---------------------- +h2. Task: Disable Caching Here is a full list of all typical settings on the admin Performance page. For each setting, we have the default value, and what you have @@ -80,90 +73,84 @@ to do to change it. These are the main actions you can take to disable different kinds of caching settings: -- [Use a `.dev.` or `.devel.` alias](#caching-dev) -- [Disable Redis](#disable-redis) -- [Disable Speed Booster](#disable-speed-booster) -- [Disable Boost](#disable-boost) -- [Use AdvAgg](#use-advagg) +* "Use a @.dev.@ or @.devel.@ alias":#caching-dev +* "Disable Redis":#disable-redis +* "Disable Speed Booster":#disable-speed-booster +* "Disable Boost":#disable-boost +* "Use AdvAgg":#use-advagg Note which action affects which settings in the charts below. -### Drupal 6 Performance Page Settings - -Access this Drupal 6 Performance page at: `/admin/settings/performance` - - --------------------------- --------------------------- ------------------------------------------------------------------------------ - _. Setting _. Default Value _. How to Override - Caching Mode Forced as Normal "Use `.dev.` or `.devel.`":#caching-dev - Minimum Cache Lifetime Forced as none "Disable Redis":#disable-redis - Page Cache Maximum Age Forced as none "Disable Redis":#disable-redis - Page Compression Always Forced as Disabled Cannot be disabled (Nginx) - Block Cache Never Forced No action needed. - Optimize CSS Files Forced Enabled (see note) [Disable Speed Booster](#disable-speed-booster) and "Boost":#disable-boost. - Optimize Javascript Files Forced Enabled (see note) [Disable Speed Booster](#disable-speed-booster) and "Boost":#disable-boost. - --------------------------- --------------------------- ------------------------------------------------------------------------------ - -Note: if [AdvAgg 6.x](#use-advagg) is present (even if it's not enabled -for this site), then both **Optimize CSS Files** and *Optimize -Javascript Files* are Forced *Disabled*. You must [configure -AdvAgg](module-advagg) +h3. Drupal 6 Performance Page Settings + +Access this Drupal 6 Performance page at: @/admin/settings/performance@ + +| _. Setting | _. Default Value | _. How to Override | +| Caching Mode | Forced as Normal | "Use @.dev.@ or @.devel.@":#caching-dev | +| Minimum Cache Lifetime | Forced as none | "Disable Redis":#disable-redis | +| Page Cache Maximum Age | Forced as none | "Disable Redis":#disable-redis | +| Page Compression | Always Forced as Disabled | Cannot be disabled (Nginx) | +| Block Cache | Never Forced | No action needed. | +| Optimize CSS Files | Forced Enabled (see note) | "Disable Speed Booster":#disable-speed-booster and "Boost":#disable-boost. | +| Optimize Javascript Files | Forced Enabled (see note) | "Disable Speed Booster":#disable-speed-booster and "Boost":#disable-boost. | + +Note: if "AdvAgg 6.x":#use-advagg is present (even if it's not enabled +for this site), then both *Optimize CSS Files* and *Optimize +Javascript Files* are Forced _Disabled_. You must "configure AdvAgg":module-advagg instead. -### Drupal 7 Performance Page Settings +h3. Drupal 7 Performance Page Settings -Access the Drupal 7 Performance page at: -`admin/config/development/performance`). +Access the Drupal 7 Performance page at: @admin/config/development/performance@). - ---------------------------------- --------------------------- ------------------------------------------ - _. Setting _. Default Value _. How to Override - Cache Pages For Anonymous Users Forced Enabled "Use `.dev.` or `.devel.`":#caching-dev - Minimum Cache Lifetime Forced as none "Disable Redis":#disable-redis - Expiration Of Cached Pages Forced as none "Disable Redis":#disable-redis - Compress Cached Pages Always Forced as Disabled Cannot be disabled (Nginx) - Aggregate And Compress CSS Files Forced Enabled "Use `.dev.` or `.devel.`":#caching-dev - Aggregate Javascript Files Forced Enabled "Use `.dev.` or `.devel.`":#caching-dev - ---------------------------------- --------------------------- ------------------------------------------ +| _. Setting | _. Default Value | _. How to Override | +| Cache Pages For Anonymous Users | Forced Enabled | "Use @.dev.@ or @.devel.@":#caching-dev | +| Minimum Cache Lifetime | Forced as none | "Disable Redis":#disable-redis | +| Expiration Of Cached Pages | Forced as none | "Disable Redis":#disable-redis | +| Compress Cached Pages | Always Forced as Disabled | Cannot be disabled (Nginx) | +| Aggregate And Compress CSS Files | Forced Enabled | "Use @.dev.@ or @.devel.@":#caching-dev | +| Aggregate Javascript Files | Forced Enabled | "Use @.dev.@ or @.devel.@":#caching-dev | h3. Task: Use a ".dev." or ".devel." Alias -#### Overview: The ".dev." or ".devel." Alias +h4. Overview: The ".dev." or ".devel." Alias -Whenever you access a site with an alias that includes `.dev.` or -`.devel.`, certain caching and aggregation settings, which are normally +Whenever you access a site with an alias that includes @.dev.@ or +@.devel.@, certain caching and aggregation settings, which are normally forced as enabled, can be disabled on the Performance page. See the tables above for which settings are affected by this alias. -#### Step-by-Step: Add a ".dev." or ".devel." Alias +h4. Step-by-Step: Add a ".dev." or ".devel." Alias -1. In Aegir, click "Sites". +# In Aegir, click "Sites". -1. Click your site name. This brings to your site node. +# Click your site name. This brings to your site node. -1. Click "edit". +# Click "edit". -1. Add an alias that includes `.dev.` or `.devel.` +# Add an alias that includes @.dev.@ or @.devel.@ -**** Note: the alias **must include both periods**. +** Note: the alias *must include both periods*. -***** `bar.dev.foo.com` and `bar.devel.foo.com` will work. +*** @bar.dev.foo.com@ and @bar.devel.foo.com@ will work. -***** `devel.foo.com` and `dev_foo.com` will **not** work. +*** @devel.foo.com@ and @dev_foo.com@ will *not* work. -***** The exception is a domain which *begins* with `dev.`; so -`dev.foo.com` will still work. +*** The exception is a domain which _begins_ with @dev.@; so +@dev.foo.com@ will still work. -1. Save the node and wait until the Verify task completes. - You can now access your site via this alias! Visit the Performance - page via this alias to change the desired settings. +# Save the node and wait until the Verify task completes. + You can now access your site via this alias! Visit the Performance + page via this alias to change the desired settings. -The public domain name for this site will *not* be affected. If you +The public domain name for this site will _not_ be affected. If you want to change the behavior for the public site, you will need to try one of the other actions, such as disabling Speed Booster. -Using `.dev.` or `.devel.` will *allow* to disable caching, but it does +Using @.dev.@ or @.devel.@ will _allow_ to disable caching, but it does not actually disable anything automatically. The one thing it does do -is set the [TTL](ttl) (cache time) for Speed Booster down to 1 second. +is set the "TTL":ttl (cache time) for Speed Booster down to 1 second. (Since it uses a cookie, bots are not affected.) @@ -183,34 +170,34 @@ Boost is an ordinary module, and can be disabled on the Modules admin page as usual. You can also disable Boost for any URL on the fly by adding -`?nocache=1`. This will also disable Speed Booster for that URL. +@?nocache=1@. This will also disable Speed Booster for that URL. h3. Task: Use AdvAgg to Disable CSS and Javascript Aggregation (copy section from module-advagg once module-advagg is approved) -More Information ----------------- +h2. More Information -### Which Caching is Enabled Automatically? +h3. Which Caching is Enabled Automatically? Our hosting comes with certain caching/aggregation enabled and active -**automatically**. You can disable these, but only **temporarily**. +*automatically*. You can disable these, but only *temporarily*. -- [Redis caching](cache-redis) -- [Speed Booster caching](cache-speed-booster) -- Nginx (web server) caching, which cannot be disabled +* "Redis caching":cache-redis +* "Speed Booster caching":cache-speed-booster +* Nginx (web server) caching, which cannot be disabled -### Which Caching is Supported But Not Enabled Automatically? +h3. Which Caching is Supported But Not Enabled Automatically? -Our hosting also includes caching/aggregation which is *supported*, +Our hosting also includes caching/aggregation which is _supported_, but not enabled by default. If you have enabled this caching, you may need to disable it. -- [Boost module](module-module), which is included but not enabled. -- [AdvAgg module](module-advagg), which is supported but must - be downloaded. +* "Boost module":module-module, which is included but not enabled. +* "AdvAgg module":module-advagg, which is supported but must be downloaded. + + [redis]https://drupal.org/project/redis [module-advagg] diff --git a/04.caching/cache-disable-css-js/docs.md b/04.caching/cache-disable-css-js/docs.md index 22e39b6..74d9677 100644 --- a/04.caching/cache-disable-css-js/docs.md +++ b/04.caching/cache-disable-css-js/docs.md @@ -11,23 +11,22 @@ routes: aliases: - /URI --- + How to Disable CSS and Javascript Aggregation -Problem: Your Layout Keeps Breaking ------------------------------------ +h2. Problem: Your Layout Keeps Breaking Does the layout on your Drupal site break whenever you clear the cache? Or, do you edit your CSS or Javascript files, clear the cache, and not see any changes? -Solution: Disable CSS/Javascript Aggregation --------------------------------------------- +h2. Solution: Disable CSS/Javascript Aggregation -The problem may be CSS and Javascript *aggregation*. To increase -performance, CSS and Javascript files are by default *aggregated* into +The problem may be CSS and Javascript _aggregation_. To increase +performance, CSS and Javascript files are by default _aggregated_ into single files with unique names. The pages of your Drupal site only load these aggregated files, rather than the source files (like -`styles.css`). +@styles.css@). If you disable aggregation, then the pages should load your source files without any problem. @@ -38,93 +37,82 @@ disabling aggregation is not allowed* in our hosted environment. However, for debugging and theme development, you can follow these steps to disable aggregation on the fly or temporarily. -### How to Disable Aggregation On The Fly With a ".dev." Alias +h3. How to Disable Aggregation On The Fly With a ".dev." Alias If you just need to disable aggregation for your own personal development, simply: -1. Create an alias for the site that includes `.dev.` or `.devel.` - -**** Example: `bar.dev.foo.com` +# Create an alias for the site that includes @.dev.@ or @.devel.@ -**** Make sure you include both periods in `.dev.` or `.devel.` -(The exception is a domain which *begins* with `dev.`; so, -`dev.foo.com` will still work.) +** Example: @bar.dev.foo.com@ -1. Through this alias, go to the "Performance" admin page and disable - CSS and Javascript aggregation. +** Make sure you include both periods in @.dev.@ or @.devel.@ + (The exception is a domain which _begins_ with @dev.@; so, + @dev.foo.com@ will still work.) -**** Drupal 6: `admin/settings/performance` +# Through this alias, go to the "Performance" admin page and disable + CSS and Javascript aggregation. -**** Drupal 7: `admin/config/development/performance` +** Drupal 6: @admin/settings/performance@ +** Drupal 7: @admin/config/development/performance@ Now aggregation will be disabled when you browse the site through this -`.dev.` or `.devel.` alias. +@.dev.@ or @.devel.@ alias. -You can use this private `.dev.` alias for as long as you like. +You can use this private @.dev.@ alias for as long as you like. Aggregation will still be enabled when the public accesses this site through its main domain name. You should be able to develop your theme with the alias, and then eventually see your changes get aggregated in the public version. How long it takes depends on your caching settings, -especially [Speed Booster](cache-speed-booster). +especially "Speed Booster":cache-speed-booster. -### How to Disable Aggregation On Your Actual Site Temporarily +h3. How to Disable Aggregation On Your Actual Site Temporarily -If your live site is mysteriously broken, you may need to -**temporarily** +If your live site is mysteriously broken, you may need to *temporarily* disable aggregation until the problematic theme or module is fixed -by adding these settings to `local.settings.php`: - -1. Create an empty control file at: - `sites/foo.com/modules/local-allow.info` +by adding these settings to @local.settings.php@: -1. In Aegir, run the "Reset password" task on your site. Wait until - the - task finishes. Now `local.settings.php` is writable. +# Create an empty control file at: + @sites/foo.com/modules/local-allow.info@ -1. Add these lines to `local.settings.php`: - `unset($conf['preprocess_css']);` - `unset($conf['preprocess_js']);` +# In Aegir, run the "Reset password" task on your site. Wait until the + task finishes. Now @local.settings.php@ is writable. -1. Go to the Performance page. Now you can disable CSS and - Javascript aggregation. +# Add these lines to @local.settings.php@: + @unset($conf['preprocess_css']);@ + @unset($conf['preprocess_js']);@ -1. Disabling aggregation **permanently** is **not allowed** in our - hosted - environment. Go now and solve your issue. Then continue with these - steps to return the system to normal. +# Go to the Performance page. Now you can disable CSS and Javascript aggregation. -1. Remove or comment the two lines you added to `local.settings.php`. - Save. Aggregation is now enabled again. +# Disabling aggregation *permanently* is *not allowed* in our hosted + environment. Go now and solve your issue. Then continue with these + steps to return the system to normal. -1. Make sure your website loads properly. A typo in - `local.settings.php` can break your entire site. +# Remove or comment the two lines you added to @local.settings.php@. + Save. Aggregation is now enabled again. -1. In Aegir, run "Verify" on your site. This restores - `local.settings.php` to its safe, unwritable state. +# Make sure your website loads properly. A typo in + @local.settings.php@ can break your entire site. -Caution -------- +# In Aegir, run "Verify" on your site. This restores + @local.settings.php@ to its safe, unwritable state. -Disabling aggregation like this when you have [AdvAgg -7.x](module-advagg) -enabled may cause some warnings, since [AdvAgg 7.x](module-advagg) -expects the Drupal aggregation to be *enabled* in order for this module -to function properly. -For [AdvAgg 6.x](module-advagg), it is not a problem, since this version -expects -the Drupal aggregation to be *disabled*. +h2. Caution -References ----------- +Disabling aggregation like this when you have "AdvAgg 7.x":module-advagg +enabled may cause some warnings, since "AdvAgg 7.x":module-advagg +expects the Drupal aggregation to be _enabled_ in order for this module to function properly. +For "AdvAgg 6.x":module-advagg, it is not a problem, since this version expects +the Drupal aggregation to be _disabled_. -- [How to Edit settings.php on Aegir](edit-settings-php) +h2. References -- [How to Disable All Caching](cache-disable-all) +* "How to Edit settings.php on Aegir":edit-settings-php -- [Using the AdvAgg Module.](module-advagg) +* "How to Disable All Caching":cache-disable-all -- [Using Speed Booster Caching](cache-speed-booster). +* "Using the AdvAgg Module.":module-advagg +* "Using Speed Booster Caching":cache-speed-booster. diff --git a/04.caching/cache-redis/docs.md b/04.caching/cache-redis/docs.md index 1c84e73..193c5c5 100644 --- a/04.caching/cache-redis/docs.md +++ b/04.caching/cache-redis/docs.md @@ -11,71 +11,64 @@ routes: aliases: - /URI --- + Using Redis Caching -What Is Redis Caching? ----------------------- +h2. What Is Redis Caching? -The [Redis module](redis) implements caching in Drupal using the [Redis -backend.](http://redis.io/) This caching works both for logged in users +The "Redis module":redis implements caching in Drupal using the "Redis +backend.":http://redis.io/ This caching works both for logged in users and for anonymous requests which have not yet been cached with -[Boost](module-boost) or [Speed Booster](cache-speed-booster). +"Boost":module-boost or "Speed Booster":cache-speed-booster. -This module is included and active by default on all platforms based on -6.x and 7.x core. +This module is included and active by default on all platforms based on 6.x and 7.x core. -Task: How to Disable Redis Caching ----------------------------------- +h2. Task: How to Disable Redis Caching -You are not allowed to disable Redis caching permanently, but you can -disable +You are not allowed to disable Redis caching permanently, but you can disable Redis temporarily for debugging. -#### How to Disable Redis on Any URL +h4. How to Disable Redis on Any URL You can disable the Redis cache for any URL on the fly by adding -`?noredis=1` at the end. +@?noredis=1@ at the end. -For example, to disable Redis caching for `http://foo.com/node/1`, -browse -to: `http://foo.com/node/1?redis=1` +For example, to disable Redis caching for @http://foo.com/node/1@, browse + to: @http://foo.com/node/1?redis=1@ -#### How to Disable Redis Completely (and Temporarily) +h4. How to Disable Redis Completely (and Temporarily) To (temporarily) disable Redis for debugging, you can create an empty control file at a special location. -- To disable Redis for a particular **site**: - `/sites/foo.com/modules/redis_cache_disable.info` +* To disable Redis for a particular *site*: @/sites/foo.com/modules/redis_cache_disable.info@ -- To disable Redis for the entire **platform**: - `/sites/all/modules/redis_cache_disable.info` +* To disable Redis for the entire *platform*: @/sites/all/modules/redis_cache_disable.info@ -If the `Migrate` or `Clone` task in Aegir fails with unexpected errors -for an otherwise working site, we recommend that you temporarily disable -Redis, +If the @Migrate@ or @Clone@ task in Aegir fails with unexpected errors +for an otherwise working site, we recommend that you temporarily disable Redis, run the task again, and re-enable Redis afterwards. If Redis still causes problems, you should leave it disabled and wait until the next morning, when the Redis cache server is fully restarted. Then enable Redis again. -Problems may happen when you use the `Migrate` task to `Rename` the -site to a different name, and then `Rename` a separate clone of the +Problems may happen when you use the @Migrate@ task to @Rename@ the +site to a different name, and then @Rename@ a separate clone of the site, such as a dev or staging copy, to the original main domain name. In the Redis cache, the site name is used as a cache key, so this situation may confuse both Aegir and the site itself because of outdated entries in the Redis cache. Disabling Redis permanently is not allowed in our hosted environment, -unless our [support staff](support) gives you an exception. +unless our "support staff":support gives you an exception. + +h2. References -References ----------- +* "How to Disable All Caching":cache-disable-all -- [How to Disable All Caching](cache-disable-all) +* "How to Disable CSS and Javascript Caching":cache-disable-css-js -- [How to Disable CSS and Javascript Caching](cache-disable-css-js) [redis]https://drupal.org/project/redis [module-advagg] diff --git a/04.caching/cache-speed-booster/docs.md b/04.caching/cache-speed-booster/docs.md index f7df5ca..545cfea 100644 --- a/04.caching/cache-speed-booster/docs.md +++ b/04.caching/cache-speed-booster/docs.md @@ -11,10 +11,10 @@ routes: aliases: - /URI --- + Using Speed Booster Caching -What Is Speed Booster Caching? ------------------------------- +h2. What Is Speed Booster Caching? "Speed Booster" is not a Drupal module, but our special, system-level configuration. Speed Booster works with any version of Drupal. It is @@ -23,116 +23,109 @@ enabled by default. Speed Booster caches full pages, both for anonymous visitors and for logged in users. Each logged-in user gets a separate cache. -Tasks: Working With Speed Booster ---------------------------------- +h2. Tasks: Working With Speed Booster -### How to Disable Speed Booster +h3. How to Disable Speed Booster -#### How to Disable Speed Booster on Any URL +h4. How to Disable Speed Booster on Any URL You can disable the Speed Booster cache on any URL, on demand, by -adding `?nocache=1` at the end. +adding @?nocache=1@ at the end. For example, to disable Speed Booster caching for -`http://foo.com/node/1`, browse to: `http://foo.com/node/1?nocache=1` + @http://foo.com/node/1@, browse to: @http://foo.com/node/1?nocache=1@ -This will also disable [Boost](module-boost), if it is enabled, for +This will also disable "Boost":module-boost, if it is enabled, for that URL. -#### When is Speed Booster Automatically Disabled? +h4. When is Speed Booster Automatically Disabled? -Speed Booster is also **automatically disabled** for certain pages: -`user/*`, `admin/*`, all HTTPS requests. +Speed Booster is also *automatically disabled* for certain pages: +@user/*@, @admin/*@, all HTTPS requests. Speed Booster is also disabled for 15 seconds after any POST request. This includes any form submission, even for anonymous visitors. -#### How to Reduce Speed Booster to 1 Second With ".dev." +h4. How to Reduce Speed Booster to 1 Second With ".dev." -By default, Speed Booster is set to be valid ([TTL](ttl)) for: +By default, Speed Booster is set to be valid ("TTL":ttl) for: -- 10 seconds for normal visitors (both anonymous and logged in) -- 24 hours for known bots +* 10 seconds for normal visitors (both anonymous and logged in) +* 24 hours for known bots These values are hardcoded. -However, if the domain for the site includes `.dev.` or `.devel.`, -the TTL is lowered to **1 second** (but not for known bots). +However, if the domain for the site includes @.dev.@ or @.devel.@, +the TTL is lowered to *1 second* (but not for known bots). -You can create a `.dev.` alias for your site by editing the site node +You can create a @.dev.@ alias for your site by editing the site node in Aegir. -Note: both periods in `.dev.` or `.devel.` are required. You can use -`bar.dev.foo.com`, but not `devel.foo.com` or `dev-foo.com`. The -exception is a domain which *begins* with `dev.`; -so, `dev.foo.com` will still work. +Note: both periods in @.dev.@ or @.devel.@ are required. You can use +@bar.dev.foo.com@, but not @devel.foo.com@ or @dev-foo.com@. The +exception is a domain which _begins_ with @dev.@; +so, @dev.foo.com@ will still work. Speed Booster will continue to work normally when the site is accessed through the live domain name. -#### How to Disable Speed Booster Completely (and Temporarily) +h4. How to Disable Speed Booster Completely (and Temporarily) -If you need to force a 1-second TTL for the public domain name, which -will +If you need to force a 1-second TTL for the public domain name, which will effectively disable Speed Booster (the 1-second TTL serves as a minimum -required for active DoS-protection), you will need to edit -`local.settings.php`. +required for active DoS-protection), you will need to edit @local.settings.php@. This file is not writable by default, but these steps will temporarily unlock it for editing. -1. Create an empty control file at: - `sites/foo.com/modules/local-allow.info` +# Create an empty control file at: + @sites/foo.com/modules/local-allow.info@ -1. In Aegir, run the "Reset password" task on your site. Wait until - the - task finishes. Now `local.settings.php` is writable. +# In Aegir, run the "Reset password" task on your site. Wait until the + task finishes. Now @local.settings.php@ is writable. -1. Set a site-wide 1-second TTL, by adding this line to - `local.settings.php`: `header('X-Accel-Expires: 1');` +# Set a site-wide 1-second TTL, by adding this line to + @local.settings.php@: @header('X-Accel-Expires: 1');@ -1. You can also use this conditionally, per URL. For example, - to lower the TTL only for the site's homepage, use: - `if (preg_match("/^/$/", $_SERVER['REQUEST_URI'])) {` - @ header('X-Accel-Expires: 1');@ - `}` +# You can also use this conditionally, per URL. For example, + to lower the TTL only for the site's homepage, use: + @if (preg_match("/^\/$/", $_SERVER['REQUEST_URI'])) {@ + @ header('X-Accel-Expires: 1');@ + @}@ -1. Disabling the Speed Booster cache TTL **permanently** is **not - allowed** - in our hosted environment. Go now and solve your issue. - Then continue with these steps to return the system to normal. +# Disabling the Speed Booster cache TTL *permanently* is *not allowed* + in our hosted environment. Go now and solve your issue. + Then continue with these steps to return the system to normal. -1. Remove or comment the `X-Accel-Expires` line(s) in - `local.settings.php`. Save. Speed Booster is now enabled again. +# Remove or comment the @X-Accel-Expires@ line(s) in + @local.settings.php@. Save. Speed Booster is now enabled again. -1. Make sure your website loads properly. A typo in - `local.settings.php` can break your entire site. +# Make sure your website loads properly. A typo in + @local.settings.php@ can break your entire site. -1. In Aegir, run "Verify" on your site. This restores - `local.settings.php` to its safe, unwritable state. +# In Aegir, run "Verify" on your site. This restores + @local.settings.php@ to its safe, unwritable state. -### How to Enable ESI Microcaching +h3. How to Enable ESI Microcaching -[ESI microcaching](http://groups.drupal.org/node/197478) allows you to +"ESI microcaching":http://groups.drupal.org/node/197478 allows you to use a separate microcache for ESI/SSI includes, with its own TTL, -which is set by default to 15 seconds. While Speed Booster caches the -rest -of the page separately, these small, included bits can be used to -deliver +which is set by default to 15 seconds. While Speed Booster caches the rest +of the page separately, these small, included bits can be used to deliver parts of the page dynamically even if the main Speed Booster cache TTL is set to 1 hour or longer. -An example is a personalized message like "Logged in as *johndoe*". +An example is a personalized message like "Logged in as _johndoe_". Instead of rebuilding the entire page for this user, only _this message_ is rebuilt. ESI microcaching offers a huge performance boost. -The [ESI module](http://drupal.org/project/esi) is included in all +The "ESI module":http://drupal.org/project/esi is included in all built-in 6.x platforms. However, you will need to enable and configure -this module. Please consult the [module -documentation](http://drupal.org/project/esi) for details. +this module. Please consult the "module +documentation":http://drupal.org/project/esi for details. -### How to Force Different Cache TTL Values +h3. How to Force Different Cache TTL Values -You can set the Speed Booster cache to last *longer* for anonymous +You can set the Speed Booster cache to last _longer_ for anonymous visitors. You can set this TTL for the entire platform, or set it separately for each site. @@ -140,53 +133,50 @@ You set this TTL using specially named "control files". These files are empty. You just need to create the correct filename in the correct location. -#### To force a 15-minute cache TTL: +h4. To force a 15-minute cache TTL: -- platform-wide: `sites/all/modules/nginx_cache_quarter.info` -- per site: `sites/foo.com/modules/nginx_cache_quarter.info` +* platform-wide: @sites/all/modules/nginx_cache_quarter.info@ +* per site: @sites/foo.com/modules/nginx_cache_quarter.info@ -#### To force a 1-hour cache TTL: +h4. To force a 1-hour cache TTL: -- platform-wide: `sites/all/modules/nginx_cache_hour.info` -- per site: `sites/foo.com/modules/nginx_cache_hour.info` +* platform-wide: @sites/all/modules/nginx_cache_hour.info@ +* per site: @sites/foo.com/modules/nginx_cache_hour.info@ -#### To force a 24-hour cache TTL, use: +h4. To force a 24-hour cache TTL, use: -- platform wide: `sites/all/modules/nginx_cache_day.info` -- per site: `sites/foo.com/modules/nginx_cache_day.info` +* platform wide: @sites/all/modules/nginx_cache_day.info@ +* per site: @sites/foo.com/modules/nginx_cache_day.info@ These settings will not override the cache for logged in users. They are only for anonymous visitors. To avoid a broken CSS layout with these longer caches, -[use the AdvAgg module](module-advagg). +"use the AdvAgg module":module-advagg. -More Information ----------------- +h2. More Information -### Does Speed Booster Cache Mobile Devices Separately? +h3. Does Speed Booster Cache Mobile Devices Separately? Yes. Speed Booster supports separate caches per mobile device. It is safe to use separate themes or content for mobile devices. -We use simple logic to determine the kind of device, and there are -separate -cache bins for `mobile-tablet`, `mobile-smart` and `mobile-other`. -[Review the code here.](http://bit.ly/wYz6PG) +We use simple logic to determine the kind of device, and there are separate +cache bins for @mobile-tablet@, @mobile-smart@ and @mobile-other@. +"Review the code here.":http://bit.ly/wYz6PG You can access this special variable value set by Nginx also in -your Drupal code (module or theme) via `$_SERVER['USER_DEVICE']` +your Drupal code (module or theme) via @$_SERVER['USER_DEVICE']@ -References ----------- +h2. References -- [ESI module](http://drupal.org/project/esi) +* "ESI module":http://drupal.org/project/esi -- [How to Edit settings.php on Aegir](edit-settings-php) +* "How to Edit settings.php on Aegir":edit-settings-php -- [How to Disable All Caching](cache-disable-all) +* "How to Disable All Caching":cache-disable-all -- [How to Disable CSS and Javascript Caching](cache-disable-css-js) +* "How to Disable CSS and Javascript Caching":cache-disable-css-js [advagg]http://drupal.org/project/advagg [ttl]https://en.wikipedia.org/wiki/Time_to_live diff --git a/05.advanced/backups-for-your-aegir-sites/docs.md b/05.advanced/backups-for-your-aegir-sites/docs.md index 4cd5520..12d471e 100644 --- a/05.advanced/backups-for-your-aegir-sites/docs.md +++ b/05.advanced/backups-for-your-aegir-sites/docs.md @@ -11,6 +11,7 @@ routes: aliases: - /URI --- + Backups for Your Aegir Sites at Omega8.cc Backups are essential for preserving your sites (and your sanity). At @@ -18,152 +19,141 @@ Omega8.cc, we offer extra protection through free, automated backups. Aegir itself also performs many backups automatically. You can access these backups easily. -Task: How to Access Your Backups --------------------------------- +h2. Task: How to Access Your Backups -With so many automated backups, you usually don't have to *make* -backups. Instead, here is how to *use* the backups you already have. +With so many automated backups, you usually don't have to _make_ +backups. Instead, here is how to _use_ the backups you already have. -### Step-by-Step: Access Your Backups +h3. Step-by-Step: Access Your Backups There are several ways to access your backups. -- Edit your site within Aegir, and use the `Restore` task. If there - are multiple backups available, you can select one. +* Edit your site within Aegir, and use the @Restore@ task. If there + are multiple backups available, you can select one. -- You can access these Aegir backup archives directly, via - `FTPS/SFTP` - and `SSH`, at `~/backups/` in your home directory. +* You can access these Aegir backup archives directly, via @FTPS/SFTP@ + and @SSH@, at @~/backups/@ in your home directory. -- If you can't find what you need through an Aegir backup, you have - further [Idera](r1soft) backups available (see below). You can - request an - Idera backup through our [support form](support). (There is no - direct access to these backups.) +* If you can't find what you need through an Aegir backup, you have + further "Idera":r1soft backups available (see below). You can request an + Idera backup through our "support form":support. (There is no + direct access to these backups.) -Task: How to Maintain Your Own Backups --------------------------------------- +h2. Task: How to Maintain Your Own Backups -If you prefer to maintain your own backups, use the [**Backup and -Migrate**](backup-migrate) +If you prefer to maintain your own backups, use the "*Backup and Migrate*":backup-migrate module and its "scheduled backups" option. -### Step-by-Step: Maintain Backups with "Backup and Migrate" +h3. Step-by-Step: Maintain Backups with "Backup and Migrate" -- Download the Backup and Migrate module (`backup_migrate`). +* Download the Backup and Migrate module (@backup_migrate@). -- Enable the Backup and Migrate module for your site. +* Enable the Backup and Migrate module for your site. -- Configure your backups. (Drupal 7: - `admin/config/system/backup_migrate/`). You can run a *manual* - backup and/or set up *scheduled* backups. Both kinds will save to - your site's `private/` directory. Example: - `sites/foo.com/private/files/backup_migrate/manual/` +* Configure your backups. (Drupal 7: + @admin/config/system/backup_migrate/@). You can run a _manual_ + backup and/or set up _scheduled_ backups. Both kinds will save to + your site's @private/@ directory. Example: + @sites/foo.com/private/files/backup_migrate/manual/@ -- Copy these backup archives to your own server or local computer. - Tools for copying include `SFTP/FTPS` and `rsync` over `SSH`. +* Copy these backup archives to your own server or local computer. + Tools for copying include @SFTP/FTPS@ and @rsync@ over @SSH@. -- You **must copy all backups before Monday**. Every Monday, we - **purge** - all backup archives to keep your Omega8.cc disk space clean. - Archives are purged from each site's `private/backup_migrate` - directory, from `~/backups/`, and from anywhere else in your home - directory. (See below.) +* You *must copy all backups before Monday*. Every Monday, we *purge* + all backup archives to keep your Omega8.cc disk space clean. + Archives are purged from each site's @private/backup_migrate@ + directory, from @~/backups/@, and from anywhere else in your home + directory. (See below.) Fortunately, a week is plenty of time to copy off the files you need. With enough disk space, you can store all the backups you like. -More Information ----------------- +h2. More Information -### Is There Any Charge for Requesting an Idera Backup? +h3. Is There Any Charge for Requesting an Idera Backup? -We are happy to provide an Idera backup to you for **free**, as long as: +We are happy to provide an Idera backup to you for *free*, as long as: -- You only make this request occasionally, +* You only make this request occasionally, -- and it takes less than 15 minutes of work. +* and it takes less than 15 minutes of work. In other cases, this service will cost $152 USD per hour. -### Are "Backup and Migrate" Backups Protected? +h3. Are "Backup and Migrate" Backups Protected? -Yes. On the BOA system, everything under `private/` is inaccessible to -the public. You must log in with `SSH` or `SFTP/FTPS` to access these -files. +Yes. On the BOA system, everything under @private/@ is inaccessible to +the public. You must log in with @SSH@ or @SFTP/FTPS@ to access these files. -### How Does Omega8.cc Make Automatic Backups? +h3. How Does Omega8.cc Make Automatic Backups? At Omega8.cc, we maintain daily, duplicate, block level (not just file level) professional backups for all your files and databases, using -[Idera](r1soft) software. +"Idera":r1soft software. We store two copies of these backups: -- A **local** copy, in the the same facility where your system is - hosted. +* A *local* copy, in the the same facility where your system is + hosted. -- A **remote** copy, in a remote facility. The remote backup gives - you - extra security. +* A *remote* copy, in a remote facility. The remote backup gives you + extra security. All backups are versioned and rotated. The backups are rotated daily, so there is always a copy of all your files from the last 7 days. -A third, additional copy of your daily **database** backups (not the +A third, additional copy of your daily *database* backups (not the files) is also stored on the same local server. These database backups are rotated weekly, and also archived both locally and remotely. The result? You always have daily backups of: -- the last 7 days for your **files** -- the last 14 days for your **databases** +* the last 7 days for your *files* +* the last 14 days for your *databases* -### How Do Aegir Tasks Make Automatic Backups? +h3. How Do Aegir Tasks Make Automatic Backups? Several Aegir tasks generate backups automatically. -- The `Backup` task, obviously, creates a backup, which you can later - restore with the `Restore` task. +* The @Backup@ task, obviously, creates a backup, which you can later + restore with the @Restore@ task. -- When you later `Restore`, Aegir also backs up your *current* site - before restoring the backup! +* When you later @Restore@, Aegir also backs up your _current_ site + before restoring the backup! -- `Clone` and `Migrate` also create backups. Even when you only use - `Migrate` to "Rename" your site by migrating the site to the same - platform, this task creates a backup. +* @Clone@ and @Migrate@ also create backups. Even when you only use + @Migrate@ to "Rename" your site by migrating the site to the same + platform, this task creates a backup. These backups are compressed archives. Each backup includes: -- all site files from the `sites/foo.com/` directory +* all site files from the @sites/foo.com/@ directory -- a database dump of the site +* a database dump of the site -(Note that the backup does *not* include the core code or the modules -in that site's [platform](platform.)) +(Note that the backup does _not_ include the core code or the modules +in that site's "platform":platform.) -### If Your Old Aegir Backups Are Missing +h3. If Your Old Aegir Backups Are Missing Aegir makes many automatic backups, and these archives could fill your disk space very quickly. -At Omega8.cc, we **purge** the built-in Aegir `~/backups/` directory -**weekly**, on Monday morning. We also purge each site's private -`backup_migrate` directory. +At Omega8.cc, we *purge* the built-in Aegir @~/backups/@ directory +*weekly*, on Monday morning. We also purge each site's private +@backup_migrate@ directory. -If you try to `Restore` an old backup, and it's no longer available, +If you try to @Restore@ an old backup, and it's no longer available, don't panic. Remember, you can always request a backup via our -[support form](support) as long as it is within the last 7 days limit +"support form":support as long as it is within the last 7 days limit (or the last 14 days limit for database-only archives). -Caution -------- +h2. Caution Note that you can’t use your Aegir instance disk space as an archive space. Any files, archives or backups found in your FTPS/SSH -account home directory, or in `~/static`, or in any other directory -which is not a part of a valid Drupal multisite (Aegir platform) -structure +account home directory, or in @~/static@, or in any other directory +which is not a part of a valid Drupal multisite (Aegir platform) structure will be **deleted automatically** once discovered, without any notice, and we will not accept any related backup recovery requests. diff --git a/05.advanced/export-site-from-aegir-boa/docs.md b/05.advanced/export-site-from-aegir-boa/docs.md new file mode 100644 index 0000000..2cd5122 --- /dev/null +++ b/05.advanced/export-site-from-aegir-boa/docs.md @@ -0,0 +1,97 @@ +--- +title: TITLE +slug: URI +menu: MENU +date: 08-08-2016 +published: true +visible: true +taxonomy: + category: docs +routes: + aliases: + - /URI +--- + +How to Export Your Site From Aegir + +You can export any of your Drupal sites from our Hosted Aegir +environment onto any other host, to another Aegir system or +as a standalone Drupal site, using the steps outlined below. + +h2. Overview + +To export your site, you will need three separate "pieces": + +* A database dump, saved in the database.sql file + +* Everything from the @sites/foo.com/@ directory + +* The complete "platform":platform underneath this site + +h2. Step-by-Step + +*Step 1: Log into the Aegir control panel and run the "Backup" task on your +site.* + +This will create a single, compressed archive in your account +@~/backups/@ directory. This archive includes the database dump and +a complete @sites/foo.com/@ directory. + +*Step 2: Copy this archive file to your local drive.* + +You can use SFTP or FTPS. Or, with rsync over SSH, you can copy +directly to another server. + +*Step 3: Copy the platform directories and files.* + +If you've been using your own "custom platform":custom-platform, you +have full access to all the files, so you can copy them easily. + +With our "built-in platforms":built-in-platforms, the best method is +to use the @rsync@ command. Here is the full command: + +
rsync -avzuL -e ssh user.ftp@host.ip:/path/to/platform /local/path/
+