Well, the bulk of the install processes insist on self-hosting web, PostgreSQL; and I’ve unfortunately annoyed the devs (due apologies) trying to make this work with Ruby 2.5 on Ubuntu 18.04. So here’s what I came up with, that does work on a cloud provider.
Pre-installation
- Use Ubuntu 16.04.5
- sudo apt update && sudo install build-essential zlib1g-dev libssl-dev
- sudo apt install memcached libmemcached-tools && systemctl enable memcached : not sure if this is necessary, but Docker version uses it.
- Install Ruby 2.4 from Ruby 2.4 Ubuntu packages - Blog - Brightbox
- sudo gem install bundler
- Install PostgreSQL from PostgreSQL: Linux downloads (Ubuntu) : at least libpq-dev if not hosting the database locally.
Installation
Use Install from source — Zammad System Documentation documentation as your baseline set of instructions. Exceptions…
- After Step 1: sudo chown -R zammad:zammad /opt/zammad
- Edit the Gemfile to use ruby ‘2.4.5’ and gem ‘rails’, ‘5.1.6.1’; also replace therubyracer with mini_racer
- Step 2: use gem install rails -v 5.1.6.1 -i vendor/bundle && gem install bundler rake -i vendor/bundle && bin/bundle install --without test development mysql --path vendor/bundle The last step may error, but appears needed to lock the correct gem directory. Follow with bin/bundle update && bin/bundle install --without test development mysql --path vendor/bundle (adjust for MySQL usage)
- Step 3: you may need a database URL, example being url: postgresql://SERVER:5432/zammad?pool=5
- Step 4+5: the following worked better in my environment…
Note: upgrading; don’t do schema:dump or setup steps!
export RAILS_ENV=production
export RAILS_SERVE_STATIC_FILES=true
bin/rake db:schema:dump
bin/rails db:migrate
bin/rake db:setup
bin/rake db:migrate
bin/rake assets:precompile
-
Systemd script install: add that “STATIC_FILES” env from step 4 to the zammad.env file before installing the service. Also will need to change host to 0.0.0.0 if using a non-local HTTPS front-end.
-
Elasticsearch 6.x cluster: install GitHub - medcl/infini-gateway: Moved to: https://github.com/infinilabs/gateway & comment out the version_supported test (2 lines) in lib\search_index_backend.rb