Zammad 邮件工单系统部署
一、安装环境
- centos 7
- Jave E
二、前置安装
1、其他软件依赖项
yum install wget epel-release
# CentOS 7
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、安装设置Elasticsearch
(1)安装
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
echo "[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md"| tee /etc/yum.repos.d/elasticsearch-7.x.repo
yum install -y elasticsearch
/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
(2)设置
#启动
systemctl start elasticsearch
systemctl enable elasticsearch
三、安装Zammad
1、确认语言环境
# 列出您当前的区域设置。
locale |grep "LANG="
# 如果上面没有返回<lang_code>.utf8,您可以按以下方式纠正此问题。
localectl set-locale LANG=en_US.utf8
2、添加存储库
# 安装存储库密钥
rpm --import https://dl.packager.io/srv/zammad/zammad/key
# RHEL 7 / CentOS 7
wget -O /etc/yum.repos.d/zammad.repo https://dl.packager.io/srv/zammad/zammad/stable/installer/el/7.repo
3、安装Zammad
# 安装PostgreSQL数据库(或许你也可以安装mysql)
yum install postgresql14-server -y
postgresql-14-setup initdb
systemctl start postgresql-14
systemctl enable postgresql-14
# 安装zammad
yum install zammad -y
四、启动项目
1、修改前端文件权限
chcon -Rv --type=httpd_sys_content_t /opt/zammad/public/
setsebool httpd_can_network_connect on -P
semanage fcontext -a -t httpd_sys_content_t /opt/zammad/public/
restorecon -Rv /opt/zammad/public/
chmod -R a+r /opt/zammad/public/
2、放行防火墙
# 80端口
firewall-cmd --zone=public --add-service=http --permanent
# 443端口
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --reload
3、连接Elasticsearch
# Set the Elasticsearch server address
zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
# Build the search index
zammad run rake zammad:searchindex:rebuild
4、启动zammad
systemctl start zammad
systemctl start zammad-web
systemctl start zammad-worker
systemctl start zammad-websocket
# 开机启动
systemctl enable zammad
systemctl enable zammad-web
systemctl enable zammad-worker
systemctl enable zammad-websocket
其它命令汇总
$ # Zammad service to start all services at once
$ systemctl (status|start|stop|restart) zammad
$ # Zammads internal puma server (relevant for displaying the web app)
$ systemctl (status|start|stop|restart) zammad-web
$ # Zammads background worker - relevant for all delayed- and background jobs
$ systemctl (status|start|stop|restart) zammad-worker
$ # Zammads websocket server for session related information
$ systemctl (status|start|stop|restart) zammad-websocket