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

theanh

Administrator
Nhân viên
OsTicket là hệ thống ticket hỗ trợ mã nguồn mở dựa trên PHP. Đây là hệ thống ticket hỗ trợ đơn giản và nhẹ, được thiết kế để dễ sử dụng và dễ cài đặt. OsTicket cho phép bạn quản lý, sắp xếp và lưu trữ yêu cầu hỗ trợ của mình. OsTicket hỗ trợ xác thực LDAP và Active Directory.

Trong hướng dẫn này, tôi sẽ hướng dẫn bạn từng bước cài đặt và cấu hình OsTicket trên Ubuntu 16.04. OsTicket sẽ chạy trên PHP-FPM 7, sử dụng Nginx làm máy chủ web và sử dụng MySQL phiên bản 5.7 làm cơ sở dữ liệu.

Điều kiện tiên quyết
  • Ubuntu 16.04
  • Quyền root

Bước 1 - Cài đặt Nginx và MySQL​

Trong bước này, chúng ta sẽ cài đặt Nginx và máy chủ MySQL từ kho lưu trữ Ubuntu, sau đó cho phép tất cả các dịch vụ khởi động khi khởi động.

Đăng nhập vào máy chủ bằng tài khoản ssh của bạn:
Mã:
ssh [emailprotected]
Cập nhật kho lưu trữ Ubuntu:
Mã:
sudo apt-get update
Sau đó cài đặt Nginx và máy chủ MySQL.
Mã:
sudo apt-get install -y nginx mysql-server
Bạn sẽ được yêu cầu nhập mật khẩu gốc của MySQL, hãy nhập mật khẩu MySQL an toàn.



Bây giờ hãy khởi động Nginx và MySQL bằng lệnh systemctl sau:
Mã:
systemctl restart nginx
systemctl restart mysql
Thêm lệnh này để khởi động khi khởi động:
Mã:
systemctl enable nginx
systemctl enable mysql
Bây giờ hãy đảm bảo rằng tất cả các dịch vụ đang chạy bằng cách kiểm tra cổng máy chủ của các dịch vụ:
Mã:
netstat -plntu
Bạn sẽ thấy cổng 80 được sử dụng bởi Nginx và cổng 3306 được máy chủ MySQL sử dụng.


Bước 2 - Cài đặt và cấu hình PHP-FPM7​

OsTicket yêu cầu một số tiện ích mở rộng PHP để cài đặt, bao gồm php-gd, imap, xml và mbstring. Trong bước này, chúng ta sẽ cài đặt PHP 7 và tất cả các tiện ích mở rộng đó, sau đó cấu hình PHP để chạy với máy chủ web Nginx.

Cài đặt PHP-FPM 7 và tất cả các tiện ích mở rộng cần thiết bằng lệnh apt bên dưới:
Mã:
sudo apt-get install -y php7.0-cli php7.0-mysql php7.0-cgi php7.0-fpm php7.0-gd php7.0-imap php7.0-xml php7.0-mbstring php7.0-intl php-apcu
Nếu đã hoàn tất, hãy vào thư mục php 7 và chỉnh sửa tệp php.ini.
Mã:
cd /etc/php/7.0/
vim fpm/php.ini
Bỏ chú thích dòng cgi.fix_pathinfo và đổi giá trị của nó thành 0.
Mã:
cgi.fix_pathinfo=0
Lưu tệp và thoát khỏi vim.

Bây giờ hãy khởi động lại php7-fpm và thêm nó để bắt đầu khi khởi động:
Mã:
systemctl restart php7.0-fpm
systemctl enable php7.0-fpm
Tiếp theo, chúng ta sẽ cấu hình PHP 7 FPM để hoạt động với máy chủ web Nginx. Vào thư mục máy chủ ảo Nginx và chỉnh sửa tệp máy chủ ảo mặc định bằng vim.
Mã:
cd /etc/nginx/sites-available/
vim default
Bỏ chú thích dòng cấu hình PHP 7 bên dưới:
Mã:
location ~ \.php$ {
 include snippets/fastcgi-php.conf;
 #
 # # Chỉ với php7.0-cgi:
 # fastcgi_pass 127.0.0.1:9000;
 # # Chỉ với php7.0-fpm:
 fastcgi_pass unix:/run/php/php7.0-fpm.sock;
 }
Lưu và thoát, sau đó khởi động lại máy chủ web.
Mã:
systemctl restart nginx
Bây giờ hãy kiểm tra PHP 7 và Nginx bằng cách tạo tệp phpinfo.
Mã:
cd /var/www/html/
echo '' > info.php
Mở URL máy chủ web của bạn trong Trình duyệt và truy cập địa chỉ IP của máy chủ.


Bạn sẽ nhận được thông tin về cấu hình php của mình.


Bước 3 - Tạo cơ sở dữ liệu cho OsTicket​

Ở bước này, chúng ta sẽ tạo một cơ sở dữ liệu mới và người dùng MySQL cho OsTicket. Đăng nhập vào shell MySQL bằng mật khẩu root MySQL của bạn:
Mã:
mysql -u root -p
NHẬP MẬT KHẨU CỦA BẠN
Tạo một cơ sở dữ liệu mới có tên 'osticket_db' và một người dùng mới 'osticket' với mật khẩu 'osticketpw@'.
Mã:
tạo cơ sở dữ liệu osticket_db;
tạo người dùng osticket@localhost được xác định bởi 'osticketpw@';
Cấp tất cả các quyền cho người dùng mới vào cơ sở dữ liệu 'osticket_db'.
Mã:
cấp tất cả các quyền trên osticket_db.* cho osticket@localhost được xác định bởi 'osticketpw@';
xóa các quyền;
Cơ sở dữ liệu cho OsTicket đã được tạo.


Bước 4 - Tạo OsTicket Virtual Host​

Bây giờ chúng ta phải tạo cấu hình máy chủ ảo mới cho OsTicket.

Vào thư mục máy chủ ảo Nginx và tạo tệp mới 'osticket' bằng vim:
Mã:
cd /etc/nginx/sites-available/
vim osticket
Dán cấu hình bên dưới:
Mã:
máy chủ {
 lắng nghe 80;
 tên máy chủ osticket.hakase-labs.com;
 
 gốc /var/www/osticket/tải lên;
 
 nhật ký truy cập /var/log/nginx/access.log;
 nhật ký lỗi /var/log/nginx/error.log;
 
 chỉ mục index.php;
 kích thước thân máy khách tối đa 2000M;
 kích thước bộ đệm thân máy khách 100M;
 kích thước bộ đệm tiêu đề máy khách 10M;
 bộ đệm tiêu đề máy khách lớn 2 10M;
 
 thời gian chờ thân máy khách 12;
 thời gian chờ tiêu đề máy khách 12;
 thời gian chờ giữ hoạt động 15;
 thời gian chờ gửi 10;
 
 bật gzip;
 gzip_comp_level 2;
 gzip_min_length 1000;
 gzip_proxied đã hết hạn không có bộ nhớ đệm không lưu trữ xác thực riêng tư;
 gzip_types văn bản/plain ứng dụng/x-javascript văn bản/xml văn bản/css ứng dụng/xml;
 
 đặt $path_info "";
 
 vị trí ~ /include {
 từ chối tất cả;
 trả về 403;
 }
 
 nếu ($request_uri ~ "^/api(/[^\?]+)") {
 đặt $path_info $1;
 }
 
 vị trí ~ ^/api/(?:tickets|tasks).*$ {
 try_files $uri $uri/ /api/http.php?$query_string;
 }
 
 nếu ($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/php7.0-fpm.sock;
 fastcgi_param PATH_INFO $path_info;
 }
}
Chúng tôi sẽ sử dụng tên miền 'osticket.hakase-labs.com' và sử dụng thư mục '/var/www/osticket/upload' làm thư mục gốc của web. Thay thế tên miền 'osticket.hakase-labs.com'bằng tên miền của riêng bạn.

Lưu tệp cấu hình Nginx và thoát.

Bây giờ hãy kích hoạt máy chủ ảo và kiểm tra cấu hình.
Mã:
ln -s /etc/nginx/sites-available/osticket /etc/nginx/sites-enabled/
nginx -t
Đảm bảo không có lỗi và khởi động lại Nginx.
Mã:
systemctl restart nginx

Bước 5 - Tải xuống và cấu hình osTicket​

Tạo một thư mục mới cho osTicket và đi đến thư mục đó.
Mã:
mkdir -p /var/www/osticket/
cd /var/www/osticket/
Tải xuống osTicket bằng lệnh wget.
Mã:
wget http://osticket.com/sites/default/files/download/osTicket-v1.10.zip
Giải nén tệp lưu trữ osTicket bằng lệnh unzip.
Mã:
giải nén osTicket-v1.10.zip
Tất cả các tệp web osTicket đều có sẵn trong thư mục 'upload', hãy đến thư mục đó và sao chép tệp cấu hình osticket mẫu.
Mã:
cd upload/
cp include/ost-sampleconfig.php include/ost-config.php
Bây giờ hãy thay đổi chủ sở hữu của các tệp và thư mục allosticket thành người dùng và nhóm 'www-data'.
Mã:
cd /var/www/osticket/
chown -R www-data:www-data upload/

Bước 6 - Cài đặt OsTicket​

Mở trình duyệt web của bạn và truy cập tên miền OsTicket của bạn, của tôi là:

h77p://osticket.hakase-labs.com

Đảm bảo rằng tất cả các gói bắt buộc đều được đánh dấu màu xanh lá cây như trong hình.



Nếu có lỗi, bạn có thể thấy dấu đỏ như trong ví dụ bên dưới:



Nhấp vào 'Tiếp tục' và bạn sẽ được chuyển hướng đến phần cấu hình OsTicket.

Trong 'Cài đặt hệ thống', hãy nhập 'Tên HelpDesk' và địa chỉ email mặc định của bạn. Trong phần 'Người dùng quản trị', hãy nhập cấu hình quản trị của bạn bao gồm email quản trị và đảm bảo email này khác với email mặc định của bộ phận trợ giúp.



Trong phần cài đặt cơ sở dữ liệu, chỉ cần điền thông tin chi tiết về cơ sở dữ liệu của chúng tôi đã tạo ở bước 3.



Nhấp vào 'Cài đặt ngay' và đợi một giây để cài đặt. Và nếu hoàn tất, bạn sẽ thấy bên dưới.


Mã:
cd /var/www/osticket/upload/
Xóa hoặc đổi tên thư mục thiết lập và thay đổi quyền của tệp cấu hình osticket.
Mã:
mv setup/ setup-sh/
chmod 0644 include/ost-config.php
Cài đặt OsTicket đã hoàn tất.

Bước 7 - Kiểm tra​

Trang chủ OsTicket -


Đăng nhập quản trị OsTicket -


Bảng điều khiển tác nhân OsTicket -


Cấu hình bảng điều khiển quản trị OsTicket -

Liên kết​

 
Back
Bên trên