BOA
Basics
- BOA - meta-installer for an easy Barracuda + Octopus + Aegir install and upgrade on the high performance LEMP stack.
- https://github.com/omega8cc/nginx-for-drupal
Installation
wget -q -U iCab http://files.aegir.cc/BOA.sh.txt bash BOA.sh.txt
Stack
All libraries & tools required to install and run Nginx based Aegir system.
- Latest release of MariaDB 5.5 or Percona 5.5 database server.
- Latest version of Nginx web server with upload progress and Boost support.
- PHP-FPM 5.3.18 with APC, phpredis, uploadprogress and ionCube.
- PHP-FPM 5.2.17 with APC, phpredis, uploadprogress and ionCube.
- Redis cache server with standard DB auto-failover.[1]
- New Relic Server and Apps Monitor with per Site/Instance/Server reporting.
- Entry level XSS built-in protection on the Nginx level.
- Autonomous Maintenance & Auto-Healing scripts in /var/xdrago.
- Automated, rotated daily backups for all databases in /data/disk/arch/sql.
- MultiCore Apache Solr with Tomcat (optional).
- Fast proxy DNS server (pdnsd) with permanent caching.
- Bind9 DNS server integrated with experimental Aegir DNS feature (optional).
- Webmin Control Panel (optional).
- Compass Tools (optional).
- Firewall csf/lfd integrated with Nginx abuse guard (optional).
- Chive database manager in "chive." subdomain (optional).
- SQL Buddy database manager in "sqlbuddy." subdomain (optional).
- Collectd server monitor in "cgp." subdomain (optional).
- Limited shell, SFTP and FTPS separate accounts per Octopus instance.
- Limited shell and FTPS separate accounts per Aegir Client/Developer.
Barracuda
Aegir master install in /var/aegir
Not as tuned and featured as the Octopus Aegir install. Best practice is to use Octopus for production.
- How to disable all caching and aggregation? - Using dev. in in site alias disabled hardcoded performance. Also for PHP errors and logging.
.barracuda.conf xtra shortcodes [2]
PDS --- fast DNS cache server (pdnsd) (default) BND --- Bind9 DNS Server SLR --- MultiCore Apache Solr Tomcat CHV --- Chive DB Manager (default) BDD --- SQL Buddy DB Manager CGP --- Collectd Graph Panel WMN --- Webmin Control Panel CSF --- csf/lfd Firewall (default) FTP --- ??? (default)
Octopus
- Octopus installs alongside Barracuda, providing an Aegir satellite instance bundled with various distro install profiles and performance modules.
/data/disk/o1/ install root /data/disk/o1/distro/001/ preinstalled platforms /data/disk/o1/static/ created platforms
- Barracuda vs Octopus and site development best practice, I'm still confused.
- Extra modules available in all platforms
Setup
- Barracuda: INSTALL.txt
- Octopus: INSTALL.txt
- Ubuntu Server
- older script; boxbootstrap.sh
Use _FORCE_GIT_MIRROR=github because it is 10x faster than others. Automatic these days.
Make sure that all sites have its associated Client, otherwise the site will be listed as available for all Clients/Users you have added.
- BOND.sh - tuning script
Maintenance
xdrago cron runs tool helper scripts
See also HINTS.txt
Upgrade
Do not use apt to upgrade. Upgrading got easier with BOA 2. See UPGRADE.txt for full details.
# Download and run BOA Meta Installer. wget -q -U iCab http://files.aegir.cc/BOA.sh.txt bash BOA.sh.txt
Will honour settings in; /root/.barracuda.cnf /root/.o1.octopus.cnf /root/.o2.octopus.cnf
this is now old?!:
# To upgrade system and Aegir Master Instance to Stable barracuda up-stable # To upgrade system and Aegir Master Instance to HEAD barracuda up-head
# To upgrade selected Aegir Satellite Instance to Stable octopus up-stable o1 # To upgrade *all* Aegir Satellite Instances to Stable octopus up-stable all
# To upgrade selected Aegir Satellite Instance to HEAD octopus up-head o1 # To upgrade *all* Aegir Satellite Instances to HEAD octopus up-head all
Certain configs can be heldback on upgrade. Upgrading CFS config can lose ports.
Caching
- Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
New system uses only Redis cache and the same configuration for all Drupal 6 and Drupal 7 platforms. This new system doesn't require any extra module to be enabled in any site. Complete integration is already enabled by default for every platform/site installed by default and for every custom platform as before - the next day after first site on the custom platform has been created. You can disable this caching layer using the same modules/cache/NO.txt control file as before. While there is just one cache engine (Redis) used, there is also an automatic, instant failover to standard database caching, just in case Redis is not available for some reason. You can also disable Redis cache on the fly for debugging by adding ?noredis=1 to any URL.
Development
Alias a dev.* site domain to bypass JS compression and CSS aggregation.
Management
To manage a web site project, create a pointer build file which will point towards a bespoke profile.
Add a builds/ directory to the Aegir instance root and git clone distro build files to (and from for backup, etc.) there.
Create platform and then site using the build file path.
Needs development; check where profile inheretance to make splitting out dev/ui modules for production sites.
To check; use Drush make generate to refresh make?