Cách thiết lập hệ thống ticketing Zammad trên Ubuntu 16.04

theanh

Administrator
Nhân viên
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ủ.

Những gì chúng tôi sẽ làm​

  1. Cấu hình ngôn ngữ trên Ubuntu 16.04
  2. Cài đặt Hệ thống vé Zammad
  3. Cài đặt và cấu hình SSL Letsencrypt
  4. Cấu hình Nginx HTTPS
  5. Cấu hình Zammad
  6. 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
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.
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
Và bạn sẽ nhận được ngôn ngữ hệ thống hiện đang sử dụng là 'UTF-8'.


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
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.
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
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.
Mã:
cd /etc/nginx/sites-available/
vim default
Dán cấu hình bên dưới trong phần 'server {..}'.
Mã:
location ~ /.well-known {
 allow all;
 }
Vậy là xong. Lưu các thay đổi, sau đó khởi động lại nginx.
Mã:
systemctl restart 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.
Mã:
letsencrypt certonly --standalone -d zammad.hakase-labs.co
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.

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
Xóa tất cả các dòng và dán cấu hình bên dưới.
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;
 }
 }
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ã:
nginx -t
systemctl restart nginx
Máy chủ ảo Zammad hiện đang sử dụng cấu hình SSL.

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
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.
Mã:
systemctl status zammad-web
systemctl status zammad-worker
systemctl status zammad-websocket
Cài đặt Zammad trên Ubuntu 16.04 Xenial Xerus đã hoàn tất.

Tham khảo​

 
Back
Bên trên