Version 2.2 is a legacy release, and these documents are no longer being maintained.

Manage AtoM configuration files

Many settings in AtoM can be managed directly through the user interface via the Admin > Settings menu (see: Settings for details). However, there are also several configuration files maintained in AtoM’s code where various settings and configurations can be managed, and which can be edited directly by a user via the command-line. These files can be useful for customizing the behavior and performance of your application. Details on each have been included below.

Relevant configuration files and how to change them

From AtoM’s root directory, use the nano command to open a file for editing - e.g.:

nano config/apps.yml

You can save changes with CTRL+O + ENTER, and exit with CTRL+X (you will be asked to save if you haven’t yet).

Important files:

config/apps.yml

This is the primary file where AtoM-specific settings that cannot be managed via the user interface are maintained. This file includes settings such as:

  • Global digital object upload limit (in gigabytes) - can be set to -1 for unlimited, or set to a specific limit in GBs.
  • Timeout limit for fetching digital objects from external services (in seconds) - default value is 10s
  • Which cache engine you want to use (can use Memcached for a distributed cache, for example) - default is sfAPCCache
  • Enable read-only mode, if you want to remove the login button and prevent users from logging into the application.
  • Set a Google Maps API key (for use in the Archival institution template, to generate dynamic Google Maps)
  • Set a Google Analytics API key, for basic installation-wide analytics via Google
  • Enable htmlpurifier - limits HTML on static pages to a white-list of approved elements and attributes, to prevent XSS - see: Static pages and security configuration for more information.
An image of the apps.yml file in the command-line

apps/qubit/config/settings.yml

  • Symfony and PHP settings - see the Symfony documentation for more general information: http://symfony.com/legacy/doc/reference/1_4/en/04-Settings
  • For things like default_culture, default_timezone, etc
  • Includes settings for error handling behavior as well - be careful changing these! We don’t recommend it.

config/factories.yml

  • Another Symfony 1.x configuration file
  • More details at: http://symfony.com/legacy/doc/reference/1_4/en/05-factories
  • Useful for changing logging options, user authentication (LDAP), etc
  • We don’t recommend changing this file unless you know what you’re doing!
  • See: Logging for some ideas on how to work with these settings to change or improve logging in AtoM

config/config.php

  • Where basic configuration information for database access is stored, such as the database user, pass, and name
  • We don’t recommend changing this file unless you know what you’re doing!

Important

If you change any of the files listed above, clear the cache and restart php5-fpm to apply the changes.

php symfony cc
sudo php5-fpm restart

Application server

Remember that nginx is just the HTTP frontend. Internally, each request is forwarded to php5-fpm. php5-fpm is a pool of managed AtoM processes. The pool has its own configuration file that defines some important global PHP settings like timeouts, and environment variables that may also modify the way that AtoM works as documented in accesstomemory.org.

The file of the pool is located at /etc/php5/fpm.d/pool.d/atom.conf. Edit with nano. Once saved, run: sudo restart php5-fpm and the changes will apply.