2018年5月8日火曜日

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

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

〇Lycheeの画面


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

config.yml
#cloud-config

package_upgrade: true

hostname: ub1804lychee
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;"'
  - 'echo "sql_mode=NO_ENGINE_SUBSTITUTION" >> /etc/mysql/mysql.conf.d/mysqld.cnf'
  - "systemctl restart mysql.service"
  - "apt-get -y install apache2 libapache2-mod-php7.2"
  - "apt-get -y install php7.2-gd php7.2-json php7.2-mysql php7.2-pdo php7.2-curl php7.2-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."

2.初期設定画面1
以下を入力します。
Database Host : localhost
Database Username : lychee
Database Password : lychee
Database Name : lychee


3.初期設定画面2
ユーザ情報を入力します。


〇コンテナの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"'

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

〇コンテナの停止
lxc stop ub1804lychee

〇コンテナの削除
lxc delete ub1804lychee


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

0 件のコメント:

コメントを投稿