웹사이트 검색

Ubuntu 18.04 LTS에서 Nginx와 함께 osTicket을 설치하는 방법


osTicket은 PHP로 작성된 Linux 플랫폼의 오픈 소스 발권 시스템입니다. MySQL, PostgreSQL과 같은 다양한 유형의 데이터베이스를 지원하고 중앙 인증을 위해 LDAP/액티브 디렉터리와 통합할 수 있습니다.

간단하고 가벼운 웹 기반 애플리케이션입니다. OsTicket을 사용하면 지원 요청을 관리, 구성 및 보관할 수 있습니다. 이메일, 웹 양식 및 전화 통화를 통해 작성된 문의를 간단하고 사용하기 쉬운 다중 사용자 웹 기반 고객 지원 플랫폼으로 원활하게 라우팅합니다.

이 튜토리얼에서는 Nginx를 웹 서버로, MySQL/MariaDB를 데이터베이스 서버로, PHP를 사용하여 Ubuntu 18.04에 osTicket을 설치하는 방법을 보여줍니다.

전제 조건

  • 우분투 18.04
  • 루트 권한이 있는 sudo 사용자.

1단계: 시작하기

먼저 sudo 권한으로 서버에 로그인하고 다음 명령을 사용하여 시스템을 최신 안정 버전으로 업데이트합니다.

sudo apt update &&  sudo apt upgrade -y

2단계: LEMP 서버 설치

OsTicket은 웹 서버, PHP 및 데이터베이스 서버가 서버에 설치되어 있어야 합니다.

Nginx 웹 서버 설치

다음 명령으로 Nginx 웹 서버를 설치할 수 있습니다.

sudo apt install nginx -y

이제 Nginx 서비스를 확인하고 서비스를 수동으로 시작하려면 다음 명령을 실행합니다.

sudo systemctl status nginx
sudo systemctl start nginx

이제 다음 명령을 실행하여 nginx 서비스가 부팅 시 시작되도록 활성화합니다.

sudo systemctl enable nginx

PHP 및 PHP-FPM 설치

다음으로 OsTicket이 제대로 실행되는 데 필요한 PHP, PHP-FPM 및 일부 추가 PHP 모듈을 설치해야 합니다.

sudo apt install php php-mysql php-cgi php-fpm php-cli php-curl php-gd php-imap php-mbstring php-xml-util php-intl php-apcu php-common php-gettext php-bcmath

위의 명령은 php-7.2를 설치합니다.

이제 터미널에서 다음 명령을 실행하여 php.ini 파일을 편집하십시오.

sudo vim /etc/php/7.2/fpm/php.ini

cgi.fix_pathinfo 변수의 주석을 제거하고 해당 값을 0으로 변경합니다.

cgi.fix_pathinfo=0

이제 파일을 저장하고 닫습니다.

다음으로 php7.2-fpm 서비스를 다시 시작하고 다음 명령을 사용하여 시작할 때 활성화합니다.

sudo systemctl restart php7.2-fpm
sudo systemctl enable php7.2-fpm

OsTicket용 MySQL 데이터베이스 서버 설치 및 구성

터미널 창에서 다음 명령을 실행하여 MySQL 데이터베이스 서버를 설치합니다.

sudo apt install mysql-server

이제 MySQL 서비스를 시작하고 부팅 시 시작되도록 활성화한 다음 다음 명령을 사용하여 MySQL 서비스 상태를 확인합니다.

sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysql

다음으로 다음 명령을 사용하여 MySQL 설치를 보호합니다.

sudo mysql_secure_installation

아래와 같이 모든 질문에 답하십시오.


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

다음으로 아래와 같이 MySQL 콘솔에 로그인합니다.

sudo mysql -u 루트 -p

여기에 루트 암호를 입력하십시오.

이제 osTicket용 데이터베이스를 만들어야 합니다.

run following command
mysql> create database osticket_db;

mysql> grant all privileges on osticket_db.* to osticket_user identified by '';

mysql> flush privileges;

osTicket용 데이터베이스가 생성되었습니다.

3단계: osTicket 다운로드 및 구성

osTicket에 대한 새 디렉터리를 만든 다음 해당 디렉터리로 이동합니다.

sudo mkdir -p /var/www/osticket/
cd /var/www/osticket/

다음으로 wget을 사용하여 최신 osTicket 설정을 다운로드하고 다음 명령을 사용하여 압축을 풉니다.

sudo apt-get install wget unzip
sudo wget https://github.com/osTicket/osTicket/releases/download/v1.14.1/osTicket-v1.14.1.zip
sudo unzip osTicket-v1.14.1.zip

압축을 푼 후 scriptsupload 디렉토리를 얻게 됩니다.

다음으로 다음 명령을 사용하여 ost-sampleconfig.php 파일에서 osTicket 구성 파일을 만듭니다.

sudo su -
cd upload/
cp ost-sampleconfig.php ost-config.php

다음으로 osTicket 웹 디렉토리의 소유권을 www-data 사용자 및 그룹으로 변경해야 합니다.

sudo chown -R www-data:www-data /var/www/osticket/

4단계 - OsTicket 가상 호스트 생성

이제 다음 명령을 실행하여 OsTicket에 대한 새 가상 호스트 구성을 만듭니다.

sudo vim /etc/nginx/sites-available/osticket.conf

아래와 같이 구성을 붙여넣습니다.

server {
listen 80;
server_name 13.52.217.10; ## change server_name as per your domain name.
root /var/www/osticket/upload;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.php index.html index.htm;


# 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/php7.2-fpm.sock;
}
}

여기에서 도메인 이름에 따라 server_name 13.52.217.10을 변경해야 합니다.

Nginx 구성 파일을 저장하고 종료합니다.

이제 가상 호스트를 활성화하고 구성을 테스트하십시오.

ln -s /etc/nginx/sites-available/osticket.conf /etc/nginx/sites-enabled/
nginx -t

아래와 같이 출력이 표시됩니다.

이제 nginx 서비스를 다시 시작하십시오.

sudo systemctl restart nginx

5단계: osTicket 설치 및 구성

이제 웹 브라우저에서 osTicket UI를 얻기 위해 도메인 이름을 입력하면 아래와 같은 페이지가 표시됩니다.

다음 계속을 클릭하면 osTicket 구성 섹션으로 리디렉션됩니다.

모든 필수 정보를 입력하고 \지금 설치 버튼을 클릭합니다.

데이터베이스 설정에서 mysql 설정 중에 생성한 dbname, 사용자 이름 및 암호와 같은 세부 정보를 입력합니다.

마지막으로 지금 설치 버튼을 클릭하면 설치가 완료되면 아래와 같은 스크린샷이 표시됩니다.

다음으로 다음 명령을 실행하여 ost-config.php의 권한을 변경하여 쓰기 액세스 권한을 제거하십시오.

cd /var/www/osticket/upload/
chmod 0644 include/ost-config.php

osTicket 관리자의 경우 웹 브라우저에 IP/도메인 이름을 입력합니다.

관리자 로그인/에이전트 패널/관리자 패널 구성 유형은 다음과 같습니다.

  • osTicket 관리자 로그인 -
  • osTicket 에이전트 패널 -
  • osTicket 관리자 패널 구성 - http://yourdomainname/scp/settings.php

마지막으로 Ubuntu 18.04 서버에 osTicket을 성공적으로 설치했습니다.