Перед тем как выполнять какие либо действия, осознайте что и зачем вы делаете, любые последствия это ваш собственный риск, если не готовы взять на себя ответственность за решение возникших проблем - остановитесь!

I. Устанавливаем Elasticsearch

  1. apt install apt-transport-https sudo wget curl gnupg
  2. echo "deb [signed-by=/etc/apt/trusted.gpg.d/elasticsearch.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main"| tee -a /etc/apt/sources.list.d/elastic-7.x.list > /dev/null
  3. curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor | tee /etc/apt/trusted.gpg.d/elasticsearch.gpg> /dev/null
  4. apt update
  5. apt upgrade
  6. apt install elasticsearch
  7. /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
  8. systemctl start elasticsearch
  9. systemctl enable elasticsearch
  10. sed -i '$a http.max_content_length: 400mb indices.query.bool.max_clause_count: 2000' /etc/elasticsearch/elasticsearch.yml

II. Устанавливаем Zammad

  1. echo "deb [signed-by=/etc/apt/trusted.gpg.d/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 20.04 main"| tee /etc/apt/sources.list.d/zammad.list > /dev/null
  2. curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null
  3. apt update
  4. apt install zammad

III. Настраиваем Elasticsearch для работы с Zammad 

  1. zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
  2. zammad run rake searchindex:rebuild

IV. Настраиваем Nginx для работы с Zammad

  1. cp /opt/zammad/contrib/nginx/zammad_ssl.conf /etc/nginx/sites-enabled/zammad.conf
  2. nano /etc/nginx/sites-enabled/zammad.conf
  3. sed -i 's/server_name example.com/server_name yourdomain.com/g' /etc/nginx/sites-enabled/zammad.conf

V. Генерируем сертификаты SSL вручную для Nginx

  1. mkdir /etc/nginx/ssl
  2. wget -O /etc/nginx/ssl/lets-encrypt-x3-cross-signed.pem "https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem"
  3. openssl req -newkey rsa:4096 -nodes -x509 -days 1825 -keyout /etc/nginx/ssl/example.com-privkey.pem -out /etc/nginx/ssl/example.com-fullchain.pem
  4. openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
  5. systemctl restart nginx
  6. systemctl status nginx

VI. Автоматическое получение сертификата Let's Encrypt certbot для Nginx

  1. apt install python3-certbot-nginx
  2. certbot --nginx -d yourdomain.com
  3. выполняем требования интерактивного установщика сертификатов
  4. systemctl restart nginx
  5. По желанию можно удалить example.com-fullchain.pem и example.com-privkey.pem
  6. Бывает что открывается заглушка nginx тогда переместить или удалить /etc/nginx/sites-enabled/default