Zammad là một hệ thống hỗ trợ khách hàng/trợ giúp mã nguồn mở được viết bằng Ruby. Đây là một hệ thống tạo phiếu dựa trên web với nhiều tính năng, bao gồm hỗ trợ quản lý giao tiếp với khách hàng qua nhiều kênh như Facebook, telegram, trò chuyện và email. Zammad được phân phối theo Giấy phép Công cộng GNU AFFERO (AGPL) và có thể được cài đặt trên nhiều nền tảng như Linux, AIX, FreeBSD, OpenBSD và MacOSX. Nó có sẵn trên Github và miễn phí cài đặt trên máy chủ của riêng bạn.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình Hệ thống tạo phiếu Zammad bằng máy chủ web Nginx và PostgreSQL cho hệ thống cơ sở dữ liệu. Hệ điều hành sẽ là Ubuntu 16.04 Xenial Xerus và chúng tôi sẽ sử dụng SSL Letsencrypt để bảo mật kết nối máy khách-máy chủ.
Tạo ngôn ngữ địa phương 'UTF-8' mới và đặt làm ngôn ngữ địa phương mặc định trên hệ thống.
Tiếp theo, hãy kiểm tra cài đặt ngôn ngữ bằng lệnh sau.
Và bạn sẽ nhận được ngôn ngữ hệ thống hiện đang sử dụng là 'UTF-8'.
Thêm khóa Zammad và kho lưu trữ mới vào hệ thống.
Cập nhật kho lưu trữ và cài đặt Zammad bằng lệnh apt, như được hiển thị bên dưới.
Lưu ý:
Zammad sẽ tự động cài đặt các gói cần thiết khác, bao gồm máy chủ web Nginx và cơ sở dữ liệu PostgreSQL.
Và khi bạn hoàn tất cài đặt, bạn sẽ thấy kết quả tương tự như kết quả được hiển thị trong ảnh chụp màn hình sau.
Zammad cùng với các gói cần thiết khác đã được cài đặt trên hệ thống.
Cài đặt công cụ letsencrypt từ kho lưu trữ chính thức bằng lệnh apt.
Công cụ Letsencrypt đã được cài đặt. Bây giờ hãy vào thư mục cấu hình Nginx '/etc/nginx/' và chỉnh sửa tệp máy chủ ảo mặc định.
Dán cấu hình bên dưới trong phần 'server {..}'.
Vậy là xong. Lưu các thay đổi, sau đó khởi động lại nginx.
Tiếp theo, tạo Chứng chỉ SSL mới cho tên miền của riêng bạn bằng lệnh letsencrypt bên dưới.
Bạn sẽ được hỏi về thông báo gia hạn Email, hãy nhập email của bạn.
Và cũng sẽ được hỏi về Điều khoản dịch vụ (TOS) của Letsencrypt, hãy chọn 'Đồng ý' và nhấn Enter.
Bạn sẽ thấy kết quả tương tự như kết quả hiển thị bên dưới sau khi chứng chỉ SSL được tạo.
Tất cả các tệp chứng chỉ đều có sẵn bên trong thư mục '/etc/letsencrypt/live/' và các tệp Chứng chỉ SSL mới cho Zammad đã được tạo.
Trong bước này, chúng ta cần chỉnh sửa tệp máy chủ ảo zammad 'zammad.conf' để triển khai cấu hình SSL.
Đi tới thư mục 'sites-available' và chỉnh sửa tệp 'zammad.conf' bằng vim.
Xóa tất cả các dòng và dán cấu hình bên dưới.
Lưu các thay đổi và thoát khỏi trình soạn thảo.
Vì vậy, máy chủ ảo Zammad đã được bật SSL. Bây giờ, hãy kiểm tra cấu hình và đảm bảo không có lỗi. Sau đó, khởi động lại máy chủ web nginx.
Máy chủ ảo Zammad hiện đang sử dụng cấu hình SSL.
Mở trình duyệt web của bạn và nhập URL zammad 'zammad.hakase-labs.co'. Bạn sẽ được tự động chuyển hướng đến kết nối HTTPS.
Nhấp vào 'Thiết lập hệ thống mới'.
Trang tiếp theo dành cho cấu hình quản trị. Tại đây, nhập các thông tin chi tiết như người dùng quản trị, email và mật khẩu. Sau đó nhấp vào 'Tạo'
Đối với tên tổ chức, hãy nhập tên tổ chức của bạn 'Hakase-labs Inc' và nhấp vào 'Tiếp theo'.
Đối với cấu hình email, hãy nhấp vào 'Tiếp tục'. Chúng ta có thể thực hiện cấu hình Thông báo qua Email từ trang cài đặt.
Tiếp theo, trong cửa sổ cấu hình Kênh, nhấp vào 'Bỏ qua'.
Và bây giờ bạn thấy bảng điều khiển quản trị Zammad với giao diện người dùng đẹp mắt.
Zammad đã được cài đặt và HTTPS đã được bật. Nó được cài đặt với Nginx làm máy chủ web và PostgreSQL làm cơ sở dữ liệu trên Linux Ubuntu 16.04.
Nếu bạn muốn cấu hình từng dịch vụ riêng lẻ, bạn có thể sử dụng các lệnh cụ thể như được hiển thị bên dưới.
Cài đặt Zammad trên Ubuntu 16.04 Xenial Xerus đã hoàn tất.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình Hệ thống tạo phiếu Zammad bằng máy chủ web Nginx và PostgreSQL cho hệ thống cơ sở dữ liệu. Hệ điều hành sẽ là Ubuntu 16.04 Xenial Xerus và chúng tôi sẽ sử dụng SSL Letsencrypt để bảo mật kết nối máy khách-máy chủ.
Những gì chúng tôi sẽ làm
- Cấu hình ngôn ngữ trên Ubuntu 16.04
- Cài đặt Hệ thống vé Zammad
- Cài đặt và cấu hình SSL Letsencrypt
- Cấu hình Nginx HTTPS
- Cấu hình Zammad
- Mẹo bổ sung
Điều kiện tiên quyết
- Ubuntu 16.04
- RAM: 2GB trở lên
- Quyền root
Bước 1 - Cấu hình ngôn ngữ
Chúng ta cần thiết lập hệ thống ngôn ngữ của mình thành 'UTF-8' để cài đặt cơ sở dữ liệu PostgreSQL. Cài đặt ngôn ngữ địa phương trong hệ thống bằng lệnh apt sau.
Mã:
apt install locales
Mã:
locale-gen en_US.UTF-8
echo 'LANG=en_US.UTF-8' > /etc/default/locale
Tiếp theo, hãy kiểm tra cài đặt ngôn ngữ bằng lệnh sau.
Mã:
locale
Bước 2 - Cài đặt Hệ thống bán vé Zammad
Zammad có thể được cài đặt theo hai cách sau: cài đặt thủ công từ các nguồn hoặc cài đặt từ các gói lưu trữ. Trong hướng dẫn này, chúng tôi sẽ cài đặt Zammad từ kho lưu trữ.Thêm khóa Zammad và kho lưu trữ mới vào hệ thống.
Mã:
wget -qO - https://deb.packager.io/key | sudo apt-key add -
echo "deb https://deb.packager.io/gh/zammad/zammad xenial stable" | sudo tee /etc/apt/sources.list.d/zammad.list
Mã:
sudo apt update
sudo apt install zammad
Lưu ý:
Zammad sẽ tự động cài đặt các gói cần thiết khác, bao gồm máy chủ web Nginx và cơ sở dữ liệu PostgreSQL.
Và khi bạn hoàn tất cài đặt, bạn sẽ thấy kết quả tương tự như kết quả được hiển thị trong ảnh chụp màn hình sau.
Zammad cùng với các gói cần thiết khác đã được cài đặt trên hệ thống.
Bước 3 - Cài đặt và cấu hình SSL Letsencrypt
Trong hướng dẫn này, chúng tôi sẽ cấu hình Zammad để sử dụng HTTPS cho các kết nối an toàn giữa máy khách và máy chủ. Chúng tôi sẽ sử dụng SSL miễn phí từ Letsencrypt và có thể cấu hình bằng công cụ letsencrypt.Cài đặt công cụ letsencrypt từ kho lưu trữ chính thức bằng lệnh apt.
Mã:
apt install letsencrypt
Mã:
cd /etc/nginx/sites-available/
vim default
Mã:
location ~ /.well-known {
allow all;
}
Mã:
systemctl restart nginx
Mã:
letsencrypt certonly --standalone -d zammad.hakase-labs.co
Và cũng sẽ được hỏi về Điều khoản dịch vụ (TOS) của Letsencrypt, hãy chọn 'Đồng ý' và nhấn Enter.
Bạn sẽ thấy kết quả tương tự như kết quả hiển thị bên dưới sau khi chứng chỉ SSL được tạo.
Tất cả các tệp chứng chỉ đều có sẵn bên trong thư mục '/etc/letsencrypt/live/' và các tệp Chứng chỉ SSL mới cho Zammad đã được tạo.
Bước 4 - Cấu hình Nginx cho Zammad
Máy chủ web Nginx được cài đặt tự động trong quá trình cài đặt Zammad. Có một cấu hình máy chủ ảo cho Zammad, có sẵn trong thư mục '/etc/nginx/sites-available'.Trong bước này, chúng ta cần chỉnh sửa tệp máy chủ ảo zammad 'zammad.conf' để triển khai cấu hình SSL.
Đi tới thư mục 'sites-available' và chỉnh sửa tệp 'zammad.conf' bằng vim.
Mã:
cd /etc/nginx/sites-available/
vim zammad.conf
Mã:
#
# đây là cấu hình nginx cho zammad
#
upstream zammad {
server localhost:3000;
}
upstream zammad-websocket {
server localhost:6042;
}
# Đã thêm - Tự động chuyển hướng HTTP sang HTTPS Nginx
server {
listen 80;
server_name zammad.irsyadf.me;
return 301 https://$host$request_uri;
}
# Đã thêm - Cấu hình HTTPS cho Zammad
server {
listen 443 http2 ssl;
ssl_certificate /etc/letsencrypt/live/zammad.irsyadf.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zammad.irsyadf.me/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets tắt;
ssl_stapling bật;
ssl_stapling_verify bật;
resolver 8.8.8.8 8.8.4.4 valid=300 giây;
resolver_timeout 5 giây;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
# thay thế 'localhost' bằng tên miền/fqdn của bạn nếu bạn muốn sử dụng zammad từ xa
server_name zammad.irsyadf.me;
root /opt/zammad/public;
access_log /var/log/nginx/zammad.access.log;
error_log /var/log/nginx/zammad.error.log;
client_max_body_size 50M;
location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico) {
expires max;
}
location /ws {
proxy_http_version 1.1;
proxy_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối "Nâng cấp";
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 86400;
proxy_pass http://zammad-websocket;
}
vị trí / {
proxy_set_header Máy chủ $http_host;
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 180;
proxy_pass http://zammad;
gzip on;
gzip_types văn bản/văn bản thuần túy/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
gzip_proxied any;
}
}
Vì vậy, máy chủ ảo Zammad đã được bật SSL. Bây giờ, hãy kiểm tra cấu hình và đảm bảo không có lỗi. Sau đó, khởi động lại máy chủ web nginx.
Mã:
nginx -t
systemctl restart nginx
Bước 5 - Cấu hình Zammad
Zammad và các gói khác bao gồm Nginx và PostgreSQL đã được cài đặt và cấu hình máy chủ ảo cũng đã hoàn tất. Bây giờ chúng ta cần thực hiện cài đặt và cấu hình Zammad thông qua trình duyệt Web.Mở trình duyệt web của bạn và nhập URL zammad 'zammad.hakase-labs.co'. Bạn sẽ được tự động chuyển hướng đến kết nối HTTPS.
Nhấp vào 'Thiết lập hệ thống mới'.
Trang tiếp theo dành cho cấu hình quản trị. Tại đây, nhập các thông tin chi tiết như người dùng quản trị, email và mật khẩu. Sau đó nhấp vào 'Tạo'
Đối với tên tổ chức, hãy nhập tên tổ chức của bạn 'Hakase-labs Inc' và nhấp vào 'Tiếp theo'.
Đối với cấu hình email, hãy nhấp vào 'Tiếp tục'. Chúng ta có thể thực hiện cấu hình Thông báo qua Email từ trang cài đặt.
Tiếp theo, trong cửa sổ cấu hình Kênh, nhấp vào 'Bỏ qua'.
Và bây giờ bạn thấy bảng điều khiển quản trị Zammad với giao diện người dùng đẹp mắt.
Zammad đã được cài đặt và HTTPS đã được bật. Nó được cài đặt với Nginx làm máy chủ web và PostgreSQL làm cơ sở dữ liệu trên Linux Ubuntu 16.04.
Bước 6 - Mẹo bổ sung
Zammad có ba thành phần, bao gồm máy chủ ứng dụng web, quy trình làm việc và máy chủ websocket. Chúng ta có thể quản lý tất cả các dịch vụ bằng lệnh systemcl bên dưới.
Mã:
systemctl start zammad
systemctl status zammad
systemctl restart zammad
Mã:
systemctl status zammad-web
systemctl status zammad-worker
systemctl status zammad-websocket