2018年1月31日水曜日

VagrantでBluefish、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Ubuntu16.04)を構築する

Bluefishは様々なマークアップ/コンピュータ言語に対応したエディタです。
以下のVagrantfileを使用して、Bluefish 、LXDE Desktop環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604lxdebluefish"
config.vm.network :public_network, ip:"192.168.1.114"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604lxdebluefish"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp fcitx-mozc lubuntu-desktop language-pack-ja virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
im-config -n fcitx


# install Bluefish
apt-get -y install bluefish

init 5
SHELL
end

〇Bluefishの画面

DockerでMantis Bug Trackerがインストールされたコンテナ(Alpine 3.7)を構築する

Mantis Bug Trackerは、PHP製のバグ追跡・課題管理サーバです。
以下の手順で、Mantis Bug TrackerとMySQLのコンテナを構築・実行します。

○構築方法
1. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbt .

Dockerfile
FROM alpine:3.7
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php7-apache2 php7-mysqli php7-pdo php7-pdo_mysql php7-intl php7-mcrypt php7-mbstring php7-session php7-curl php7-json php7-xml php7-zip php7-tokenizer php7-ctype php7-gd php7-xmlwriter php7-xmlreader php7-dom php7-zlib php7-iconv php7-simplexml php7-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.10.0/mantisbt-2.10.0.tar.gz \
  && tar xvfz mantisbt-2.10.0.tar.gz \
  && rm -f mantisbt-2.10.0.tar.gz \
  && mkdir -p /opt \
  && mv mantisbt-2.10.0 /opt/mantisbt \
  && chown -R apache:apache /opt/mantisbt \
  && ln -s  /opt/mantisbt /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
  && mkdir -p /var/mantisbt \
  && chown -R apache:apache /var/mantisbt
EXPOSE 80
VOLUME ["/var/mantisbt","/opt/mantisbt"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

2. Mantis Bug TrackerとMySQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "2"
services:
  mantisbt:
    image: mantisbt
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/mantisbt"
      - "mantisbt-opt:/opt/mantisbt"
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      MANTISBT_DB_HOST: "db:3306"
  db:
    image: mysql:5.7
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    container_name: "mantisbt-db"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
        MYSQL_DATABASE: mantisbt
        MYSQL_ROOT_PASSWORD: mantisbt
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local
  mantisbt-opt:
    driver: local

3. ブラウザからhttp:///mantisbt/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: MySQL Improved
Hostname (for Database Server): db
Username (for Database): root
Password (for Database): mantisbt
Database name (for Database): mantisbt
他の項目はお好みで設定。



○Mantis Bug Trackerの画面


○その他
・Vanilla ForumsとMySQLコンテナの停止・削除(docker-compose.ymlがあるフォルダで実行)
docker-compose down

・永続化ボリュームの削除
docker volume rm mantisbt_db-data
docker volume rm mantisbt_mantisbt-data
docker volume rm mantisbt_mantisbt-opt



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

VagrantでQuiteRSS、Cinnamon Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.3)を構築する

以下のVagrantfileを使用して、QuiteRSS、Cinnamon Desktop環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.3"
  config.vm.hostname = "db93cinnamonquiterss"
  config.vm.network "public_network", ip:"192.168.1.112", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db93cinnamonquiterss"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF
cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xsessionrc
apt-get -y install  xrdp fcitx-mozc task-cinnamon-desktop tigervnc-standalone-server
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"
cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | gawk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp
# install QuiteRSS
apt-get -y install software-properties-common
add-apt-repository ppa:quiterss/quiterss
apt-get update
apt-get -y install quiterss
init 5
SHELL
end

〇QuiteRSSの画面


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

VagrantでLimeServey3.0.0がインストールされた仮想マシン(Ubuntu16.04)を構築する

LimeServeyはアンケートを実施できるソフトウェアです。
以下のVagrantfileを使用してLimeServeyをインストールした仮想マシンを構築できます。
仮想マシン構築後、ブラウザからhttp://192.168.55.107/limeservey/で初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604limeservey"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604limeservey"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.107", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.11.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
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 limeservey DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER limeservey@localhost IDENTIFIED BY 'limeservey';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON limeservey.* TO 'limeservey'@'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 php7.0-mcrypt php7.0-xml php7.0-zip php7.0-gd php7.0-zip

# install limeservey
wget https://github.com/LimeSurvey/LimeSurvey/archive/3.0.0+171222.tar.gz
tar xvfz 3.0.0+171222.tar.gz
mv LimeSurvey-3.0.0-171222 /opt/limeservey

chown -R www-data:www-data /opt/limeservey
ln -s  /opt/limeservey /var/www/html

systemctl reload apache2.service
echo 'access http://192.168.55.107/limeservey/'
echo 'db:limeservey  user:limeservey  password:limeservey'
SHELL
end

○LimeServeyが初期設定画面1


○LimeServeyが初期設定画面2


○LimeServeyが初期設定画面3


○LimeServeyが初期設定画面4


○LimeServeyが初期設定画面5


○LimeServeyが初期設定画面6


○LimeServeyが初期設定画面7


○LimeServeyの初期画面


2018年1月30日火曜日

DockerでKanboardがインストールされたコンテナ(Alpine 3.7)とMariaDBのコンテナを構築する

Kanboardはタスク管理をおこなうPHP製のソフトウェアです。
以下の手順で、Kanboard、MariaDBのコンテナを構築・実行します。

構築方法

1. Kanboardイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t kanboard .

Dockerfile
FROM alpine:3.7
WORKDIR /
RUN  apk update \
  && apk add --nocache apache2 php7-apache2 php7-mysqli php7-pdo php7-pdo_mysql php7-mbstring php7-session php7-gd php7-json php7-xml php7-ctype php7-simplexml php7-dom openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://github.com/kanboard/kanboard/archive/v1.2.0.zip \
  && unzip v1.2.0.zip \
  && rm -f v1.2.0.zip \
  && mkdir /opt \
  && mv /kanboard-1.2.0 /opt/kanboard \
  && mkdir -p /run/apache2 \
  && cp /opt/kanboard/config.default.php /opt/kanboard/config.php \
  && sed -i -e "s#define('DB_DRIVER', 'sqlite');#define('DB_DRIVER', 'mysql');#" /opt/kanboard/config.php \
  && sed -i -e "s#define('DB_HOSTNAME', 'localhost');#define('DB_HOSTNAME', 'db');#" /opt/kanboard/config.php \
  && sed -i -e "s#define('DB_USERNAME', 'root');#define('DB_USERNAME', 'root');#" /opt/kanboard/config.php \
  && sed -i -e "s#define('DB_PASSWORD', '');#define('DB_PASSWORD', 'kanboard');#" /opt/kanboard/config.php \
  && ln -s /opt/kanboard /var/www/localhost/htdocs \
  && chown -R apache:apache /opt/kanboard
EXPOSE 80
VOLUME /opt/kanboard
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

2. KanboardとMariaDBコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "2"
services:
  kanboard:
    image: kanboard
    container_name: "kanboard"
    volumes:
      - "kanboard-data:/opt/kanboard"
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      KANBOARD_DB_HOST: "db:3306"
  db:
    image: mariadb:10.3
    container_name: "kanboard-db"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
        MYSQL_DATABASE: kanboard
        MYSQL_ROOT_PASSWORD: kanboard
volumes:
  db-data:
    driver: local
  kanboard-data:
    driver: local

3. ブラウザからhttp:///kanboardにアクセス

○Kanboardの画面


その他

・KanboardとMariaDBコンテナの停止・削除(docker-compose.ymlがあるフォルダで実行)
docker-compose down

・永続化ボリュームの削除
docker volume rm kanboardmariadb_db-data
docker volume rm kanboardmariadb_kanboard-data


関連情報

・Kanboardの設定・操作方法については「Kanboardの設定・操作」を参照してください。

・Kanboardに関する他の記事はこちらを参照してください。

・Kanboardのgithubリポジトリ
https://github.com/kanboard/kanboard

VagrantでyEd、KDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.3)を構築する

yEdはVisioのような図を描画できるアプリケーションです。
以下のVagrantfileを使用して、yEd、KDE Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.2)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.3"
  config.vm.hostname = "db92kdeyed"
  config.vm.network "public_network", ip:"192.168.1.112", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db92kdeyed"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF


cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=mozc:True,fcitx-keyboard-jp:False,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xsessionrc


apt-get -y install  xrdp fcitx-mozc task-kde-desktop tigervnc-standalone-server fcitx-tools
export DISPLAY=:0.0
im-config -n fcitx
#sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"


cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | awk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp


# install oracle java
apt-get -y install software-properties-common
add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"
apt-get update
echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections
apt-get -y --allow-unauthenticated install oracle-java8-installer

# install yEd
wget https://www.yworks.com/resources/yed/demo/yEd-3.17.2.zip
unzip yEd-3.17.2.zip
mv yed-3.17.2 /opt/yed

# yEdのショートカットを作成
cat << EOF > /usr/share/applications/yed.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/java -jar /opt/yed/yed.jar
Icon=/opt/yed/icons/yicon32.png
Name=yEd
Categories=Utility;Development;
EOF

init 5
SHELL
end

○yEdの画面



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

VagrantでAnki、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Ubuntu16.04)を構築する

Ankiを使用して暗記カードのように繰り返し学習を行う事ができます。
以下のVagrantfileを使用して、Anki、LXDE Desktop環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604lxdeanki"
  config.vm.network :public_network, ip:"192.168.1.119"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604lxdeanki"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp fcitx-mozc lubuntu-desktop language-pack-ja
im-config -n fcitx
apt-get -y install software-properties-common

# install Anki
apt-get -y install mplayer
wget https://apps.ankiweb.net/downloads/current/anki-2.0.47-amd64.tar.bz2
tar jxf anki-2.0.47-amd64.tar.bz2
mv anki-2.0.47 /opt/anki
chown -R vagrant:vagrant /opt/anki

sed -i -e 's#Exec=anki#Exec=/opt/anki/bin/anki#' /opt/anki/anki.desktop
sed -i -e 's#Icon=anki#Icon=/opt/anki/anki.png#' /opt/anki/anki.desktop
cp /opt/anki/anki.desktop /usr/share/applications

init 5
SHELL
end

〇Ankiの画面

DockerでXfceとEclipseがインストールされたイメージ(Ubuntu16.04)を作成する

以下のDockerfileを使用して、XfceとEclipseをインストールしたイメージ(Ubuntu16.04)を作成する事ができます。
XRDPもインストールされているので、リモートデスクトップクライアントからDockerホストにアクセスすることでコンテナ内のデスクトップ環境を利用できます。
ログイン時にはユーザ名にubuntu、パスワードにubuntuを指定します。

Vagrantfile
from ubuntu:16.04

run sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list \
  && apt-get update \
  && apt-get -y install software-properties-common \
  && add-apt-repository ppa:hermlnx/xrdp \
  && apt-get update \
  && apt-get install -y language-pack-ja-base language-pack-ja \
  && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
  && echo 'Asia/Tokyo' > /etc/timezone \
  && locale-gen ja_JP.UTF-8 \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
   LANGUAGE=ja_JP.UTF-8 \
   LC_ALL=ja_JP.UTF-8
run DEBIAN_FRONTEND=noninteractive apt-get -y install \
      xubuntu-desktop \
      xrdp \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      git \
      xdg-utils \
      openjdk-8-jdk \
  && wget http://ftp.jaist.ac.jp/pub/eclipse/technology/epp/downloads/release/oxygen/1/eclipse-java-oxygen-1-linux-gtk-x86_64.tar.gz \
  && tar xvfz eclipse-java-oxygen-1-linux-gtk-x86_64.tar.gz \
  && rm -f eclipse-java-oxygen-1-linux-gtk-x86_64.tar.gz \
  && mv eclipse /opt \
  && echo '[Desktop Entry]\n\
Version=1.0\n\
Type=Application\n\
Terminal=false\n\
Exec=/opt/eclipse/eclipse\n\
Name=eclipse\n\
Categories=Utility;Development;' > /usr/share/applications/eclipse.desktop \
  && chmod +x /usr/share/applications/eclipse.desktop \
  && im-config -n fcitx \
  && apt-get clean \
  && rm -rf /var/cache/apt/archives/* \
  && rm -rf /var/lib/apt/lists/* \
  && groupadd -g 1000 ubuntu \
  && useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
  && echo 'ubuntu:ubuntu' | chpasswd \
  && echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && echo 'sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/ubuntu/.config/fcitx/profile' >> /home/ubuntu/.xsessionrc \
  && chown ubuntu:ubuntu /home/ubuntu/.xsessionrc \
  && mkdir /home/ubuntu/.eclipse \
  && chown -R ubuntu:ubuntu /home/ubuntu/.eclipse \
  && mkdir /home/ubuntu/eclipse_workspace \
  && chown -R ubuntu:ubuntu /home/ubuntu/eclipse_workspace \
  && echo $'#!/bin/bash\n\
export GTK_IM_MODULE=fcitx\n\
export QT_IM_MODULE=fcitx\n\
export XMODIFIERS="@im=fcitx"\n\
startxfce4\n\
sudo /etc/init.d/xrdp start\n\
sudo /etc/init.d/dbus start\n\
fcitx -r -d &\n\
/bin/bash' >> /start.sh \
  && chmod +x /start.sh
expose 3389
volume ["/home/ubuntu/.eclipse", "/home/ubuntu/eclipse-workspace"]
cmd /start.sh

○イメージのビルド
docker build -t cub1604xfceeclipse .

○コンテナの実行
mkdir -p ./.eclipse
mkdir -p ./eclipse-workspace
docker run -it -v `pwd`/.eclipse:/home/ubuntu/.eclipse -v `pwd`/eclipse-workspace:/home/ubuntu/eclipse-workspace -p 3389:3389 -u ubuntu cub1604xfceeclipse
〇Eclipseの画面



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

2018年1月29日月曜日

VagrantでGantt Project、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Ubuntu16.04)を構築する

Gantt ProjectはMicrosoft Projectのようなプロジェクト管理ソフトウェアです。
以下のVagrantfileを使用して、Gantt Project、LXDE Desktop環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604lxdeganttproject"
config.vm.network :public_network, ip:"192.168.1.114"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604lxdeganttproject"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp fcitx-mozc lubuntu-desktop language-pack-ja virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
im-config -n fcitx

# javaをインストール
add-apt-repository ppa:webupd8team/java
apt-get update
echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections
apt-get install -y oracle-java8-installer oracle-java8-set-default

# install GanttProject
wget -O ganttproject.deb http://www.ganttproject.biz/dl/2.8.5/lin
dpkg -i ganttproject.deb

init 5
SHELL
end

〇Gantt Projectの画面


DockerでVanilla Forumsがインストールされたコンテナ(Alpine 3.7)を構築する

Vanilla ForumsはPHP製の掲示板を提供するサーバーアプリケーションです。
以下の手順で、Vanilla ForumsとMySQLのコンテナを構築・実行します。

○構築方法
1. Vanilla Forumsイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t vanillaforums .

Dockerfile
FROM alpine:3.7
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php7-apache2 php7-pdo php7-mysqli php7-pdo_mysql php7-intl php7-mcrypt php7-mbstring php7-session php7-curl php7-json php7-xml php7-zip php7-tokenizer php7-ctype openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://open.vanillaforums.com/get/vanilla-core.zip \
  && unzip vanilla-core.zip \
  && rm -f vanilla-core.zip \
  && mkdir -p /opt \
  && mv vanilla-2.5 /opt/vanillaforums \
  && chown -R apache:apache /opt/vanillaforums \
  && ln -s  /opt/vanillaforums /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
EXPOSE 80
VOLUME /opt/vanillaforums
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

2. Vanilla ForumsとMySQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "2"
services:
  vanillaforums:
    image: vanillaforums
    container_name: "vanillaforums"
    volumes:
      - "vanillaforums-data:/opt/vanillaforums"
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      VF_DB_HOST: "db:3306"
  db:
    image: mysql:5.7
    container_name: "vanillaforums-db"
    volumes:
      - "db-data:/var/lib/mysql"
      - ./mysqlconf:/etc/mysql/conf.d
    environment:
        MYSQL_DATABASE: vanillaforums
        MYSQL_ROOT_PASSWORD: vanillaforums
volumes:
  db-data:
    driver: local
  vanillaforums-data:
    driver: local

cnfファイル(docker-compose.ymlが配置されているディレクトリにサブディレクトリmysqlconfを作成して配置する)
mysqlconf/vanillaforum.cnf
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION

3. ブラウザからhttp:///vanillaforums/にアクセス
Installer画面で以下の項目を入力し、「Continue」をクリックする
Database Host: db
Database Name: vanillaforums
Database User: root
Database Password: vanillaforums
他の項目は好みに合わせて入力




○Vanilla Forumsの画面


○その他
・Vanilla ForumsとMySQLコンテナの停止・削除(docker-compose.ymlがあるフォルダで実行)
docker-compose down

・永続化ボリュームの削除
docker volume rm vanillaforums_db-data
docker volume rm vanillaforums_vanillaforums-data

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

VagrantでPencil、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.3)を構築する

PencilはVisioのような図を描画できるアプリケーションです。
以下のVagrantfileを使用して、Pencil、LXDE Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.3)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.3"
  config.vm.hostname = "db93lxdepencil"
  config.vm.network "public_network", ip:"192.168.1.118", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db93lxdepencil"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF
cat << EOF > /home/vagrant/.xsession
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
lxsession -s LXDE -e LXDE
EOF
chown vagrant:vagrant .xsession
apt-get -y install  xrdp fcitx-mozc task-lxde-desktop tigervnc-standalone-server fcitx-tools
export DISPLAY=:0.0
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"
cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | awk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp
# install pencil
apt-get -y install libgconf-2-4
wget https://pencil.evolus.vn/dl/V3.0.4/Pencil_3.0.4_amd64.deb
dpkg -i Pencil_3.0.4_amd64.deb
init 5
SHELL
end

〇Pencilの画面



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

VagrantとMongo ExpressとMongoDB3.6がインストールされた仮想マシン(Ubutu16.04)を構築する

以下のVagrantfileを使用して、Mongo ExpressとMongoDB3.6をインストールした仮想マシン(Ubutu16.04)を構築する事ができます。
仮想マシン構築後、ブラウザからhttp://192.168.55.101:8081/にアクセスします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604mongodb36express"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604mongodb36express"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
locale-gen ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8

# install mongodb
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" >> /etc/apt/sources.list.d/mongodb-org-3.6.list
apt-get update
apt-get -y install mongodb-org
systemctl enable mongod
systemctl start mongod

# wait until mongod starts listening.
while netstat -lnt | awk '$4 ~ /:27017$/ {exit 1}'; do sleep 10; done
cat << EOF > /tmp/addadmin.js
var db = db.getSiblingDB('admin');
db.createUser({user:"admin",pwd:"admin",roles:[{role:"userAdminAnyDatabase",db:"admin"}]});
EOF
mongo /tmp/addadmin.js
echo 'security:' >> /etc/mongod.conf
echo '  authorization: enabled' >> /etc/mongod.conf
systemctl restart mongod
while netstat -lnt | awk '$4 ~ /:27017$/ {exit 1}'; do sleep 10; done

# create a test database and a test user.
cat << EOF > /tmp/createtest.js
var db = db.getSiblingDB('test');
db.createUser({user:"test",pwd:"test",roles:[{role:"readWrite",db:"test"}]});
EOF
mongo -u "admin" -p "admin" --authenticationDatabase "admin" /tmp/createtest.js

# create sample data
mongo -u "test" -p "test" --authenticationDatabase "test"  << EOF > /tmp/output.js
var db = db.getSiblingDB('test');
db.products.insert( { item: "chair", qty: 15 } );
db.products.insert( { item: "table", qty: 3 } );
db.products.find().pretty();
EOF
cat /tmp/output.js

# install nodejs and mongo-express
apt-get -y install curl git
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash
apt-get -y install nodejs
npm install -g mongo-express

cp /usr/lib/node_modules/mongo-express/config.default.js /usr/lib/node_modules/mongo-express/config.js
cat << EOF > /etc/systemd/system/mongo-express.service
[Unit]
Description=mongo-express

[Service]
Type=simple
Environment="VCAP_APP_HOST=0.0.0.0"
ExecStart=/usr/bin/mongo-express -u test -p test -d test -H localhost

[Install]
WantedBy=multi-user.target
EOF
systemctl enable mongo-express.service
systemctl start mongo-express.service

echo 'access to http://192.168.55.101:8081/';


SHELL
end

〇Mongo Expressの画面


2018年1月28日日曜日

VagrantでboltとMySQLをインストールした仮想マシン(Debian Stretch/9.3)を構築する

boltはPHP製のCMSです。
以下のVagrantfileを使用して、boltとMySQLがインストールされた仮想マシン(Debian Stretch/9.3) を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.3"
  config.vm.hostname = "db93bolt"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db93bolt"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

# install mysql
wget https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb
export DEBIAN_FRONTEND=noninteractive
echo mysql-apt-config mysql-apt-config/enable-repo select mysql-5.7-dmr | sudo debconf-set-selections
dpkg -i mysql-apt-config_0.8.9-1_all.deb
apt-get update
apt-get -y install mysql-server
mysql -uroot -e "CREATE DATABASE bolt DEFAULT CHARACTER SET utf8;"
mysql -uroot -e "CREATE USER bolt@localhost IDENTIFIED BY 'bolt';"
mysql -uroot -e "GRANT ALL PRIVILEGES ON bolt.* TO 'bolt'@'localhost';"
mysql -uroot -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 php7.0-mcrypt php7.0-xml php7.0-zip php7.0-intl

# install bolt
wget  https://bolt.cm/distribution/bolt-latest.tar.gz
tar -xzf bolt-latest.tar.gz
cd bolt-v3.4.6
php app/nut init
sed -i -e 's/driver: sqlite/driver: mysql\\n    username: bolt\\n    password: bolt\\n/' ./app/config/config.yml
cd /home/vagrant
mv bolt-v3.4.6 /opt/bolt
chown -R www-data:www-data /opt/bolt

cat << EOF > /etc/apache2/sites-available/bolt.conf
<VirtualHost *:80>
    ServerName 192.168.55.101
    DocumentRoot /opt/bolt/public
    <Directory /opt/bolt/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
EOF
a2enmod rewrite
a2ensite bolt.conf
a2dissite 000-default.conf
systemctl reload apache2.service

echo 'access http://192.168.1.101/'
SHELL
end

〇Boltの初期設定画面


〇boltの画面



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

VagrantでBlueGriffon、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Ubuntu16.04)を構築する

BlueGriffonはFirefoxのレンダリングエンジンを使用したEPUBエディターです。
以下のVagrantfileを使用して、BlueGriffon 、LXDE Desktop環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604lxdebluegriffon"
config.vm.network :public_network, ip:"192.168.1.111"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604lxdebluegriffon"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp fcitx-mozc lubuntu-desktop language-pack-ja virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
im-config -n fcitx


# install BlueGriffon
wget http://bluegriffon.org/freshmeat/3.0.1/bluegriffon-3.0.1.Ubuntu16.04-x86_64.deb
dpkg -i bluegriffon-3.0.1.Ubuntu16.04-x86_64.deb

init 5
SHELL
end

〇BlueGriffonの画面


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

VagrantでStacer、Cinnamon Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.3)を構築する

以下のVagrantfileを使用して、Stacer、Cinnamon Desktop環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.3"
  config.vm.hostname = "db93cinnamonstacer"
  config.vm.network "public_network", ip:"192.168.1.112", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db93cinnamonstacer"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF
cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xsessionrc
apt-get -y install  xrdp fcitx-mozc task-cinnamon-desktop tigervnc-standalone-server
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | gawk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp

# install stacer
wget https://github.com/oguzhaninan/Stacer/releases/download/v1.0.8/stacer_1.0.8_amd64.deb
dpkg -i stacer_1.0.8_amd64.deb


init 5
SHELL
end

〇Stacerの画面



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

・StacerのGithubリポジトリ
https://github.com/oguzhaninan/Stacer

VagrantでadminMongoとMongoDB3.6がインストールした仮想マシン(Ubuntu16.04)を構築する

adminMongoでwebブラウザからMongoDBを管理する事ができます。以下のVagrantfileを使用して、adminMongoとMongoDB3.6がインストールされた仮想マシン(Ubuntu16.04)を構築する事ができます。
仮想マシン後構築後、ブラウザからhttp://192.168.55.101:1234にアクセスします。
testデータベースへの接続文字列にはmongodb://test:test@192.168.55.101/testを指定します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604mongodb36adminmongo"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604mongodb36adminmongo"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
locale-gen ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8

# install mongodb
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" >> /etc/apt/sources.list.d/mongodb-org-3.6.list
apt-get update
apt-get -y install mongodb-org
systemctl enable mongod
systemctl start mongod

# wait until mongod starts listening.
while netstat -lnt | awk '$4 ~ /:27017$/ {exit 1}'; do sleep 10; done
cat << EOF > /tmp/addadmin.js
var db = db.getSiblingDB('admin');
db.createUser({user:"admin",pwd:"admin",roles:[{role:"userAdminAnyDatabase",db:"admin"}]});
EOF
mongo /tmp/addadmin.js
echo 'security:' >> /etc/mongod.conf
echo '  authorization: enabled' >> /etc/mongod.conf
systemctl restart mongod
while netstat -lnt | awk '$4 ~ /:27017$/ {exit 1}'; do sleep 10; done

# create a test database and a test user.
cat << EOF > /tmp/createtest.js
var db = db.getSiblingDB('test');
db.createUser({user:"test",pwd:"test",roles:[{role:"readWrite",db:"test"}]});
EOF
mongo -u "admin" -p "admin" --authenticationDatabase "admin" /tmp/createtest.js

# create sample data
mongo -u "test" -p "test" --authenticationDatabase "test"  << EOF > /tmp/output.js
var db = db.getSiblingDB('test');
db.products.insert( { item: "chair", qty: 15 } );
db.products.insert( { item: "table", qty: 3 } );
db.products.find().pretty();
EOF
cat /tmp/output.js

# install node
apt-get -y install curl git
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash
apt-get -y install nodejs

cd /opt
git clone https://github.com/mrvautin/adminMongo.git
cd adminMongo
npm install

cat << EOF > /etc/systemd/system/adminmongo.service
[Unit]
Description=adminmongo
Requires=network.target
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/adminMongo
ExecStart=/usr/bin/npm start

[Install]
WantedBy=multi-user.target
EOF
systemctl enable adminmongo.service
systemctl start adminmongo.service

echo 'access http://192.168.55.101:1234';
echo 'add a connection -> mongodb://test:test@localhost/test'

SHELL
end

〇adminMongoの画面


2018年1月27日土曜日

VagrantでFlysprayとMySQLがインストールされた仮想マシン(Ubuntu16.04)を構築する

FlysprayはPHP製のバグ追跡・課題管理ソフトウェアです。
以下のVagrantfileを使用して、FlysprayとMySQLをインストールした仮想マシン(Ubuntu16.04)を構築する事ができます。
仮想マシン構築後、ブラウザからhttp://192.168.55.106/flyspray/にアクセスして初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604flyspray"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604flyspray"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "private_network", ip: "192.168.55.106", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.106", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
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 flyspray DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER flyspray@localhost IDENTIFIED BY 'flyspray';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON flyspray.* TO 'flyspray'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

apt-get -y install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt-get -y install apache2 libapache2-mod-php7.1 graphviz aspell
apt-get -y install php7.1-gd php7.1-json php7.1-mysql  php7.1-mbstring
apt-get -y install php7.1-xml php7.1-zip php7.1-intl php7.1-curl



# install flyspray
wget https://github.com/Flyspray/flyspray/archive/v1.0-rc6.tar.gz
tar xvfz v1.0-rc6.tar.gz
mv flyspray-1.0-rc6 /opt/flyspray
cd /opt/flyspray
curl -sS https://getcomposer.org/installer | php
php composer.phar install
chown -R www-data:www-data /opt/flyspray
ln -s  /opt/flyspray /var/www/html


service apache2 restart
echo 'access http://192.168.55.106/flyspray/'
echo 'db user:flyspray  password:flyspray  db:flyspray'
SHELL
end

〇Flysprayの初期設定画面1


〇Flysprayの初期設定画面2


〇Flysprayの初期設定画面3


〇Flysprayの初期設定画面4


〇Flysprayの画面


VagrantでApache ActiveMQがインストールされた仮想マシン(Debian Stretch/9.3)を構築する

以下のVagrantfileを使用して、Apache ActiveMQをインストールした仮想マシン(Debian Stretch/9.3)を構築する事ができます。
仮想マシン構築後、ブラウザからhttp://192.168.55.104:8161で管理画面にアクセスします。デフォルトのユーザはadmin、パスワードもadminです。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.3"
  config.vm.hostname = "db93activemq"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db93activemq"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.104", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.104", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
# install java
apt-get -y install openjdk-8-jdk
# install activemq
wget  http://ftp.tsukuba.wide.ad.jp/software/apache/activemq/5.15.2/apache-activemq-5.15.2-bin.tar.gz
tar xvfz apache-activemq-5.15.2-bin.tar.gz
mv apache-activemq-5.15.2 /opt/activemq
cat << EOF > /etc/systemd/system/activemq.service
[Unit]
Description=Apache ActiveMQ
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop
KillMode=none
[Install]
WantedBy=multi-user.target
EOF
systemctl enable activemq.service
systemctl start activemq.service
echo 'access to http://192.168.55.104:8161'
SHELL
end

〇ActiveMQの画面



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

・ActiveMQのプロジェクトwebサイト
http://activemq.apache.org/

VagrantでSilverStripeとMariaDBをインストールした仮想マシン(Ubuntu16.04)を構築する

SilverStripeはPHP製のCMSです。
以下のVagrantfileを使用して、SilverStripeとMariaDBがインストールされた仮想マシン(Ubuntu16.04)を構築する事ができます。
仮想マシン構築後、ブラウザからhttp://192.168.1.106/silverstripe/にアクセスして初期設定を行います。
データベース名、データベースユーザ名、パスワードはsilverstripeです。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604silverstripemariadb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604silverstripemariadb"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.107", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

# install mariadb
echo "mariadb-server-10.0 mysql-server/root_password password root" | sudo debconf-set-selections
echo "mariadb-server-10.0 mysql-server/root_password_again password root" | sudo debconf-set-selections
apt-get -y install mariadb-server
mysql -uroot -proot -e "CREATE DATABASE silverstripe DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER silverstripe@localhost IDENTIFIED BY 'silverstripe';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON silverstripe.* TO 'silverstripe'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

apt-get -y install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt-get -y install apache2 libapache2-mod-php7.1
apt-get -y install php7.1-gd php7.1-json php7.1-mysql php7.1-pdo php7.1-curl php7.1-mbstring
apt-get -y install php7.1-mcrypt php7.1-xml php7.1-zip php7.1-intl

# install silverstripe
mkdir -p /opt/silverstripe
cd /opt/silverstripe
wget https://silverstripe-ssorg-releases.s3.amazonaws.com/sssites-ssorg-prod/assets/releases/SilverStripe-cms-v4.0.1.tar.gz
tar xvfz SilverStripe-cms-v4.0.1.tar.gz

sed -i -e 's#;date.timezone =#date.timezone = "Asia/Tokyo"#' /etc/php/7.1/apache2/php.ini

chown -R www-data:www-data /opt/silverstripe
ln -s  /opt/silverstripe /var/www/html
cat << EOF >> /etc/apache2/apache2.conf

        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted

EOF
a2enmod rewrite
service apache2 restart
echo 'access http://192.168.1.107/silverstripe/'
echo 'db user:silverstripe  password:silverstripe  db:silverstripe'
SHELL
end

〇SilverStripeの初期設定画面1


〇SilverStripeの初期設定画面2


〇SilverStripeの管理者画面


〇SilverStripeの画面


2018年1月26日金曜日

VagrantでProjectLibre、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Ubuntu16.04)を構築する

ProjectLibre を使用してMicrosoft Projectのようにプロジェクト管理を行う事ができます。

仮想マシンの構築方法

以下のVagrantfileを使用して、ProjectLibre 、LXDE Desktop環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604lxdeprojectlibre"
config.vm.network :public_network, ip:"192.168.1.111"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604lxdeprojectlibre"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--vram", "12"]
  end
  config.vm.provision "shell", inline: <<-shell -e="" -i.bak="" -i="" -n="" -y="" 5="" apt-get="" apt="" archive.ubuntu.com="" code="" dpkg="" end="" etc="" fcitx-mozc="" fcitx="" files="" ftp.riken.jp="" g="" http:="" https:="" im-config="" init="" install="" inux="" java="" jp106="" lang="ja_JP.UTF-8" language-pack-ja="" localectl="" lubuntu-desktop="" openjdk-8-jdk="" projectlibre="" projectlibre_1.7.0-1.deb="" projects="" pub="" rojectlibre="" s="" sed="" set-keymap="" set-locale="" shell="" sourceforge.net="" sources.list="" ubuntu="" update="" virtualbox-guest-dkms="" virtualbox-guest-utils="" virtualbox-guest-x11="" wget="" xrdp="">

〇ProjectLibreの画面

関連情報

・ProjectLibreに関する他の記事はこちらを参照してください。

・ProjectLibreのwebサイト
http://www.projectlibre.com/

VagrantでSimple Machines Forumをインストールした仮想マシン(Ubuntu16.04)を構築する

Simple Machines ForumはPHP製の掲示板ソフトウェアです。
以下のVagrantfileを使用して、Simple Machines Forumがインストールした仮想マシンを構築する事ができます。
仮想マシン構築後、http://192.168.1.106/smf/にアクセスして初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604simplemachines"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604simplemachines"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "private_network", ip: "192.168.55.106", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.106", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
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 simplemachines DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER simplemachines@localhost IDENTIFIED BY 'simplemachines';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON simplemachines.* TO 'simplemachines'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"


apt-get -y install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt-get -y install apache2 libapache2-mod-php7.1
apt-get -y install php7.1-gd php7.1-json php7.1-mysql php7.1-pdo php7.1-curl php7.1-mbstring
apt-get -y install php7.1-mcrypt php7.1-xml php7.1-zip php7.1-intl

# install simplemachines
mkdir -p /opt/smf
cd /opt/smf
wget https://download.simplemachines.org/index.php/smf_2-1-beta3_install.tar.gz
tar xvfz smf_2-1-beta3_install.tar.gz
cp /opt/smf/Settings.php /opt/smf/Settings_bak.php
chown -R www-data:www-data /opt/smf
ln -s  /opt/smf /var/www/html


service apache2 restart
echo 'access http://192.168.1.106/smf/'
echo 'db user:simplemachines  password:simplemachines  db:simplemachines'
SHELL
end

〇Simple Machines Forumの初期設定画面1


〇Simple Machines Forumの初期設定画面2


〇Simple Machines Forumの初期設定画面3


〇Simple Machines Forumの初期設定画面4


〇Simple Machines Forumの初期設定画面5


〇Simple Machines Forumの初期設定画面6


〇Simple Machines Forumの画面


VagrantでVanilla Forumsがインストールされた仮想マシン(Debian9.3)を構築する

Vanilla ForumsはPHP製の掲示板ソフトウェアです。
以下のVagratfileを使用して、Vanilla ForumsとMySQLをインストールされた仮想マシン(Debian9.3) を構築する事ができます。
仮想マシン構築後、http://192.168.1.105/vanillaforums/にアクセスして初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.3"
  config.vm.hostname = "db93vanillaforums"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db93vanillaforums"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "private_network", ip: "192.168.55.105", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.105", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade


# install mysql
wget https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb
export DEBIAN_FRONTEND=noninteractive
echo mysql-apt-config mysql-apt-config/enable-repo select mysql-5.7-dmr | sudo debconf-set-selections
dpkg -i mysql-apt-config_0.8.9-1_all.deb
apt-get update
apt-get -y install mysql-server
mysql -uroot -e "CREATE DATABASE vanillaforums DEFAULT CHARACTER SET utf8;"
mysql -uroot -e "CREATE USER vanillaforums@localhost IDENTIFIED BY 'vanillaforums';"
mysql -uroot -e "GRANT ALL PRIVILEGES ON vanillaforums.* TO 'vanillaforums'@'localhost';"
mysql -uroot -e "FLUSH PRIVILEGES;"
echo "sql_mode=NO_ENGINE_SUBSTITUTION" >> /etc/mysql/mysql.conf.d/mysqld.cnf
#set global SQL_MODE="NO_ENGINE_SUBSTITUTION";
systemctl restart mysql.service

# install php
apt-get -y install apache2 libapache2-mod-php7.0
apt-get -y install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring
apt-get -y install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip
apt-get -y install unzip



# install vanillaforums
apt-get -y install unzip
wget https://open.vanillaforums.com/get/vanilla-core.zip
unzip vanilla-core.zip
mv vanilla-2.5 /opt/vanillaforums
chown -R www-data:www-data /opt/vanillaforums
ln -s  /opt/vanillaforums /var/www/html

service apache2 restart
echo 'access http://192.168.1.105/vanillaforums/'
echo 'db user:vanillaforums  password:vanillaforums  db:vanillaforums'

SHELL
end

〇初期設定の画面


〇Vanilla Forumsの画面


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

VagrantでRemmina、KDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.2)を構築する

RemminaはLinux上で動作するRemote Desktop Clientです。
以下のVagrantfileを使用して、Remmina、KDE Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.2)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

Vagranfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.2"
  config.vm.hostname = "db92kderemmina"
  config.vm.network "public_network", ip:"192.168.1.118", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db92kderemmina"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF


cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=mozc:True,fcitx-keyboard-jp:False,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xsessionrc


apt-get -y install  xrdp fcitx-mozc task-kde-desktop tigervnc-standalone-server fcitx-tools
export DISPLAY=:0.0
im-config -n fcitx
#sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"


cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | awk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp

# install remmina
echo 'deb http://ftp.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/stretch-backports.list
apt-get update
apt-get -y install -t stretch-backports remmina remmina-plugin-rdp remmina-plugin-gnome libfreerdp-plugins-standard

init 5
SHELL
end

〇Remminaの画面


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

2018年1月25日木曜日

VagrantでApache Zeppelinをインストールした仮想マシン(CentOS7.4)を構築する

以下のVagrantfileを使用して、Apache Zeppelinがインストールされた仮想マシン(CentOS7.4)を構築する事ができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74zeppelin"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74zeppelin"
     vbox.cpus = 4
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  # private network
  config.vm.network "private_network", ip: "192.168.55.118", :netmask => "255.255.255.0"
  # bridge netwrok
  config.vm.network "public_network", ip: "192.168.1.118", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
yum check-update
yum -y update

# javaをインストール
yum -y install java-1.8.0-openjdk

# install Apache Zeppelin
wget http://ftp.riken.jp/net/apache/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz
tar xvfz zeppelin-0.7.3-bin-all.tgz
mv zeppelin-0.7.3-bin-all /opt/zeppelin
cat << EOF > /etc/systemd/system/zeppelin.service
[Unit]
Description=Apache Zeppelin
[Service]
Type=forking
ExecStart=/opt/zeppelin/bin/zeppelin-daemon.sh start
ExecStop=/opt/zeppelin/bin/zeppelin-daemon.sh stop
WorkingDirectory=/opt/zeppelin
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
systemctl enable zeppelin.service
systemctl start zeppelin.service

echo 'access http://192.168.55.118:8080'
SHELL
end

〇Apache Zeppelinの画面



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

VagrantでpgcliとPostgreSQLがインストールされた仮想マシン(Debian Stretch/9.2)を構築する

pgcliは補完機能を備えたPostgresqlのCUIです。
以下のVagrantfileを使用して、pgcliとPostgreSQLがインストールされた仮想マシン(Debian Stretch/9.2)を構築する事ができます。
仮想マシンにsshでユーザ名vagrant、パスワードvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.2"
  config.vm.hostname = "db92pgcli"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db92pgcli"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.108", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.108", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
# install postgresql
apt-get -y install postgresql-9.6
echo "listen_addresses='*'" >> /etc/postgresql/9.6/main/postgresql.conf
echo "standard_conforming_strings=off" >> /etc/postgresql/9.6/main/postgresql.conf
#sed -i 's/host.*all.*all.*127.0.0.1/#host    all             all             127.0.0.1/g' /etc/postgresql/9.6/main/pg_hba.conf
echo "host    all         all         127.0.0.1/32          password" >> /etc/postgresql/9.6/main/pg_hba.conf
echo "host    all         all         192.168.1.0/24          password" >> /etc/postgresql/9.6/main/pg_hba.conf
echo "host    all         all         192.168.55.0/24          password" >> /etc/postgresql/9.6/main/pg_hba.conf
su - postgres << EOF
createdb test
psql -c "
alter user postgres with password 'postgres';
create user test with password 'test';
grant all privileges on database test to test;
"
EOF
echo "postgres:postgres" | chpasswd
systemctl restart postgresql.service
# install pgcli
apt-get -y install pgcli
echo 'pgcli -h localhost -U test -W test'
SHELL
end

〇pgcliの画面



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

・pgcliのgithubリポジトリ
https://github.com/dbcli/pgcli

2018年1月24日水曜日

VagrantでMantis Bug TrackerとMySQLがインストールされた仮想マシン(Ubuntu16.04)を構築する

Mantis Bug Trackerは、PHP製のバグ追跡・課題管理サーバです。
以下のVagrantfileを使用して、Mantis Bug TrackerとMySQLがインストールされた仮想マシンを構築する事ができます。
仮想マシン構築後、ブラウザからhttp://192.168.55.106/mantisbt/にアクセスして初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604mantisbt"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604mantisbt"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "private_network", ip: "192.168.55.106", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.106", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
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 mantisbt DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER mantisbt@localhost IDENTIFIED BY 'mantisbt';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON mantisbt.* TO 'mantisbt'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

apt-get -y install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt-get -y install apache2 libapache2-mod-php7.1
apt-get -y install php7.1-mysql php7.1-cli php7.1-mbstring

# install mantisbt
wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.10.0/mantisbt-2.10.0.tar.gz
tar xvfz mantisbt-2.10.0.tar.gz
mv mantisbt-2.10.0 /opt/mantisbt
chown -R www-data:www-data /opt/mantisbt
ln -s  /opt/mantisbt /var/www/html
mkdir -p /var/mantisbt
chown -R www-data:www-data /var/mantisbt


service apache2 restart
echo 'access http://192.168.55.106/mantisbt/'
echo 'db user:mantisbt  password:mantisbt  db:mantisbt'
echo 'default user: administrator  default password: root'
SHELL
end

〇Mantis Bug Trackerの初期設定画面


〇Mantis Bug Trackerの初期設定完了画面


〇Mantis Bug Trackerの画面



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