How to Install Access to Memory (AtoM) on Arch Linux

Access to Memory (AtoM) is a free, open-source software application that provides an easy-to-use and customizable platform for managing archival, cultural and historical collections. In this tutorial, we will install AtoM on an Arch Linux system.

Before we start, ensure that your system is up-to-date:

sudo pacman -Syu

Prerequisites

The next step is to install all these prerequisites, if they are not already installed.

sudo pacman -S apache php postgresql git composer nodejs npm

Now, let's create a database and a user for AtoM.

sudo -u postgres psql
postgres=# CREATE USER atom WITH PASSWORD 'password';
postgres=# CREATE DATABASE atom;
postgres=# GRANT ALL PRIVILEGES ON DATABASE atom TO atom;
postgres=# \q

Install and Configure AtoM

  1. Clone the AtoM repository from GitHub:
git clone https://github.com/artefactual/atom.git
  1. Switch to the AtoM directory:
cd atom
  1. Install Composer dependencies:
composer install --no-dev
  1. Install Node.js dependencies:
npm install
  1. Build the frontend assets:
npm run build
  1. Copy the .env.example file to .env:
cp .env.example .env
  1. Edit the .env file and set the following environment variables:
APP_ENV=production
APP_DEBUG=false

DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=atom
DB_USERNAME=atom
DB_PASSWORD=password
  1. Generate a new app key for security:
php artisan key:generate
  1. Run database migrations:
php artisan migrate
  1. Create a new admin user:
php artisan atom:make-admin
  1. Start the built-in web server:
php artisan serve

Configure Apache

To run AtoM on the Apache web server, create a new virtual host configuration file /etc/httpd/conf/extra/atom.conf, and add the following content:

<VirtualHost *:80>
    ServerName your-domain.com
    DocumentRoot /path/to/atom/public

    <Directory /path/to/atom/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/atom_error.log
    CustomLog /var/log/httpd/atom_access.log combined 
</VirtualHost>

Replace your-domain.com with your own domain name, and /path/to/atom with the path to your AtoM installation directory.

Enable the newly created virtual host and restart the Apache service:

sudo ln -s /etc/httpd/conf/extra/atom.conf /etc/httpd/conf/available/
sudo systemctl restart httpd

Conclusion

In this tutorial, we have successfully installed Access to Memory (AtoM) on an Arch Linux system, and configured a new virtual host in Apache web server. You can now access AtoM on your web browser by visiting http://your-domain.com.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!