小規模なコミュニティサイトを構築するにあたり、オープンソースのSNSやグループウェアを探していました。その中で「Agorakit」というツールを発見しました。このソフトウェアは、コミュニティ運営のために設計されたオープンソースのグループウェアです。発祥地がベルギーであるため、フランス語がメインの言語として使用されていますが、日本語には公式対応していません。
今回はこの「Agorakit」を用いて、インストールから日本語化までを実用レベルに構築しました。その手順を、同様の環境でコミュニティサイトを構築したい方に参考になるように記事としてまとめました。
注意
本記事で記載するディレクトリパスやコマンド内容は、実際の環境に合わせた例として記載しています。そのため、そのままコピー&ペーストでは動作しない場合があります。サーバー構成や設置するURLに応じて適宜調整してください。
1.サーバー環境について
以下は本構築で使用したサーバー環境の概要です。レンタルサーバーを利用しており、比較的標準的な構成となっています。
- レンタルサーバー: Xserver X10
- PHPバージョン: 8.3
- Composerバージョン: 2.3.0(PHPライブラリ管理ツール)
- SSH接続: 可能(コマンド操作が必須のため、SSH環境は重要です)
- データベース: MySQL 5.7
インストール手順は公式サイトのドキュメント(英語)を参考に進めました。英語が苦手な方でも本記事を参照すれば、問題なく構築可能です。
公式インストール手順
2.ソースコードのダウンロード
AgorakitのソースコードはGitHubで公開されており、以下の2つの方法でダウンロード可能です。作業環境やスキルに応じて、いずれかを選択してください。
方法1: URLからダウンロード
GitHubのWebインターフェースを使用してダウンロードします。
- GitHubのAgorakitページにアクセス。
- ページ右上の「[<> Code]」ボタンをクリック。
- 「[Download ZIP]」を選択し、ZIPファイルをダウンロード。
- ZIPファイルを解凍し、FTPソフトを使ってサーバーにアップロードします。
方法2: Gitコマンドを使用
SSH接続可能な環境では、Gitコマンドを使った直接ダウンロードが便利です。以下の手順を実行してください
$ cd /home/user_name/example.com
$ git clone https://github.com/agorakit/agorakit
Gitを使用することで、後日アップデートが必要になった際にも簡単に対応できます。
3.インストールの設置場所
設置URLを https://agorakit.example.com
と仮定し、以下のディレクトリ構造で設置します。
agorakit/
├─ public/ # 公開領域
├─ その他ディレクトリ # 非公開領域
public_html/
├─ agorakit.example.com/ # サイトのルートディレクトリ
- 公開フォルダ:
publicフォルダ
はagorakit.example.com
と対応。 - 非公開領域: アプリケーションデータや設定ファイルは公開しない範囲で管理。
公開フォルダと非公開フォルダを分離することで、セキュリティリスクを軽減できます。さらに、シンボリックリンクを使うことで、公開フォルダを柔軟に設定することも可能です。
シンボリックリンクを使用した設定例
以下のコマンドでリンクを作成します。
$ cd /home/user_name/example.com/public_html
$ ln -s /home/user_name/example.com/agorakit/public ./agorakit.example.com
この操作により、agorakit.example.com
が publicフォルダ
にアクセスするようになります。
4.設定ファイルの作成
Agorakitでは環境設定を.env
ファイルに記載します。このファイルを準備し、サーバー情報やアプリケーション情報を記載します。
$ cd /home/user_name/example.com/agorakit
$ cp .env.example .env
$ vi .env
以下に、一般的な設定内容の例を示します。
URL設定
APP_NAME='Application Name' // アプリ名(サイト名など)
APP_URL=https://agorakit.example.com
APP_DEFAULT_LOCALE=ja // 日本語をデフォルト言語に設定
データベース設定
DB_HOST=localhost
DB_DATABASE=agorakit
DB_USERNAME=root
DB_PASSWORD=password
メール設定
MAIL_DRIVER=mail
MAIL_HOST=sv*****.xserver.jp
MAIL_PORT=587
MAIL_USERNAME=test@example.com
MAIL_PASSWORD=*********
MAIL_ENCRYPTION=STARTTLS
MAIL_FROM=test@example.com
MAIL_FROM_NAME=From_Name
MAIL_NOREPLY=test@example.com
5.PHPライブラリのインストール
AgorakitはPHPで動作するため、必要なライブラリをComposerを使ってインストールします。
$ cd /home/user_name/example.com/agorakit
$ composer -V
2.3.0
$ composer install
vendorフォルダ
が作成されればインストール成功です。もしautoload.php
が作成されていない場合は、以下を実行してください。
$ composer dumpautoload
6.設定ファイルからAgorakitのインストール
以下のコマンドを順に実行し、アプリケーションのセットアップを完了させます。
$ php8.3 artisan key:generate # アプリケーションキーの生成
$ php8.3 artisan migrate # データベース構造の作成
$ php8.3 artisan storage:link # ストレージのリンク
成功後、https://agorakit.example.com
にアクセスして、サイトが正常に表示されることを確認してください。
7.日本語化手順
日本語の変換ファイルも存在していなかったため、Google翻訳を使って作成しました。
言語設定の編集
$ vi /example.com/agorakit/config/app.php
以下を編集します。
// 'timezone' => env('TIME_ZONE', 'Europe/Brussels'),
'timezone' => env('TIME_ZONE', 'Asia/Tokyo'),
//'locale' => env('APP_DEFAULT_LOCALE', 'en'),
'locale' => env('APP_DEFAULT_LOCALE', 'ja'),
// 'locales' => ['fr', 'en', 'nl', 'de', 'es', 'it', 'ru', 'eo'],
'locales' => ['ja'],
言語ファイルの配置
以下のリンクから日本語化ファイルをダウンロードし、指定の場所にアップロードします。
agorakit_lang_ja.zip
アップロード先:
$ cd /example.com/agorakit/resources/lang
<日本語化ファイルの内容:agorakit_lang_ja.zip>
ja.json
ja/
- action.php
- auth.php
- discussion.php
- documentation.php
- file.php
- group.php
- membership.php
- message.php
- messages.php
- notification.php
- notifications.php
- pagination.php
- passwords.php
- validation.php
8.フッターの編集
全ページ共通のフッターを変更する場合は、以下のファイルを編集します。
$ vi /example.com/agorakit/resources/views/partials/footer.blade.php
変更例:
<footer class="text-center my-8 text-secondary">
© <?= date('Y') ?> {{ setting('name') }}
</footer>
参考URL
デモの不具合や質問等の連絡はお問い合わせページからお願いします。