2018年4月29日日曜日

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

DokuWikiはPHP製のWikiアプリケーションです。

〇DokuWikiの画面


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

config.yml
#cloud-config

package_upgrade: true

hostname: dokuwiki
manage_etc_hosts: true

write_files:
  - path: /tmp/dokuwiki.conf
    content: |
      <Directory /usr/share/dokuwiki>
        Order allow,deny
        Allow from all
      </Directory>

runcmd:
  - "apt-get update"
  - "apt-get -y install php7.0 libapache2-mod-php7.0 apache2 php7.0-mbstring php7.0-xml"
  - 'echo "dokuwiki        dokuwiki/system/purgepages      boolean false" | debconf-set-selections'
  - 'echo "dokuwiki        dokuwiki/wiki/password  password admin" | debconf-set-selections'
  - 'echo "dokuwiki        dokuwiki/wiki/confirm   password admin" | debconf-set-selections'
  - "apt-get -y install dokuwiki"
  - "ln -s /usr/share/dokuwiki /var/www/html/"
  - "chown -R www-data:www-data /usr/share/dokuwiki"
  - "mv /tmp/dokuwiki.conf /etc/apache2/sites-available/"
  - "a2ensite dokuwiki"
  - "systemctl restart apache2"

final_message: "completed."

〇ホストマシンの外部からコンテナにアクセスしたい場合
以下のコマンドを実行します。
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>/dokuwiki/にアクセスします。

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

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

〇コンテナの停止
lxc stop dokuwiki

〇コンテナの削除
lxc delete dokuwiki


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

Zimというデスクトップアプリケーションで自分だけのWikiを作成することもできます。

0 件のコメント:

コメントを投稿