Ubuntu FreeScoutを構築する

Ubuntu FreeScoutを構築する

Ubuntuに「ヘルプデスク」機能や「共有メールボックス」機能がある「FreeScout」を構築するまでの手順を記述してます。自分は仮想環境にubuntuを新しく構築して「シェル」を実行して構築しました。「シェル」があるので比較的すぐに作業は終わります。

環境

  • OS Ubuntu22.10
  • shell /bin/bash

事前準備

「wget」を使用するのでインスールしておきます。自分の環境ではすでにインストール済みでした。

$ sudo apt install wget

シェルをダウンロードします。このシェルを実行すれば環境が構築されます。

$ wget https://raw.githubusercontent.com/freescout-helpdesk/scripts/master/install/ubuntu.sh

権限を与えておきます。

$ chmod u+x ubuntu.sh

FreeScout構築

シェルを実行してphpやmysqlなど必要なツールをインスールしていきます。

$ sudo ./ubuntu.sh

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下のパッケージが新たにインストールされます:
  net-tools
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
204 kB のアーカイブを取得する必要があります。
この操作後に追加で 819 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu kinetic/main amd64 net-tools amd64 1.60+git20181103.0eebece-1ubuntu5 [204 kB]
204 kB を 2秒 で取得しました (134 kB/s)
以前に未選択のパッケージ net-tools を選択しています。
(データベースを読み込んでいます ... 現在 206655 個のファイルとディレクトリがインストールされています。)
.../net-tools_1.60+git20181103.0eebece-1ubuntu5_amd64.deb を展開する準備をしています ...
net-tools (1.60+git20181103.0eebece-1ubuntu5) を展開しています...
net-tools (1.60+git20181103.0eebece-1ubuntu5) を設定しています ...
man-db (2.10.2-2) のトリガを処理しています ...

########################################
## FreeScout Interactive Installation ##
########################################

Installation script will do the following:
- Install Nginx
- Install MySQL 5
- Install latest available version of PHP
- Install the latest version of the FreeScout
- Configure HTTPS (if needed)
- Set up a cron task

Make sure you have a domain name pointed to your server IP: 192.168.1.100

You will be able to specify help desk domain name and choose installation directory.

Would you like to start installation? (Y/n) [n]:Y

「Y」を選択するとインストールが開始されます。途中で使用するURLを設定します。
※ここではローカルのIPを指定してます。

Enter help desk domain name (without 'www'): 192.168.1.100
Installing dependencies...
ヒット:1 http://jp.archive.ubuntu.com/ubuntu kinetic InRelease
ヒット:2 http://security.ubuntu.com/ubuntu kinetic-security InRelease
ヒット:3 http://jp.archive.ubuntu.com/ubuntu kinetic-updates InRelease
ヒット:4 http://jp.archive.ubuntu.com/ubuntu kinetic-backports InRelease
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了        
パッケージはすべて最新です。
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
パッケージ 'apache2' はインストールされていないため削除もされません
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下の追加パッケージがインストールされます:
  git-man libaio1 libc-dev-bin libc-devtools libc6-dev libcgi-fast-perl libcgi-pm-perl libcrypt-dev liberror-perl
  libevent-core-2.1-7a libevent-pthreads-2.1-7 libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-template-perl
  libmecab2 libmysqlclient21 libnginx-mod-http-geoip2 libnginx-mod-http-image-filter
  libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libnginx-mod-stream-geoip2 libnsl-dev
  libprotobuf-lite23 libssl-dev libtirpc-dev libzstd-dev linux-libc-dev manpages-dev mecab-ipadic
  mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-common mysql-server-8.0
  mysql-server-core-8.0 nginx-common nginx-core rpcsvc-proto zlib1g-dev
提案パッケージ:
  git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn
  glibc-doc libipc-sharedcache-perl libssl-doc mailx tinyca fcgiwrap nginx-doc
以下のパッケージが新たにインストールされます:
  git git-man libaio1 libc-dev-bin libc-devtools libc6-dev libcgi-fast-perl libcgi-pm-perl libcrypt-dev
  liberror-perl libevent-core-2.1-7a libevent-pthreads-2.1-7 libfcgi-bin libfcgi-perl libfcgi0ldbl
  libhtml-template-perl libmecab2 libmysqlclient-dev libmysqlclient21 libnginx-mod-http-geoip2
  libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream
  libnginx-mod-stream-geoip2 libnsl-dev libprotobuf-lite23 libssl-dev libtirpc-dev libzstd-dev linux-libc-dev
  manpages-dev mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0 mysql-common
  mysql-server mysql-server-8.0 mysql-server-core-8.0 nginx nginx-common nginx-core rpcsvc-proto zlib1g-dev
アップグレード: 0 個、新規インストール: 46 個、削除: 0 個、保留: 0 個。
46.2 MB のアーカイブを取得する必要があります。
この操作後に追加で 323 MB のディスク容量が消費されます。
続行しますか? [Y/n] y

「Y」を選択すると、続いてインストールが開始されます。「HTTPS」を使用するか聞かれますが、ローカルなので「N」を選択しています。

最後に、「FreeScout」のパスを決めるとURLやDBのアカウントなどが案内されます。

Where would you like to install FreeScout? [/var/www/html]:
All files in /var/www/html will be removed. Continue? (Y/n) [n]:Y
Cloning into '/var/www/html'...
remote: Enumerating objects: 32953, done.
remote: Counting objects: 100% (903/903), done.
remote: Compressing objects: 100% (424/424), done.
remote: Total 32953 (delta 481), reused 830 (delta 429), pack-reused 32050
Receiving objects: 100% (32953/32953), 20.02 MiB | 12.75 MiB/s, done.
Resolving deltas: 100% (19025/19025), done.
Application installed
Configuring nginx...

Would you like to enable HTTPS? It is free and required for browser push notifications to work. (Y/n) [n]:N
Configuring cron task for www-data...
no crontab for www-data

To complete installation please open in your browser help desk URL and follow instructions.
You can skip setting up a cron task, as it has already been done for you.

URL: http://192.168.1.100/install

Database Host: localhost
Database Port: 3306
Database Name: freescout
Database Username: freescout
Database Password: xxxxxxxxx

FreeScout初期設定

ブラウザから http://プライベートIP or サーバーアドレスにアクセスします。
そのまま「Check Requirements」をクリックして環境をチェックに進みます。

サーバー環境は問題ないので、次は権限の確認画面に進みます。

権限も問題なさそうなので、URLの確認に進みます。

URLの確認です。ここではhttpsは使用しないので「No」を選択してます。Dbの設定に進みます。

シェルの完了画面に表示されたUSERやPASSを使用します。

言語は日本語を設定します。

最後にログイン用のメールアドレスとパスワードを設定します。

これで構築は完了です。「Login」ボタンをクリックするとログイン画面に遷移します。

設定したメールアドレスとパスワードでログインします。

これで構築は完了です。シェルがあるので、かなり簡単に構築することができました。

cron設定

自分の場合は、メールの受信がうまくいかなかったので「cron」に以下を追加してます。

$ sudo su

# crontab -u www-data -e

* * * * * php /var/www/html/artisan schedule:run >> /dev/null 2>&1
* * * * * php /var/www/html/artisan freescout:fetch-emails >> /dev/null 2>&1 ← 追加