FreeBSD 12にosTicketをインストールする方法

osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketソースコードはGithubで公開されています。このチュートリアルでは、FreeBSD 12にosTicketをインストールして構成する方法を学びます。

必要条件

  • NginxまたはApacheを実行するHTTPサーバー。このガイドではNginxを使用しています。
  • PHPバージョン5.6から7.2、7.2を推奨
  • mysqligdgettextimapjsonmbstring、および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

rootユーザーとして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 Webインストールウィザードにアクセスします。Webブラウザーでサイトを開き、画面の指示に従ってインストールを完了します。

インストール後setup、セキュリティのためにディレクトリを削除します。

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


Leave a Comment

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、