Skip to content

Powered by Grav

Extra services & performance — Cheat Sheet

Extra services & performance — Cheat Sheet

The server side of every extra service is already installed and looked after by your host — Solr search where your plan includes it, a database browser, the server's mail system, PDF tools. Your part is always small and in your own space: an INI line, a login in your browser, or a module in your codebase. This page is the quick primer, plus the limits that keep a shared server fast. Everything here links to the full story.

The services in 30 seconds

  1. Solr search, one private core per site — one line in the site INI; BOA builds the core within 5-10 minutes and writes the connection details to sites/<domain>/solr.php. → Search (Solr)
  2. A database browser — Adminer at /sqladmin/ on your control-panel address, logged in with one site's own database credentials. → Browsing your database
  3. Mail from your sites — everyday transactional mail goes out through the server where your host has opened it to sites; newsletters and bulk sends belong at an email service. → Sending mail
  4. New Relic in two switches — your licence key in one control file, plus one line in the site INI. → New Relic
  5. Print & PDF tools, already installed — point your module at them. → Print & PDF tools
  6. The limits that keep everyone fast — no web request runs longer than 180 seconds; long jobs go to the shell. → Blocked or slow

Search cores are per site, set in that site's own INI file (there's no platform-wide switch). Pick the value that matches your Drupal:

INI
; sites/example.com/modules/boa_site_control.ini
solr_integration_module = search_api_solr9

search_api_solr9 builds a Solr 9 core on Drupal 10.2 and newer; search_api_solr7 gives Solr 7 (use it on Drupal 8 and 9); apachesolr is the deprecated Solr 4 route for Drupal 6/7. Write the line exactly as name = value. Within 5-10 minutes BOA writes sites/<domain>/solr.php with the host, port and core name to copy into your Search API server settings.

BOA builds only the Solr side: the matching Drupal module goes into your codebase. Comment the line out and the core is cleanly deleted within about 15 minutes.

→ Search (Solr) for your site · adding the module

Browse a database in your browser

Adminer lives at /sqladmin/ on your own control-panel address, over HTTPS:

TXT
https://aegir.example.com/sqladmin/

It has no password of its own: log in with one site's db_name, db_user and db_passwd, read from that site's drushrc.php (its settings.php no longer holds them), with localhost as the server. The page stays closed to the internet and opens for you while you're connected over SSH or SFTP as oN.ftp — keep that session open while you work. It's for spot checks, a query, a one-table export; take a backup before any hand edit.

→ Browsing your database (Adminer) · the SSH tunnel for desktop tools

Mail from your sites

Registrations, password resets, receipts and contact forms go out through the server's own mail system where your host has opened it to your sites (BOA ships with it closed to the web server). Newsletters and anything sent to a list belong at an email service provider: bulk mail from a shared server puts everyone's mail reputation at risk. A Drupal SMTP module pointed at your provider (port 587 with STARTTLS, or 465 with SSL/TLS) sends mail either way and gets more of it into inboxes.

→ Sending mail from your site

New Relic: two switches, both needed

Your New Relic licence key goes on its own line in a control file, which arms the PHP agent for your whole account; each site then opts in with one INI line (or every site on a platform, in the platform file):

BASH
echo 0123456789abcdef0123456789abcdef01234567 > ~/static/control/newrelic.info
INI
; sites/example.com/modules/boa_site_control.ini
enable_newrelic_integration = TRUE

Either switch alone does nothing. Within a few minutes each opted-in site reports as its own application, named after its domain; delete the key file to stop reporting everywhere.

→ New Relic monitoring

/usr/bin/wkhtmltopdf, /usr/bin/wkhtmltoimage and /usr/bin/pdftk are on every BOA server. Give your print or PDF module the system path instead of uploading your own build — nothing to enable, nobody to ask.

→ Print & PDF tools

The limits that keep everyone fast

No single web request may run longer than 180 seconds: at the ceiling it's cut off with a 502, which is why a page stuck on a slow feed or a heavy admin batch fails at almost exactly three minutes. Fix the slow piece, or move the long job to the shell, which isn't subject to the web ceiling:

BASH
vdrush @example.com updb    # Drupal 8+, after Unlock Local Drush, from the app root

The server's load protection tightens and pauses briefly when it's very busy, then backs off on its own; your sites share one PHP worker pool per PHP version, so one busy site can make the others queue. Speed itself is the Caching cheat sheet's job.

→ A 502 after three minutes · Load testing your site

The settings and files most people touch

Setting or file What it does Default
solr_integration_module Site INI only: builds this site's own Solr core (9, 7, or legacy 4) (unset — no core)
enable_newrelic_integration Site or platform INI: opts sites into New Relic reporting FALSE
~/static/control/newrelic.info Your New Relic licence key, one line; arms reporting for the account (none)
sites/<domain>/solr.php Written by BOA when the core is ready: host, port, core name (appears in 5-10 minutes)

Two more Solr settings tune the core's config files: solr_update_config (refresh them on module upgrades) and solr_custom_config (keep your own) — see Search (Solr).

If something's weird

  • No solr.php after ten minutes → check the value matches your Drupal (search_api_solr9 builds only on Drupal 10.2+; use search_api_solr7 on 8 and 9) and the line is uncommented; if both are right, Solr isn't enabled on your plan — one support request. Search (Solr).
  • /sqladmin/ times out or says forbidden → your address isn't on the allow-list yet: open an SSH or SFTP session as oN.ftp (FTPS doesn't count), wait a couple of minutes and reload. When it won't open.
  • New Relic is on but no application shows up → both switches are needed: the key file holding just the 40-character key, and the INI line uncommented; then send the site some traffic. Still empty? Ask your host to check the New Relic agent is installed on your server. New Relic.

Going deeper

© 2026 BOA Documentation. All rights reserved.