FreeBSD 12에서 osTicket을 설치하는 방법

osTicket 은 오픈 소스 고객 지원 티켓팅 시스템입니다. osTicket 소스 코드는 Github에서 공개적으로 호스팅됩니다 . 이 튜토리얼에서는 FreeBSD 12에서 osTicket을 설치하고 구성하는 방법을 배웁니다.

요구 사항

  • Nginx 또는 Apache를 실행하는 HTTP 서버. 이 안내서는 Nginx를 사용합니다.
  • PHP 버전 5.6-7.2, 7.2 권장
  • mysqli, gd, gettext, imap, json, mbstring, 및 xmlPHP를위한 확장
  • MySQL 데이터베이스 버전 5.0 이상 또는 MariaDB 상당

시작하기 전에

FreeBSD 버전을 확인하십시오.

uname -ro
# FreeBSD 12.0-RELEASE

FreeBSD 시스템이 최신인지 확인하십시오.

freebsd-update fetch install
pkg update && pkg upgrade -y

필요한 패키지를 설치하십시오.

pkg install -y sudo vim unzip curl wget bash socat git

원하는 사용자 이름으로 새 사용자 계정을 만듭니다.

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

그룹 구성원이 명령을 실행할 수 있도록 visudo명령을 실행하고 %wheel ALL=(ALL) ALL행의 주석을 해제하십시오 wheel.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

이제로 새로 만든 사용자로 전환하십시오 su.

su - johndoe

참고 : 대체 johndoe사용자 이름과 함께.

시간대를 설정하십시오.

sudo tzsetup

PHP 설치

필요한 PHP 확장뿐만 아니라 PHP를 설치하십시오.

sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-phar php72-soap php72-xmlrpc php72-opcache php72-mysqli php72-bcmath php72-gmp php72-exif php72-imap php72-pecl-APCu

버전을 확인하십시오.

php -v
# PHP 7.2.9 (cli) (built: Sep  7 2019 01:12:47) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
#    with Zend OPcache v7.3.9, Copyright (c) 1999-2018, by Zend Technologies

설치된 PHP 확장을 확인하십시오.

php -m

# mbstring
# curl
# gd
# PDO
# mysqli
# openssl
# . . .

소프트 링크 php.ini-productionphp.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

PHP-FPM을 활성화하고 시작하십시오.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

MariaDB 설치

MariaDB를 설치하십시오.

sudo pkg install -y mariadb102-client mariadb102-server

버전을 확인하십시오.

mysql --version
# mysql  Ver 15.1 Distrib 10.2.25-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1

MariaDB를 시작하고 활성화하십시오.

sudo sysrc mysql_enable="yes" 
sudo service mysql-server start

mysql_secure_installation스크립트를 실행 하여 MariaDB 설치의 보안을 향상 시키십시오.

sudo mysql_secure_installation

루트 사용자로 MariaDB에 로그인하십시오.

sudo mysql -u root -p
# Enter password:

새로운 MariaDB 데이터베이스와 사용자를 생성하고 자격 증명을 기억하십시오.

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;

Nginx 설치

Nginx를 설치하십시오.

sudo pkg install -y nginx

버전을 확인하십시오.

nginx -v
# nginx version: nginx/1.16.1

Nginx를 활성화하고 시작하십시오.

sudo sysrc nginx_enable=yes
sudo service nginx start

osTicket과 함께 사용하도록 Nginx를 구성하십시오.

sudo vim /usr/local/etc/nginx/osticket.conf

그리고 아래 구성으로 파일을 채우십시오.

server {

  listen 80;
  server_name example.com;

  root /usr/local/www/osticket/upload;
  index index.php index.html;

  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;
  }

  if ($request_uri ~ "^/.*\.php(/[^\?]+)") {
    set $path_info $1;
  }

  location ~ ^/scp/ajax.php/.*$ {
    try_files $uri $uri/ /scp/ajax.php?$query_string;
  }

  location ~ ^/ajax.php/.*$ {
    try_files $uri $uri/ /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;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_pass 127.0.0.1:9000;
  }

}

파일을 저장하고 :+ W+로 종료하십시오 Q.

이제 osticket.conf메인 nginx.conf파일 에 포함시켜야 합니다.

sudo vim /usr/local/etc/nginx/nginx.conf다음 줄을 실행 하여 http {}블록에 추가하십시오 .

include osticket.conf;

구성을 테스트하십시오.

sudo nginx -t

Nginx를 다시로드하십시오.

sudo service nginx restart

osTicket 설치

문서 루트 디렉토리를 작성하십시오.

sudo mkdir -p /usr/local/www/osticket

/usr/local/www/osticket디렉토리의 소유권을로 변경하십시오 johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/osticket

문서 루트 폴더로 이동하십시오.

cd /usr/local/www/osticket

최신 osTicket 릴리스를 다운로드하여 압축 을 푸십시오 .

wget https://github.com/osTicket/osTicket/releases/download/v1.14.1/osTicket-v1.14.1.zip
unzip osTicket-v1.14.1.zip
rm osTicket-v1.14.1.zip

샘플 구성 파일을 복사하십시오.

sudo cp upload/include/ost-sampleconfig.php upload/include/ost-config.php

/usr/local/www/osticket디렉토리의 소유권을로 변경하십시오 www.

sudo chown -R www:www /usr/local/www/osticket

모든 것이 구성되면 osTicket 웹 설치 마법사에 액세스 할 차례입니다. 웹 브라우저에서 사이트를 열고 화면의 지시 사항에 따라 설치를 완료하십시오.

설치 후 setup보안을위한 디렉토리를 삭제하십시오 .

sudo rm -rf upload/setup
sudo chmod 0644 upload/include/ost-config.php


Leave a Comment

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true

기술적 특이점: 인류 문명의 먼 미래?

기술적 특이점: 인류 문명의 먼 미래?

과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

2021년 의료 분야에서 인공 지능의 영향

2021년 의료 분야에서 인공 지능의 영향

의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.