osTicket là một giải pháp hỗ trợ và tạo phiếu nguồn mở được viết bằng PHP. Nó hỗ trợ nhiều tích hợp như email, số điện thoại và biểu mẫu web. Bạn cũng có thể thiết lập các trường tùy chỉnh, bộ lọc, chủ đề, tác vụ và cả trình trả lời tự động.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt hệ thống tạo phiếu nguồn mở osTicket trên máy chủ Ubuntu 24.04. Bạn sẽ cài đặt osTicket với LAMP Stack (Linux, Apache, MariaDB và PHP) và bảo mật osTicket bằng HTTPS thông qua Certbot và Letsencrypt.
Trước tiên, hãy chạy lệnh sau để cài đặt các gói cơ bản vào hệ thống Ubuntu của bạn và thêm kho lưu trữ PPA cho PHP. Trong trường hợp này, bạn sẽ sử dụng PHP 8.2 để cài đặt osTicket, có sẵn trên kho lưu trữ PPA.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22408%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh bên dưới để cài đặt các phụ thuộc LAMP Stack vào hệ thống Ubuntu của bạn. Nhập 'Y' để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra trạng thái dịch vụ 'apache2' bằng cách sử dụng lệnh sau lệnh.
Bạn có thể thấy bên dưới máy chủ web Apache đã được bật và đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22240%22%3E%3C/svg%3E
Tiếp theo, hãy kiểm tra trạng thái máy chủ MariaDB bằng lệnh bên dưới. Bạn sẽ thấy máy chủ MariaDB cũng đang chạy và được bật trên hệ thống Ubuntu của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22303%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để kiểm tra phiên bản PHP. Bạn sẽ thấy PHP 8.2 được cài đặt trên hệ thống của bạn thông qua kho lưu trữ PPA.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22689%22%20height=%22441%22%3E%3C/svg%3E
Mở tệp '/etc/php/8.2/apache2/php.ini' bằng trình soạn thảo 'nano' sau.
Thay đổi cấu hình mặc định bằng lệnh sau. Đảm bảo điều chỉnh các tùy chọn 'date.timezone' và 'memory_limit' khi cần thiết.
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.
Cuối cùng, hãy chạy lệnh 'systemctl' bên dưới để khởi động lại máy chủ web Apache và áp dụng PHP mới của bạn cấu hình.
Thực hiện 'mariadb-secure-installation' sau để bảo mật cài đặt máy chủ MariaDB của bạn.
Bây giờ bạn sẽ được hỏi về các cấu hình sau:
Đăng nhập vào máy chủ MariaDB bằng lệnh máy khách 'mariadb' bên dưới. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Sau khi đăng nhập, hãy chạy các truy vấn sau để tạo cơ sở dữ liệu mới và người dùng 'osticket' với mật khẩu 'osticketpassword'. Thay đổi các chi tiết sau nếu cần.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22187%22%3E%3C/svg%3E
Bây giờ hãy chạy truy vấn bên dưới để đảm bảo rằng người dùng 'osticket' có thể truy cập cơ sở dữ liệu 'osticket'.
Trong đầu ra sau, bạn có thể thấy rằng cơ sở dữ liệu 'osticket' có thể truy cập được thông qua người dùng 'osticket'.
Cuối cùng, nhập 'quit' để thoát khỏi máy chủ MariaDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22178%22%3E%3C/svg%3E
Đi đến thư mục '/var/www/' và tải xuống mã nguồn osTicket bằng lệnh 'wget' bên dưới.
Sau khi tải xuống, hãy chạy lệnh 'unzip' bên dưới để giải nén mã nguồn osTicket vào thư mục 'osTicket'. Vì vậy, thư mục cài đặt osTicket sẽ có tại '/var/www/osTicket'.
Bây giờ hãy chạy lệnh bên dưới để thay đổi quyền sở hữu thư mục '/var/www/osTicket' thành người dùng 'www-data' và thay đổi quyền mặc định thành '0755'.
Cuối cùng, chạy lệnh sau để sao chép cấu hình osTicket vào '/var/www/osTicket/upload/include/ost-config.php'.
Tạo một tệp máy chủ ảo Apache mới '/etc/apache2/sites-available/osticket.conf' bằng trình chỉnh sửa 'nano' sau.
Chèn cấu hình sau và đảm bảo thay đổi tùy chọn 'ServerName' bằng tên miền của bạn tên.
Khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy chạy lệnh bên dưới để kích hoạt tệp 'osticket.conf' và xác minh cú pháp Apache của bạn. Nếu bạn có cú pháp Apache đúng, bạn sẽ thấy đầu ra 'Cú pháp là OK'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22733%22%20height=%22337%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh 'systemctl' bên dưới để khởi động lại máy chủ web Apache và áp dụng các thay đổi của bạn.
Cài đặt plugin 'certbot' và 'python3-certbot-apache' bằng lệnh 'apt' sau.
Sau khi cài đặt hoàn tất, hãy chạy lệnh 'certbot' bên dưới để tạo chứng chỉ SSL/TLS và bảo mật osTicket bằng HTTPS. Hãy đảm bảo thay đổi địa chỉ email và tên miền sau bằng thông tin của bạn.
Khi hoàn tất, chứng chỉ SSL/TLS của bạn sẽ có tại thư mục '/etc/letsencrypt/live/domain.com' và cài đặt osTicket của bạn sẽ được bảo mật bằng HTTPS.
Đảm bảo mọi phần phụ thuộc cho osTicket đã được cài đặt và nhấp vào Tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22680%22%3E%3C/svg%3E
Thay đổi các thiết lập hệ thống cơ bản như tên miền của bạn, sau đó nhập người dùng quản trị mới cho osTicket và nhập thông tin chi tiết về cơ sở dữ liệu mà bạn đã tạo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22682%22%20height=%22750%22%3E%3C/svg%3E
Nếu quá trình cài đặt hoàn tất, bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22609%22%3E%3C/svg%3E
Tiếp theo, quay lại thiết bị đầu cuối máy chủ của bạn và chạy lệnh bên dưới để xóa thư mục 'setup' khỏi osTicket của bạn cài đặt.
Bây giờ nếu bạn truy cập trang chủ osTicket, bạn sẽ nhận được trang mặc định như thế này:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22458%22%3E%3C/svg%3E
Đăng nhập vào osTicket bằng tên người dùng và mật khẩu quản trị viên của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22596%22%20height=%22435%22%3E%3C/svg%3E
Nếu bạn có thông tin đăng nhập quản trị viên chính xác, bạn sẽ thấy Bảng điều khiển quản trị osTicket sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22748%22%20height=%22750%22%3E%3C/svg%3E
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt hệ thống tạo phiếu nguồn mở osTicket trên máy chủ Ubuntu 24.04. Bạn sẽ cài đặt osTicket với LAMP Stack (Linux, Apache, MariaDB và PHP) và bảo mật osTicket bằng HTTPS thông qua Certbot và Letsencrypt.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, hãy đảm bảo bạn có những điều sau:- Máy chủ Ubuntu 24.04
- Người dùng không phải root có quyền quản trị viên
- Tên miền trỏ đến địa chỉ IP của máy chủ
Cài đặt các phụ thuộc
osTicket là hệ thống tạo vé nguồn mở được viết bằng PHP. Để cài đặt osTicket trên hệ thống Ubuntu của bạn, bạn phải cài đặt LAMP Stack (Linux, Apache, MariaDB và PHP). Vào thời điểm này, bạn cần PHP 8.2, vì vậy bạn sẽ cài đặt nó thông qua kho lưu trữ của bên thứ ba.Trước tiên, hãy chạy lệnh sau để cài đặt các gói cơ bản vào hệ thống Ubuntu của bạn và thêm kho lưu trữ PPA cho PHP. Trong trường hợp này, bạn sẽ sử dụng PHP 8.2 để cài đặt osTicket, có sẵn trên kho lưu trữ PPA.
Mã:
sudo apt install ca-certificates apt-transport-https software-properties-common lsb-release -y
sudo add-apt-repository ppa:ondrej/php -y
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22408%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh bên dưới để cài đặt các phụ thuộc LAMP Stack vào hệ thống Ubuntu của bạn. Nhập 'Y' để xác nhận cài đặt.
Mã:
sudo apt install apache2 mariadb-server php8.2 libapache2-mod-php8.2 php8.2-mysql php8.2-cgi php8.2-fpm php8.2-cli php8.2-curl php8.2-gd php8.2-imap php8.2-mbstring php-pear php8.2-intl php8.2-apcu php8.2-common php8.2-bcmath php8.2-xml php8.2-zip
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra trạng thái dịch vụ 'apache2' bằng cách sử dụng lệnh sau lệnh.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22240%22%3E%3C/svg%3E
Tiếp theo, hãy kiểm tra trạng thái máy chủ MariaDB bằng lệnh bên dưới. Bạn sẽ thấy máy chủ MariaDB cũng đang chạy và được bật trên hệ thống Ubuntu của bạn.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22303%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để kiểm tra phiên bản PHP. Bạn sẽ thấy PHP 8.2 được cài đặt trên hệ thống của bạn thông qua kho lưu trữ PPA.
Mã:
sudo php -v
sudo php -m
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22689%22%20height=%22441%22%3E%3C/svg%3E
Cấu hình PHP
Trong phần này, bạn sẽ cấu hình PHP bằng cách chỉnh sửa mặc định Tệp 'php.ini' và khởi động lại máy chủ web Apache.Mở tệp '/etc/php/8.2/apache2/php.ini' bằng trình soạn thảo 'nano' sau.
Mã:
sudo nano /etc/php/8.2/apache2/php.ini
Mã:
date.timezone = Europe/Berlin
memory_limit = 512M
Cuối cùng, hãy chạy lệnh 'systemctl' bên dưới để khởi động lại máy chủ web Apache và áp dụng PHP mới của bạn cấu hình.
Mã:
sudo systemctl restart apache2
Cấu hình máy chủ MariaDB
Sau khi cấu hình PHP, bạn sẽ bảo mật cài đặt máy chủ MariaDB và tạo cơ sở dữ liệu và người dùng mới cho osTicket. Bạn sẽ sử dụng tiện ích 'mariadb-secure-installation' để bảo mật máy chủ MariaDB, sau đó sử dụng máy khách 'mariadb'.Thực hiện 'mariadb-secure-installation' sau để bảo mật cài đặt máy chủ MariaDB của bạn.
Mã:
sudo mariadb-secure-installation
- Đối với cài đặt máy chủ MariaDB mặc định không có mật khẩu gốc, hãy nhấn ENTER khi được hỏi về mật khẩu.
- Xác thực cục bộ cho người dùng gốc MariaDB được bảo mật theo mặc định, hãy nhập 'n' khi được yêu cầu thay đổi phương thức xác thực thành 'unix_socket'.
- Nhập 'Y' để tạo mật khẩu gốc MariaDB mới. Sau đó, nhập mật khẩu mạnh cho người dùng gốc MariaDB của bạn và lặp lại.
- Khi được yêu cầu tắt xác thực từ xa cho người dùng gốc MariaDB, hãy nhập 'Y' để đồng ý.
- Cài đặt máy chủ MariaDB mặc định đi kèm với cơ sở dữ liệu 'test' và cho phép người dùng ẩn danh truy cập vào cơ sở dữ liệu đó. Nhập 'Y' cho cả hai thiết lập để xóa 'test' cơ sở dữ liệu mặc định và xóa đặc quyền ẩn danh.
- Cuối cùng, nhập 'Y' để xác nhận tải lại đặc quyền bảng.
Đăng nhập vào máy chủ MariaDB bằng lệnh máy khách 'mariadb' bên dưới. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Mã:
CREATE DATABASE osticket;
CREATE USER 'osticket'@'localhost' IDENTIFIED BY 'osticketpassword';
GRANT ALL PRIVILEGES ON osticket.* TO osticket@localhost IDENTIFIED BY "osticketpassword";
FLUSH PRIVILEGES;
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22187%22%3E%3C/svg%3E
Bây giờ hãy chạy truy vấn bên dưới để đảm bảo rằng người dùng 'osticket' có thể truy cập cơ sở dữ liệu 'osticket'.
Mã:
SHOW GRANTS FOR osticket@localhost;
Cuối cùng, nhập 'quit' để thoát khỏi máy chủ MariaDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22178%22%3E%3C/svg%3E
Tải xuống osTicket
Bây giờ bạn đã cấu hình máy chủ PHP và MariaDB, bạn sẽ tải xuống mã nguồn osTicket và thiết lập thư mục cài đặt.Đi đến thư mục '/var/www/' và tải xuống mã nguồn osTicket bằng lệnh 'wget' bên dưới.
Mã:
cd /var/www
wget https://github.com/osTicket/osTicket/releases/download/v1.18.1/osTicket-v1.18.1.zip
Mã:
unzip osTicket-v1.18.1.zip -d osTicket
Mã:
sudo chown -R www-data:www-data /var/www/osTicket
sudo chmod 755 /var/www/osTicket
Mã:
mv /var/www/osTicket/upload/include/ost-sampleconfig.php /var/www/osTicket/upload/include/ost-config.php
Thiết lập Apache virtual host
Trong phần này, bạn sẽ tạo một tệp máy chủ ảo Apache mới cho osTicket. Vì vậy, hãy đảm bảo rằng bạn đã trỏ tên miền của mình đến một địa chỉ IP máy chủ.Tạo một tệp máy chủ ảo Apache mới '/etc/apache2/sites-available/osticket.conf' bằng trình chỉnh sửa 'nano' sau.
Mã:
sudo nano /etc/apache2/sites-available/osticket.conf
Mã:
ServerName ticket.howtoforge.local
ServerAdmin admin@localhost
DocumentRoot /var/www/osTicket/upload
Require all granted
Options FollowSymlinks
AllowOverride All
ErrorLog ${APACHE_LOG_DIR}/osticket.error.log
CustomLog ${APACHE_LOG_DIR}/osticket.access.log combined
Bây giờ hãy chạy lệnh bên dưới để kích hoạt tệp 'osticket.conf' và xác minh cú pháp Apache của bạn. Nếu bạn có cú pháp Apache đúng, bạn sẽ thấy đầu ra 'Cú pháp là OK'.
Mã:
sudo a2ensite osticket.conf
sudo apachectl configtest
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22733%22%20height=%22337%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh 'systemctl' bên dưới để khởi động lại máy chủ web Apache và áp dụng các thay đổi của bạn.
Mã:
sudo systemctl restart apache2
Bảo mật osTicket bằng HTTPS
Trong phần này, bạn sẽ bảo mật cài đặt osTicket bằng HTTPS. Đối với điều này, bạn sẽ cài đặt và sử dụng Certbot để tạo chứng chỉ SSL/TLS từ letsencrypt.Cài đặt plugin 'certbot' và 'python3-certbot-apache' bằng lệnh 'apt' sau.
Mã:
sudo apt install certbot python3-certbot-apache -y
Mã:
sudo certbox --apache --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d ticket.howtoforge.local
Cài đặt osTicket
Mở trình duyệt web của bạn và truy cập tên miền của bạn như https://tiket.howtoforge.local. Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy trình hướng dẫn cài đặt osTicket.Đảm bảo mọi phần phụ thuộc cho osTicket đã được cài đặt và nhấp vào Tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22680%22%3E%3C/svg%3E
Thay đổi các thiết lập hệ thống cơ bản như tên miền của bạn, sau đó nhập người dùng quản trị mới cho osTicket và nhập thông tin chi tiết về cơ sở dữ liệu mà bạn đã tạo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22682%22%20height=%22750%22%3E%3C/svg%3E
Nếu quá trình cài đặt hoàn tất, bạn sẽ thấy trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22609%22%3E%3C/svg%3E
Tiếp theo, quay lại thiết bị đầu cuối máy chủ của bạn và chạy lệnh bên dưới để xóa thư mục 'setup' khỏi osTicket của bạn cài đặt.
Mã:
sudo rm -rf /var/www/osTicket/upload/setup
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22458%22%3E%3C/svg%3E
Đăng nhập vào osTicket bằng tên người dùng và mật khẩu quản trị viên của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22596%22%20height=%22435%22%3E%3C/svg%3E
Nếu bạn có thông tin đăng nhập quản trị viên chính xác, bạn sẽ thấy Bảng điều khiển quản trị osTicket sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22748%22%20height=%22750%22%3E%3C/svg%3E