2018年5月5日土曜日

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

phpMyAdminでブラウザからMySQLを操作する事ができます。

〇phpMyAdminの画面

ブラウザでhttp://<ホストのIP>/phpmyadmin/にアクセスします。ユーザ名/パスワードはroot/rootまたはtest1/test1です。

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

config.yml
#cloud-config

package_upgrade: true

hostname: ub1804phpmysqladmin
manage_etc_hosts: true

runcmd:
  - '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'
  - 'DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server-5.7'
  - mysql -uroot -proot -e "CREATE DATABASE test1 DEFAULT CHARACTER SET utf8mb4;"
  - mysql -uroot -proot -e "CREATE USER test1@localhost IDENTIFIED BY 'test1';"
  - mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON test1.* TO 'test1'@'localhost';"
  - mysql -uroot -proot -e "FLUSH PRIVILEGES;"
  - 'echo "phpmyadmin phpmyadmin/dbconfig-install boolean true" | debconf-set-selections'
  - 'echo "phpmyadmin phpmyadmin/mysql/admin-pass password root" | debconf-set-selections'
  - 'echo "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2" | debconf-set-selections'
  - 'echo "phpmyadmin phpmyadmin/mysql/app-pass password root" | debconf-set-selections'
  - 'apt-get -y install phpmyadmin'
  - service apache2 restart
final_message: "completed."

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

〇ホストマシンの外部からコンテナにアクセスしたい場合
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"'

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

〇コンテナの停止
lxc stop ub1804phpmyadmin

〇コンテナの削除
lxc delete ub1804phpmyadmin


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

・プロジェクトwebサイト
https://www.phpmyadmin.net/

0 件のコメント:

コメントを投稿