I will start with some general suggestions.
First, I'm not familiar with Slackware, so the first thing you should probably do is ensure that all the required PHP extensions, additional libraries, and other tools that AtoM needs are available as packages in Slack. If using Ubuntu is an option available to you, I do recommend it: we do all our development and testing using Ubuntu, and this is what we maintain documentation for. We are able to offer more troubleshooting assistance when we know the environment being used.
Other O/S platforms *should* be able to run AtoM, but it's always a good idea to double-check that you can get everything you need! In some cases, the exact version of the extension, library, or tool is required - for example, in our Ubuntu 16.04 instructions, PHP 7.0 is required - we've discovered issues with later versions of PHP (such as 7.2) and while we are working on fixes for the 2.5 release, these are not yet corrected for AtoM 2.4, so using a higher version of PHP would cause issues.
The second suggestion is to make sure you're installing the correct version of AtoM. Our current stable release (2.4.1) uses ES 1.7.6, but in the upcoming 2.5 release, we have upgraded Elasticsearch to v5.5 - in 2.5, trying to use ES 1.7 would cause many errors, just as using ES 5 in AtoM 2.4.1 would!
My next recommendation is to make sure you have enough system resources - particularly memory - for the installation. Our requirements page
includes some notes on what we use when deploying to hosted instances (such as via OVH or DigitalOcean, two external hosting providers we have used in the past for AtoM). There, we list the following recommendations:
- 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.
You can likely get away with less memory once AtoM is installed, but ES is a memory hog during installation, so I would try to give it as much memory as you possibly can during installation - you can always scale it back down after if needed.
The next thing you could try is to see if the ES logs have any more information than what you've found in your stack trace. In our recommended Ubuntu installation instructions, the Elasticsearch (ES) log is normally located in /var/log/elasticsearch/elasticsearch.log and you could check there to see if there's more information available. Try doing some web searches with the error message to see if you can find further suggestions online - and remember to make sure they are for the correct version of ES!
You could also verify that ES is running, verify the cluster health, and check which version you have installed using cURL (run sudo apt-get install curl to install it if it's not already installed). Run from the server where ES is installed and using the default port, you could try:
This might help you diagnose the issue.
Other useful ES commands in Ubuntu 16.04 - I'm not sure what process manager is used in Slackware so these commands may be different in your environment, but if systemd manages ES as a service in your environment, then you can use the following commands to control the service:
- sudo systemctl stop elasticsearch
- sudo systemctl enable elasticsearch
- sudo systemctl start elasticsearch
- sudo systemctl status elasticsearch
If you ever needed to manually delete the search index from AtoM, use:
- curl -XDELETE 'localhost:9200/atom'
However, if you haven't yet gotten to the step where you can run the web installer and name your ES index, this command likely won't work as of yet.
For permissions, AtoM expects everything to be owned by the www-data user. You can try resetting permissions with the following:
- sudo chown -R www-data:www-data /usr/share/nginx/atom
Finally, I'm not a developer or a system administrator so I'm not sure, but it's possible that you might actually need your webserver in place to be able to properly configure ES via the web installer? You might want to go back a step and set up Nginx and any other missing dependencies before getting to the web installer step.
Hopefully something here will be useful to you - please let us know how it goes!