必要要件
PHP7.3以降
Laravel7.x(8.xは未確認、次期バージョンでは確認予定)
ダウンロード

下記から最新のFreeGroupをダウンロード可能です。

インストール手順
FreeGroup Zipファイル解凍

> unzip freegroup-master.zip
> ls
freegroup-master freegroup-master.zip

Laravelのインストール

> cd freegroup-master
> composer update
> composer require “laravelcollective/html”
> composer require doctrine/dbal

.envファイルの設定

ご自身のサーバ環境によって.evnファイルを編集してください。

> cp .env.example .env
> php artisan key:generate
> vi .env

APP_NAME=FreeGroup
APP_ENV=local
APP_KEY=generated app key phrase to excute php artisan key:generate
APP_DEBUG=false
APP_URL=https://www.your.domain

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=address.to.your.db.server
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD=db_password

#QUEUE_CONNECTION=sync
QUEUE_CONNECTION=database
SESSION_DRIVER=file
SESSION_LIFETIME=120

MAIL_DRIVER=smtp
MAIL_HOST=mx.your.server
MAIL_PORT=465
MAIL_USERNAME=mail@your.domain
MAIL_PASSWORD=password_to_mail
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=mail@your.domain
MAIL_FROM_NAME=mail_your_domain

※ QUEUE_CONNECTIONをsyncからdatabaseへ変更する時は、必ずQueue Workerの設定をしてから行ってください。

データベースのマイグレーション・初期データ投入

init.sql を編集して、管理者、ユーザ、部署のデータを自組織にあった形で初期データの投入が可能です。

> php artisan migrate
> mysql db_name < init.sql

サーバの起動 & ウェブ接続確認

ウェブサーバのpublic_html上にLaravelのpublicディレクトリのシンボリックリンクを作成。
ウェブサーバを立ち上げて、FreeGroupホーム画面にアクセスしてウェルカム画面 & ログイン画面が表示されればOK。

> ln -s /path/to/freegroup/public /your/public_html/freegroup
> php artisan serve &

ブラウザで https:://www.your.domain/freegroup へアクセス

Cronの設定

Cronでは、Googleカレンダーの双方向同期や各種定期処理を実行します。

> crontab -e
* * * * * cd /path/to/freegroup && php artisan schedule:run

Queue Workerの設定・起動

> php artisan queue:work

FreeGroupは、Googleカレンダー同期処理や各種イベント処理にキューを利用します。Queue Workerを起動して、Supervisorを起動することをオススメします。設定についてはLaravelホームページで確認して設定してください。

FreeGroupに管理者でログイン
  1. 管理者パスワードをパスワードリセットフォームで再設定する。管理者IDは「初期データ投入」で直接SQLにインポートしているはず。
  2. 管理者IDでログインする。
データベースの初期化
  1. 管理者でFreeGroupにログインする。
  2. 「社員管理」画面でユーザが登録されていることを確認する。
  3. 「ロール設定」画面で初期値として設定されているロールグループがあることを確認。
    初期値ロールグループがなければ作成する。
  4. 「社員管理」画面の上部メニューボタンの横にある「▼」ボタンを押すと「DB初期化」ボタンが表示される
    「DB初期化」ボタンを押す
  5. 「DB初期化」画面の確認事項にチェックを入れ、「初期化実行」を行う
     この初期化処理をすることで、下記が行われます。
     ・全ユーザに初期値ロールグループを割り当てる
     ・各ユーザのみが管理者のアクセスリストが生成される(管理アクセスリストがない場合)
     ・各ユーザのみが追加可能な公開カレンダーを生成する(追加可能なカレンダーが存在しない場合)
  6. DBを確認して、各データが正しく生成されていることを確認する。