2018年4月25日水曜日

LXDでLycheeとMySQLをインストールしたコンテナを構築する

LycheeはPHP製の画像管理ソフトです。

〇Lycheeの画面


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

config.yml
#cloud-config

package_upgrade: true

hostname: lychee
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 lychee DEFAULT CHARACTER SET utf8;"'
  - "mysql -uroot -proot -e \"CREATE USER lychee@localhost IDENTIFIED BY 'lychee';\""
  - "mysql -uroot -proot -e \"GRANT ALL PRIVILEGES ON lychee.* TO 'lychee'@'localhost';\""
  - 'mysql -uroot -proot -e "FLUSH PRIVILEGES;"'
  - "apt-get -y install apache2 libapache2-mod-php7.0"
  - "apt-get -y install php7.0-gd php7.0-json php7.0-mysql php7.0-pdo php7.0-curl php7.0-mbstring"
  - "apt-get -y install unzip"
  - "wget  https://github.com/electerious/Lychee/archive/master.zip"
  - "unzip master.zip"
  - "mv Lychee-master /opt/lychee"
  - "chown -R www-data:www-data /opt/lychee"
  - "ln -s  /opt/lychee /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"'

〇初期設定画面1

以下を入力します。
Database Host : localhost
Database Username : lychee
Database Password : lychee
Database Name : lychee

〇初期設定画面2

ユーザ情報を入力します。

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

〇コンテナの停止
lxc stop lychee

〇コンテナの削除
lxc delete lychee


○関連情報
・Lycheeに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿