2018年4月26日木曜日

LXDでKanboard1.2.2とMySQLをインストールした仮想マシンを構築する

Kanboardはタスク管理をおこなうPHP製のソフトウェアです。

〇Kanboardの画面


コンテナの構築

LXDで以下のコマンドを実行して、LycheeとMySQLがインストールされたコンテナを構築します。
lxc init ubuntu:16.04 kanboard
lxc config set kanboard user.user-data - < config.yml
lxc start kanboard

config.yml
d-config

package_upgrade: true

hostname: kanboard
manage_etc_hosts: true

runcmd:
  - "apt-get update"
  - 'echo "mysql-server-5.7 mysql-server/root_password password root" | sudo debconf-set-selections'
  - 'echo "mysql-server-5.7 mysql-server/root_password_again password root" | sudo debconf-set-selections'
  - 'apt-get -y install mysql-server-5.7'
  - 'mysql -uroot -proot -e "CREATE DATABASE kanboard DEFAULT CHARACTER SET utf8mb4;"'
  - "mysql -uroot -proot -e \"CREATE USER kanboard@localhost IDENTIFIED BY 'kanboard';\""
  - "mysql -uroot -proot -e \"GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard'@'localhost';\""
  - 'mysql -uroot -proot -e "FLUSH PRIVILEGES;"'
  - 'apt-get -y install php7.0 libapache2-mod-php7.0 apache2 php7.0-mbstring php7.0-mysql php7.0-gd php7.0-dom unzip'
  - 'wget https://github.com/kanboard/kanboard/archive/v1.2.2.zip'
  - 'unzip v1.2.2.zip'
  - 'mv kanboard* /opt/kanboard'
  - 'cp /opt/kanboard/config.default.php /opt/kanboard/config.php'
  - "sed -i -e \"s#define('DB_DRIVER', 'sqlite');#define('DB_DRIVER', 'mysql');#\" /opt/kanboard/config.php"
  - "sed -i -e \"s#define('DB_USERNAME', 'root');#define('DB_USERNAME', 'kanboard');#\" /opt/kanboard/config.php"
  - "sed -i -e \"s#define('DB_PASSWORD', '');#define('DB_PASSWORD', 'kanboard');#\" /opt/kanboard/config.php"
  - 'chown -R www-data:www-data /opt/kanboard'
  - 'sudo ln -s /opt/kanboard/ /var/www/html/'
  - 'systemctl restart apache2'

final_message: "completed."

〇コンテナのIPを調べる
コンテナのIPは以下のコマンドで調べることができます。
lxc list

〇ホストマシンの外部からコンテナにアクセスしたい場合
以下のコマンドを実行します。
PORT=80 PUBLIC_IP=<ホストのIP> CONTAINER_IP=<コンテナのIP> sudo -E bash -c 'iptables -t nat -I PREROUTING -i eth0 -p TCP -d $PUBLIC_IP --dport $PORT -j DNAT --to-destination $CONTAINER_IP:$PORT -m comment --comment "container"'

ブラウザからhttp://<コンテナのIP>/kanboard/にアクセスします。デフォルトユーザ/パスワードはadmin/adminです。

〇コンテナに入る
lxc exec kanboard /bin/bash

〇コンテナの停止
lxc stop kanboard

〇コンテナの削除
lxc delete kanboard


関連情報

・Kanboardの設定・操作方法については「Kanboardの設定・操作」を参照してください。

・Kanboardに関する他の記事はこちらを参照してください。

・Kanboardのgithubリポジトリ
https://github.com/kanboard/kanboard

0 件のコメント:

コメントを投稿