LoginSignup
3
0

More than 5 years have passed since last update.

Elgg(オープンソースSocial Network Engine)をdocker-composeでセットアップ

Last updated at Posted at 2019-04-16

TL;DR

  • オープンソースなソーシャルネットワーキングエンジンElggをDockerコンテナで稼働させる方法を紹介します

Elgg概要

  • PHPで作られている,ソーシャル・ネットワークエンジンです
    • Webアプリにソーシャル環境を導入するためのフレームワークです
  • 操作のためのAPIが提供されています
  • 2000種類以上のプラグインがあり,組み合わせて使用することができます

構成

  • docker-composeで,3つのコンテナを立ち上げます
    • Elgg: Elgg本体
      • 80/TCPを受け付けます.外部公開の際にはリバースプロキシなどで適切なセキュリティ保全を行ってください.
    • MariaDB: Elggデータ用DBコンテナ
      • 3306/TCPでアクセスを受け付けます.dockerネットワークからの接続のみを受け付けます
    • composer: docker-compose up時に稼働するパッケージインストール用コンテナ

elgg-compose.jpg

使い方

dockerコンテナ群の立ち上げ

git clone https://github.com/myoshimi/elgg-docker-compose
cd elgg-docker-compose
git clone https://github.com/Elgg/Elgg
docker-compose up -d
  • 初回はcomposerコンテナがライブラリのインストールを終了するまで,数分時間がかかります.
    • docker ps -aで,elgg-docker-compose_composer_1がExited状態になれば,稼働しています.
  • http://<URL>にアクセスするとelggのセットアップ画面が表示されます

elgg-first.jpg

DB設定

  • セットアップ作業で迷う部分は少ないと思いますが,DB設定は,docker-composeの設定に併せる必要があります.
    • github上のdocker-compose.ymlでは,以下のようにしています
項目 入力値
Database Username elgg
Database Password password
Database Name elgg
Database Host db
Database Table Prefix elgg_
Data Directory /elgg
Site URL http://127.0.0.1

設定後

  • セットアップが完了すると,ログイン画面になります
    • elgg-login.jpg
  • セットアップ画面で作成する管理者ユーザでログインすると,使用が開始できます
  • elgg-disp.jpg

不揮発ボリューム

  • elgg-docker-composeディレクトリ直下に,volumes/{db,elgg}が作られます
    • MariaDBのデータ(/var/lib/mysql)が格納されます
    • elggコンテナはvolumes/elgg/elggにマウントし,elgg用のデータが格納されます
    • elggコンテナがElggディレクトリをマウント(/var/www/html)します

いくつかの注意点

  • Dockerhubのphp:7.2-apacheイメージはmod_rewriteが有効になっていないので,a2enmodする必要がある

参考

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0