Hi Kuna,
Sure I will try to provide an overview.
AtoM Installation overview
AtoM does not have an exe-type installer that performs all actions for you, like some end-user Windows applications. Instead, our documentation provides instructions on the methods that we use - it assumes that the person doing the installation has some familiarity with Linux, the unix command-line, and software installation and maintenance. It also assumes that you are installing AtoM on a production ready server, and not a personal computer like a desktop or laptop.
Finally, the installation instructions also assume that you have the required system resources to install AtoM on your server. Generally, for a production ready installation, we recommend:
- Processor: 2 vCPUs @ 2.3GHz
- Memory: 7GB
- Disk space (processing): 50GB at a minimum for AtoM’s core stack plus more storage would be required for supporting any substantial number of digital objects.
While it is possible to install AtoM with less system resources, you may also encounter issues - it depends on a lot of factors. As noted in the Technical Requirements, those specs are "intended to provide a starting point for setting up your system. It provides specifications for an “all-in-one” deployment, with all of the services (i.e. nginx, Percona server, ES, memcached) installed in a single virtual machine." See:
Per the installation instructions, we essentially:
- Install the dependencies (MySQL 8, Elasticsearch 5.6, PHP 7.4 and a number of PHP extensions, the Gearman job server, and other packages)
- Download AtoM (either from our website as a tarball, or using git to pull the code from our GitHub code repository)
- Create the database and a specific MySQL user for AtoM
- Run the installer (the step you are currently at)
- Make any configuration changes needed (such as setting the default timezone or default installation culture to be used in the application)
- Finally, configure our filesystem permissions, Gearman workers, PHP-FPM pool, and webserver
In previous AtoM versions there were two differences. First, the installer was a web form, rather than a series of command-line prompts. This regularly led to timeout issues however, and was replaced in 2.7. Second, we previously had users perform step 6 before running the installer - but this regularly led to users missing key steps, leading to problems later. Now users cannot access AtoM in their web browser until all previous steps have been successfully completed.
I hope that helps outline the steps involved at a high level! See the installation documentation for more specific details:
Managing the job scheduler
It sounds like you've gotten past the installer, but are having issues with the Gearman job scheduler and the atom-workers. We have an additional page with more information on managing these, here:
First, let's make sure that:
- You installed Gearman, per this section of the installation docs
- You created the atom-worker.service configuration file, per this section of the installation docs
- You've run sudo systemctl daemon-reload, so that Ubuntu reloads the daemon and becomes aware of this new service configuration file
- You've also run sudo systemctl enable atom-worker, so this worker will be enabled on system boot
If you've done all that, then we have a few other commands we can try to check the atom-worker status, and restart it if it's not running as expected.
First, you can check the status of the atom-worker with:
- sudo systemctl status atom-worker
If it's not running, and running sudo systemctl restart atom-worker does not fix the problem when you check the status again after, then one possibility is that the start rate limit we have added in the service configuration file has been triggered.
That configuration file includes some automation so if the atom-worker fails, the job scheduler can try restarting to see if it resolves the issue. However, to prevent the job scheduler from being caught in an endless loop when a restart does NOT resolve the issue, we have added a restart limit, after which the internal fail counter must be manually reset before restarting will work. By default, the configuration file sets this to 3 restart attempts in 24 hours.
You can try resetting this fail counter with:
- sudo systemctl reset-failed atom-worker
And then try restarting again, and checking the status to see if it worked:
- sudo systemctl restart atom-worker
- sudo systemctl status atom-worker
Hopefully that helps! Good luck!