2018年5月14日月曜日

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

TextpatternはPHP製のCMSです。

〇Textpatternの画面


○構築方法
以下のconfig.ymlを使用して、TextpatternとMySQLをインストールしたコンテナ(Ubuntu18.04)を構築する事ができます。

1. 以下の手順で、TextpatternとMySQLのコンテナを構築・実行します。
lxc init ubuntu:18.04 ub1804textpattern
lxc config set ub1804textpattern user.user-data - < config.yml
lxc start ub1804textpattern

config.yml
#cloud-config

package_upgrade: true

hostname: ub1804textpattern
manage_etc_hosts: true

write_files:
  - path: /tmp/textpattern.conf
    content: |
      <Directory /var/www/html>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
      </Directory>

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 php7.0-json php7.2-mcrypt php7.2-xml php7.2-zip"
  - "mv /tmp/textpattern.conf /etc/apache2"
  - "wget https://textpattern.com/file_download/74/textpattern-4.6.2.tar.gz"
  - "tar xvfz textpattern-4.6.2.tar.gz"
  - "mv textpattern-4.6.2 /opt/textpattern"
  - "chown -R www-data:www-data /opt/textpattern"
  - "ln -s  /opt/textpattern /var/www/html"
  - "a2enmod rewrite"
  - "systemctl restart apache2.service"

final_message: "completed."

2. ブラウザからhttp://<ホスト名またはIP>/textpattern/textpattern/setup/index.phpにアクセス
インストール言語として日本語を選択して、submitボタンをクリックする


2. 以下の項目を入力し、「次へ」ボタンをクリックする
MySQLログイン: textpattern
MySQLパスワード:textpattern
MySQLサーバ:localhost
MySQLデータベース:textpattern
テーブルプリフィックス:(空のまま)
http(s)://:<ホスト名またはIP>/textpattern


5. 画面に表示されたconfig.phpの内容をコピーして、以下のコマンドを実行する
lxc exec ub1804textpattern /bin/bash
cd /opt/textpattern/textpattern
vi config.phpコマンドで、config.phpに内容を貼り付け。
実行後、「行いました!」ボタンをクリックする


6. 管理者ユーザの情報を入力、管理ページのテーマを選択して「次へ」ボタンをクリックする


7. 完了画面から「今すぐログイン」ボタンをクリックする


〇コンテナの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 ub1804textpattern /bin/bash

〇コンテナの停止
lxc stop ub1804textpattern

〇コンテナの削除
lxc delete ub1804textpattern


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

0 件のコメント:

コメントを投稿