Cách cài đặt osTicket với Nginx trên Debian 11

theanh

Administrator
Nhân viên
osTicket là hệ thống phiếu hỗ trợ mã nguồn mở và miễn phí được sử dụng để mở rộng và hợp lý hóa dịch vụ khách hàng của bạn và cải thiện trải nghiệm của khách hàng. Hệ thống này cung cấp giao diện dựa trên web để quản lý, sắp xếp và theo dõi tất cả các phiếu hỗ trợ. Nó được viết bằng PHP và hỗ trợ nhiều cơ sở dữ liệu như MySQL và PostgreSQL.

Tính năng
  • Báo cáo bảng điều khiển
  • Chủ đề trợ giúp có thể định cấu hình
  • Thỏa thuận mức dịch vụ
  • Bộ lọc phiếu
  • Cổng hỗ trợ khách hàng
  • Trả lời tự động
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt osTicket trên Debian 11.

Điều kiện tiên quyết​

  • Một máy chủ đang chạy Debian 11.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được định cấu hình trên máy chủ.

Bắt đầu​

Đầu tiên, hãy cập nhật và nâng cấp tất cả các gói hệ thống lên phiên bản mới nhất bằng lệnh sau.
Mã:
apt update -y
apt upgrade -y
Sau khi tất cả các gói được cập nhật, bạn có thể cài đặt các gói cần thiết khác bằng lệnh sau lệnh:
Mã:
apt install ca-certificates apt-transport-https software-properties-common wget curl
Sau khi tất cả các gói cần thiết được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt Nginx và PHP​

Trước tiên, hãy cài đặt gói máy chủ web Nginx bằng lệnh sau.
Mã:
apt install nginx -y
Tiếp theo, hãy thêm kho lưu trữ PHP bằng lệnh sau lệnh.
Mã:
curl -sSL https://packages.sury.org/php/README.txt | bash -x
Tiếp theo, cài đặt phiên bản PHP mới nhất và các phụ thuộc PHP cần thiết khác bằng lệnh sau.
Mã:
apt install php8.1 php8.1-mysql php8.1-cgi php8.1-fpm php8.1-cli php8.1-curl php8.1-gd php8.1-imap php8.1-mbstring php8.1-intl php8.1-apcu php8.1-common php8.1-gettext php8.1-bcmath php8.1-xml php8.1-dom -y
Sau khi cài đặt, hãy chỉnh sửa cấu hình PHP tập tin.
Mã:
nano /etc/php/8.1/fpm/php.ini
Thay đổi dòng sau.
Mã:
cgi.fix_pathinfo=0
Lưu và đóng tập tin sau đó khởi động lại dịch vụ PHP-FPM để áp dụng thay đổi.
Mã:
systemctl restart php8.1-fpm

Cài đặt và cấu hình MariaDB​

Trước tiên, cài đặt máy chủ cơ sở dữ liệu MariaDB bằng lệnh sau.
Mã:
apt install mariadb-server -y
Tiếp theo, bảo mật cài đặt MariaDB bằng lệnh sau lệnh.
Mã:
mysql_secure_installation
Trả lời tất cả các câu hỏi bên dưới:
Mã:
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Tiếp theo, đăng nhập vào shell MariaDB với tư cách là root người dùng.
Mã:
mysql -u root -p
Tiếp theo, tạo cơ sở dữ liệu và người dùng cho osTicket.
Mã:
MariaDB [(none)]> create database osticketdb;
MariaDB [(none)]> grant all privileges on osticketdb.* to osticketuser identified by 'secure-password';
Tiếp theo, xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau lệnh.
Mã:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Cài đặt osTicket​

Đầu tiên, tải xuống phiên bản mới nhất của osTicket từ trang tải xuống GitHub.
Mã:
wget https://github.com/osTicket/osTicket/releases/download/v1.17.2/osTicket-v1.17.2.zip
Sau khi tải xuống hoàn tất, hãy tạo một thư mục cho osTicket và giải nén tệp đã tải xuống bên trong thư mục đó thư mục.
Mã:
mkdir /var/www/html/osticket
unzip osTicket-v1.17.2.zip -d /var/www/html/osticket
Tiếp theo, thiết lập quyền sở hữu và quyền cho thư mục osticket.
Mã:
chown -R www-data:www-data /var/www/html/osticket
chmod -R 755 /var/www/html/osticket
Tiếp theo, đổi tên cấu hình mẫu osTicket file.
Mã:
mv /var/www/html/osticket/upload/include/ost-sampleconfig.php /var/www/html/osticket/upload/include/ost-config.php
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Nginx cho osTicket​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Nginx cho osTicket. Bạn có thể tạo nó bằng lệnh sau.
Mã:
nano /etc/nginx/conf.d/osticket.conf
Thêm cấu hình sau.
Mã:
server {
listen 80;
server_name osticket.example.com;
root /var/www/html/osticket/upload;
index index.php index.html index.htm;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# Enable gzip
gzip on;
gzip_min_length 1000;
gzip_types text/plain application/x-javascript text/xml text/css application/xml;
set $path_info "";
location ~ /include {
deny all;
return 403;
}
if ($request_uri ~ "^/api(/[^\?]+)") {
set $path_info $1;
}
location ~ ^/api/(?:tickets|tasks).*$ {
try_files $uri $uri/ /api/http.php?$query_string;
}
if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
set $path_info $1;
}
location ~ ^/scp/ajax.php/.*$ {
try_files $uri $uri/ /scp/ajax.php?$query_string;
}
location / {
try_files $uri $uri/ index.php;
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
Lưu và đóng tệp sau đó xác minh cấu hình Nginx bằng lệnh sau.
Mã:
nginx -t
Bạn sẽ nhận được thông báo sau đầu ra.
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi.
Mã:
systemctl restart nginx
Bạn cũng có thể kiểm tra trạng thái Nginx bằng cách sử dụng lệnh sau lệnh.
Mã:
systemctl status nginx
Bạn sẽ thấy trạng thái Nginx trong đầu ra sau.
Mã:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-12-21 08:15:10 UTC; 4s ago Docs: man:nginx(8) Process: 24700 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 24701 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 24702 (nginx) Tasks: 2 (limit: 2339) Memory: 3.1M CPU: 25ms CGroup: /system.slice/nginx.service ??24702 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??24703 nginx: worker process
Dec 21 08:15:10 debian11 systemd[1]: nginx.service: Succeeded.
Dec 21 08:15:10 debian11 systemd[1]: Stopped A high performance web server and a reverse proxy server.
Dec 21 08:15:10 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 21 08:15:10 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Dec 21 08:15:10 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
Tại thời điểm này, Nginx đã được cài đặt và cấu hình cho osTicket. Bây giờ bạn có thể tiếp tục truy cập osTicket.

Truy cập Giao diện web osTicket​

Mở trình duyệt web của bạn và truy cập trang cài đặt osTicket bằng URL Bạn sẽ thấy trang điều kiện tiên quyết.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22379%22%3E%3C/svg%3E


Nhấp vào Tiếp tục. Bạn sẽ thấy trang cài đặt cơ bản.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22316%22%3E%3C/svg%3E



data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22445%22%3E%3C/svg%3E


Xác định URL bộ phận trợ giúp, tên, email, tên cơ sở dữ liệu, tên người dùng, mật khẩu, sau đó nhấp vào nút Cài đặt ngay để bắt đầu cài đặt. Sau khi cài đặt osTicket, bạn sẽ thấy trang sau.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22412%22%3E%3C/svg%3E


Để truy cập bảng điều khiển osTicket, hãy nhập URL vào trình duyệt web của bạn. Bạn sẽ thấy trang đăng nhập osTicket.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22360%22%3E%3C/svg%3E


Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển osTicket trên màn hình sau.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22383%22%3E%3C/svg%3E


Bạn cũng có thể truy cập trang diễn đàn osTicket bằng URL https://forum.osticket.com.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22391%22%3E%3C/svg%3E

Bật SSL trên osTicket​

Để cài đặt Let's Encrypt SSL trên trang web osTicket, bạn sẽ cần cài đặt gói certbot trên máy chủ của mình.

Trước tiên, hãy cài đặt trình quản lý gói Snap bằng lệnh sau:
Mã:
apt install snapd
Tiếp theo, hãy cập nhật gói Snap lên phiên bản mới nhất:
Mã:
snap install core
snap refresh core
Tiếp theo, cài đặt gói certbot bằng lệnh sau:
Mã:
snap install --classic certbot
Tiếp theo, tạo liên kết tượng trưng cho tệp nhị phân Certbot đến vị trí hệ thống:
Mã:
ln -s /snap/bin/certbot /usr/bin/certbot
Tiếp theo, chạy lệnh sau để tải xuống và cài đặt Let's Encrypt SSL chứng chỉ:
Mã:
certbot --nginx -d osticket.example.com
Bạn sẽ được yêu cầu cung cấp địa chỉ email và chấp nhận điều khoản dịch vụ:
Mã:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [emailprotected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Nhập Y và nhấn phím Enter để tải xuống và cài đặt chứng chỉ SSL cho domain:
Mã:
Account registered.
Requesting a certificate for osticket.example.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/osticket.example.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/osticket.example.com/privkey.pem
This certificate expires on 2023-03-22.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for osticket.example.com to /etc/nginx/conf.d/osticket.conf
Congratulations! You have successfully enabled HTTPS on https://osticket.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công osTicket với Nginx trên Debian 11. Bây giờ bạn có thể triển khai osTicket trong công ty của mình và sử dụng nó như một hệ thống quản lý bộ phận trợ giúp. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên