2017年12月31日日曜日

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

以下のVagrantfileを使用して、OrientDBがインストールされた仮想マシンを構築することができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604orientdb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604orientdb"
     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
# 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 java
apt-get -y install openjdk-8-jdk

# download and install orientdb community edition
apt-get -y install unzip
wget http://bit.ly/orientdb-ce-imps-2-2-30 -O orientdb-community-2.2.30.zip
unzip orientdb-community-2.2.30.zip
mv orientdb-community-importers-2.2.30 /opt/orientdb

cat << EOF > /etc/systemd/system/orientdb.service
[Unit]
Description=OrientDB

[Service]
Type=simple
ExecStart=/opt/orientdb/bin/server.sh
ExecStop=/opt/orientdb/bin/shutdown.sh
WorkingDirectory=/opt/orientdb
KillMode=process

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

echo 'access http://192.168.55.105:2480';
echo 'user: admin    password: admin'
SHELL
end

○OrientDB Studioのログイン画面


○OrientDBの画面


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

以下のDockerfileを使用して、XfceとAtomをインストールしたイメージ(Ubuntu16.04)を作成する事ができます。
XRDPもインストールされているので、リモートデスクトップからユーザ名ubuntu、パスワードubuntuで接続することができます。

Dockerfile
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 \
  && wget https://github.com/atom/atom/releases/download/v1.21.2/atom-amd64.deb \
  && dpkg -i atom-amd64.deb \
  && apt-get -y remove blueman \
  && 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/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/data \
  && echo '#!/bin/bash' > /start.sh \
  && echo 'export GTK_IM_MODULE=fcitx' > /start.sh \
  && echo 'export QT_IM_MODULE=fcitx' >> /start.sh \
  && echo 'export XMODIFIERS="@im=fcitx"' >> /start.sh \
  && echo 'startxfce4' >> /start.sh \
  && echo 'sudo /etc/init.d/xrdp start' >> /start.sh \
  && echo 'sudo /etc/init.d/dbus start' >> /start.sh \
  && echo 'fcitx -r -d &' >> /start.sh \
  && echo '/bin/bash' >> /start.sh \
  && chmod +x /start.sh

expose 3389
volume ["/home/ubuntu/data"]
cmd /start.sh

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

○コンテナの実行
docker run -it -v `pwd`:/home/ubuntu/data -p 3389:3389 -u ubuntu cub1604xfceatom

〇Atomの画面


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

以下のVagrantfileを使用して、conkyとLXDE環境、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 = "ub1604lxdeconky"
  config.vm.network :public_network, ip:"192.168.1.119"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604lxdeconky"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
sed -i.bak -e "s#http://us.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

# conkyのインストール
apt-get -y install conky


# conkyのショートカットを作成
mkdir -p /home/vagrant/デスクトップ/
chown vagrant:vagrant /home/vagrant/デスクトップ/
cat << EOF > /home/vagrant/デスクトップ/conky.desktop
#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/conky
Name=conky
EOF
chmod +x /home/vagrant/デスクトップ/conky.desktop
chown vagrant:vagrant /home/vagrant/デスクトップ/conky.desktop

init 5
SHELL
end

〇conkyの画面


2017年12月30日土曜日

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

RemminaはLinux上で動作するRemote Desktop Clientです。
以下のVagrantfileを使用して、Remmina、LXDE 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 = "db92lxderemmina"
  config.vm.network "public_network", ip:"192.168.1.118", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db92lxderemmina"
     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 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の画面


VagrantでTalend Open Studio for Data IntegrationとXfce Desktop環境、XRDPがインストールされた仮想マシン(ubuntu16.04)を構築する

以下のVagrantfileを使用して、Talend Open Studio for Data IntegrationとXfce環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。
Talend Open Studio for Data Integrationを起動するには、デスクトップにあるTOS_DIという名称のアイコンをダブルクリックします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604xfcetosdi641"
  config.vm.network :public_network, ip:"192.168.1.114"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604xfcetosdi641"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install  xrdp fcitx-mozc xubuntu-desktop language-pack-ja
im-config -n fcitx

# install java
apt-get -y install openjdk-8-jdk

# Talend Open Studioのインストール
wget 'https://sourceforge.net/projects/talend-studio/files/Talend%20Open%20Studio/6.4.1/TOS_DI-20170623_1246-V6.4.1.zip';
unzip TOS_DI-20170623_1246-V6.4.1.zip
mv TOS_DI-20170623_1246-V6.4.1 /opt/tosdi

# Talend Open Studio for Data Integrationのショートカットを作成
mkdir -p /home/vagrant/デスクトップ/
chown vagrant:vagrant /home/vagrant/デスクトップ/
cat << EOF > /home/vagrant/デスクトップ/TOS_DI.desktop
#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/tosdi/TOS_DI-linux-gtk-x86_64
Name=TOS_DI
EOF
chmod +x /home/vagrant/デスクトップ/TOS_DI.desktop
chown vagrant:vagrant /home/vagrant/デスクトップ/TOS_DI.desktop

init 5
SHELL
end

〇Talend Open Studio for Data Integrationの画面


VagrantfileでResourceSpaceとMySQLをインストールした仮想マシン(CentOS7.4)を構築する

ResourceSpaceで画像・写真の管理を行うことができます。
以下のVagrantfileを使用して、ResourceSpaceとMySQLをインストールした仮想マシン(CentOS7.4)を構築できます。
仮想マシン構築後、ブラウザからhttp://192.168.1.109/resourcespace/にアクセスして初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74resourcespace"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74resourcespace"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.109", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.109", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
localectl set-locale LANG=ja_JP.UTF-8

# mysqlのインストール
sudo yum -y remove mariadb-libs
yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum -y install yum-utils
#yum-config-manager --disable mysql57-community
#yum-config-manager --enable mysql56-community
yum -y install mysql mysql-devel mysql-server mysql-utilities
sudo systemctl enable mysqld.service
sudo systemctl start mysqld.service

# change password and create users and databases.
chkconfig mysqld on
service mysqld start
export MYSQL_ROOTPWD='Root123#'
export MYSQL_PWD=`cat /var/log/mysqld.log | awk '/temporary password/ {print $NF}'`
mysql -uroot --connect-expired-password -e "SET PASSWORD = PASSWORD('$MYSQL_ROOTPWD');"
export MYSQL_PWD=$MYSQL_ROOTPWD
export MYSQL_ROOTPWD='root'
mysql -uroot --connect-expired-password -e "UNINSTALL PLUGIN validate_password;"
mysql -uroot --connect-expired-password -e "SET PASSWORD = PASSWORD('$MYSQL_ROOTPWD'); FLUSH PRIVILEGES;"
mysql -uroot -proot -e "CREATE DATABASE resourcespace DEFAULT CHARACTER SET utf8;"
export MYSQL_PWD=$MYSQL_ROOTPWD

mysql -uroot -proot -e "CREATE USER resourcespace@localhost IDENTIFIED BY 'resourcespace';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON resourcespace.* TO 'resourcespace'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

# install apache2
yum -y install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum -y install --enablerepo=remi,remi-php71 httpd php php-devel php-mbstring php-mysqli php-gd php-xml php-zip php-json php-zip
yum -y install php-bcmath php-curl php-cli php-pear

# install dependencies
yum -y localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum -y localinstall https://forensics.cert.org/cert-forensics-tools-release-el7.rpm
yum -y install subversion antiword ffmpeg perl-Image-ExifTool ImageMagick xpdf

# install resourcespace
mkdir /opt/resourcespace
cd /opt/resourcespace
svn co http://svn.resourcespace.com/svn/rs/releases/8.2 .
mkdir filestore
chmod 777 filestore
chmod -R 777 include
ln -s  /opt/resourcespace /var/www/html
service httpd restart

cat << EOF >> /etc/cron.daily/resourcespace
#!/bin/sh
wget -q -r http://localhost/pages/tools/cron_copy_hitcount.php
EOF
sed -i -e 's/memory_limit = 128M/memory_limit = 256M/' /etc/php.ini
sed -i -e 's/post_max_size = 8M/post_max_size = 128M/' /etc/php.ini
sed -i -e 's/upload_max_filesize = 2M/upload_max_filesize = 128M/' /etc/php.ini

service httpd restart

echo 'access http://192.168.1.109/resourcespace/'
echo 'user: resourcespace password:resourcespace db:resourcespace'
SHELL
end

〇ResourceSpaceの初期設定画面


〇ResourceSpaceの画面


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

DBeaverは様々なデータベースに対応するクライアントソフトウェアです。
以下のVagrantfileを使用して、DBeaver、Xfce 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 = "ub1604xfcedbeaver"
  config.vm.network :public_network, ip:"192.168.1.114"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604xfcedbeaver"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install  xrdp fcitx-mozc xubuntu-desktop language-pack-ja
im-config -n fcitx

# install java
apt-get -y install openjdk-8-jdk

# install dbeaver
wget https://dbeaver.jkiss.org/files/dbeaver-ce_latest_amd64.deb
dpkg -i dbeaver-ce_latest_amd64.deb

# DBeaverのショートカットを作成
mkdir -p /home/vagrant/デスクトップ/
chown vagrant:vagrant /home/vagrant/デスクトップ/
cat << EOF > /home/vagrant/デスクトップ/debeaver.desktop
#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=sh -c "setxkbmap jp -model jp106 && /usr/bin/dbeaver"
Icon=/usr/share/dbeaver/icon.xpm
Name=DBeaver
EOF
chmod +x /home/vagrant/デスクトップ/debeaver.desktop
chown vagrant:vagrant /home/vagrant/デスクトップ/debeaver.desktop

init 5
SHELL
end

〇DBeaverの画面


2017年12月29日金曜日

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

phpSysInfoでブラウザから各種システム情報を取得することができます。
以下のVagrantfileを使用して、phpSysInfoをインストールした仮想マシンを構築します。
仮想マシン構築後、ブラウザからhttp://192.168.1.101/phpsysinfo/にアクセスします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74phpsysinfo"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74phpsysinfo"
     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
localectl set-locale LANG=ja_JP.UTF-8

# install apache2
yum -y install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum -y install --enablerepo=remi,remi-php71 httpd php php-mbstring php-xml php-json

# install phpSysInfo
wget https://github.com/phpsysinfo/phpsysinfo/archive/v3.2.8.tar.gz
tar xvfz v3.2.8.tar.gz
mv phpsysinfo-3.2.8 /opt/phpsysinfo

cp /opt/phpsysinfo/phpsysinfo.ini.new /opt/phpsysinfo/phpsysinfo.ini
chown -R apache:apache /opt/phpsysinfo
ln -s  /opt/phpsysinfo /var/www/html

systemctl restart httpd.service

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

〇phpSysInfoの画面


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

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604adminmongo"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604adminmongo"
     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 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" >> /etc/apt/sources.list.d/mongodb-org-3.4.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の画面1


〇adminMongoの画面2


2017年12月28日木曜日

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

bookmarksはブックマークを管理するwebアプリケーションです。
以下のVagrantfileを使用して、bookmarksがインストールされた仮想マシンを構築する事ができます。
仮想マシン構築後、ブラウザからhttp://192.168.55.103:5000/にアクセスします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604bookmarks"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604bookmarks"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.103", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.103", :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 java
apt-get -y install openjdk-8-jdk

# install bookmarks
mkdir -p /opt/bookmarks
cd /opt/bookmarks
wget https://unpkg.com/dyu-bookmarks@0.4.1/bin/bookmarks-linux-standalone-x64.tar.gz
tar -xzf bookmarks-linux-standalone-x64.tar.gz


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

[Service]
Type=simple
WorkingDirectory=/opt/bookmarks
ExecStart=/opt/bookmarks/start.sh

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


echo 'access http://192.168.55.103:5000/'
SHELL
end

〇bookmarksの画面


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

SilverStripeはPHP製のCMSです。
以下のVagrantfileを使用して、SilverStripeとMySQLがインストールされた仮想マシン(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 = "ub1604silverstripe"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604silverstripe"
     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 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.106/silverstripe/'
echo 'db user:silverstripe  password:silverstripe  db:silverstripe'
SHELL
end

〇SilverStripeの初期設定画面1


〇SilverStripeの初期設定画面2


〇SilverStripeの管理者画面


〇SilverStripeの画面


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

以下のVagrantfileを使用してJBakeがインストールされた仮想マシンを構築する事ができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604jbake"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604jbake"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.103", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.103", :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 java
apt-get -y install openjdk-8-jdk

# install jbake
apt-get -y install unzip
wget -O jbake.zip http://hash.to/5tc
unzip jbake.zip
mv jbake-2.5.1 /opt/jbake

chmod +x /opt/jbake/bin/jbake
ln -s /opt/jbake/bin/jbake /usr/local/bin

# create sample project
mkdir project
cd project
jbake -i
mkdir -p /home/vagrant/project/content/blog/2017

cat << EOF > /home/vagrant/project/content/blog/2017/test.md
title=テスト記事
date=2017-11-23
type=post
tags=test,jbake
status=published
~~~~~~

* example1
テストです。
EOF
jbake -b
chown -R vagrant:vagrant /home/vagrant/project

echo 'execute command below and and access http://192.168.55.103:8820/';
echo 'cd project'
echo 'jbake -s'
SHELL
end

〇JBakeで生成したテストサイトの画面


2017年12月27日水曜日

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

以下のVagrantfileを使用して、Codiadをインストールした仮想マシンを構築することができます。
仮想マシン構築後、ブラウザからhttp://192.168.1.105/にアクセスして初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604codiad"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604codiad"
     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
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

# install codiad
apt-get -y install apache2 libapache2-mod-php7.0 php-zip php-mbstring
apt-get -y install git

mv /var/www/html /var/www/html.bak
git clone https://github.com/Codiad/Codiad /var/www/html/
touch /var/www/html/config.php
chown www-data:www-data -R /var/www/html/
service apache2 restart

echo 'access http://192.168.1.105/'

SHELL
end

○Codiadの初期設定画面


○Codiadの画面


2017年12月26日火曜日

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

以下のVagrantfileを使用して、BorgBackupがインストールされた仮想マシンを構築することができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74borgbackup"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74borgbackup"
     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
locale-gen ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8

# install borgbackup
yum -y install epel-release
yum -y install borgbackup
mkdir -p /opt/repo

# test execution
mkdir -p sample
cp /vagrant/Vagrantfile sample

# intializa repo
echo 'initialize...'
export BORG_PASSPHRASE=vagrant
borg init -e repokey /opt/repo

# backup
echo 'backup...'
borg create --stats /opt/repo::20171125 /home/vagrant/sample/*

# show
echo 'listing...'
borg list /opt/repo::20171125

# remove original file and restore it.
echo 'restore...'
rm -f /home/vagrant/sample/Vagrantfile
borg extract /opt/repo::20171125
cat ~vagrant/home/vagrant/sample/Vagrantfile

SHELL
end

2017年12月25日月曜日

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

RemminaはLinux上で動作するRemote Desktop Clientです。
以下のVagrantfileを使用して、Remmina、Gnome 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 = "db92gnomeremmina"
  config.vm.network "public_network", ip:"192.168.1.118", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db92gnomeremmina"
     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/.xprofile
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 .xprofile

apt-get -y install  xrdp fcitx-mozc task-gnome-desktop tigervnc-standalone-server
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 | 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 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の画面


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

以下のVagrantfileを使用して、Apache Zeppelinがインストールされた仮想マシンを構築することができます。
仮想マシン構築後、ブラウザからhttp://192.168.55.103:8080にアクセスします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # debian stretch/9.2
  config.vm.box = "bento/debian-9.2"
  config.vm.hostname = "db92zeppelin"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db92zeppelin"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.103", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.103", :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
apt-get -y install unzip

# install java
apt-get -y install default-jdk

# 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.103:8080'
SHELL
end

2017年12月24日日曜日

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

elggで自分のソーシャルネットワークサービスを構築する事ができます。
以下のVagrantfileを使用して、elggとMySQLがインストールされた仮想マシン(Ubuntu16.04)を構築する事ができます。
仮想マシン構築後、ブラウザからhttp://192.168.55.101/elgg/にアクセスして初期設定を行います。
データベース名、データベースユーザ・パスワードにelggを指定して、データディレクトリには/opt/elgg/dataを指定します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604elgg"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604oelgg"
     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
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 elgg DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER elgg@localhost IDENTIFIED BY 'elgg';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON elgg.* TO 'elgg'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

# install apache and php
apt-get -y install software-properties-common
add-apt-repository -y ppa:ondrej/php
apt-get update
apt-get -y install apache2 php5.6 libapache2-mod-php5.6 php5.6-gd php5.6-mbstring php5.6-xml php5.6-mysql php5.6-pdo php5.6-xml php5.6-zip


# install elgg
apt-get -y install unzip
wget -O elgg-2.3.5.zip  https://elgg.org/getelgg.php?forward=elgg-2.3.5.zip
unzip elgg-2.3.5.zip
mv elgg-2.3.5  /opt/elgg
mkdir -p /opt/elgg/data

chown -R www-data:www-data /opt/elgg
sudo ln -s /opt/elgg/ /var/www/html/
cat << EOF >> /etc/apache2/apache2.conf
<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
EOF
a2enmod rewrite
systemctl restart apache2

echo 'access http://192.168.55.101/elgg/'
SHELL
end

〇elggの初期設定画面1


〇elggの初期設定画面2


〇elggの初期設定画面3


〇elggの初期設定画面4


〇elggの初期設定画面5


〇elggの初期設定画面6


〇elggの管理者画面


〇elggの画面


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

以下のVagrantfileを使用して、Stickynotes、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 = "ub1604lxdestickynotes"
  config.vm.network :public_network, ip:"192.168.1.113"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604lxdestickynotes"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
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

# install stickynotes
add-apt-repository ppa:umang/indicator-stickynotes
apt-get update
apt-get -y install indicator-stickynotes

init 5
SHELL
end

〇Stickynotesのスクリーンショット


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

以下のVagrantfileを使用して、Kanboardをインストールした仮想マシンを構築できます。
仮想マシン構築後、ブラウザからhttp://192.168.55.106/kanboard/にアクセスします。
デフォルトユーザのユーザ名はadmin、パスワードもadminです。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.2"
  config.vm.hostname = "db92kanboardmysql"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db92kanboardmysql"
     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
apt-get -y install unzip

# 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 kanboard DEFAULT CHARACTER SET utf8;"
mysql -uroot -e "CREATE USER kanboard@localhost IDENTIFIED BY 'kanboard';"
mysql -uroot -e "GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard'@'localhost';"
mysql -uroot -e "FLUSH PRIVILEGES;"

# install apache2 kanboard
apt-get -y install php7.0 libapache2-mod-php7.0 apache2 php7.0-mbstring php7.0-mysql php7.0-gd
wget https://kanboard.net/kanboard-latest.zip
unzip kanboard-latest
mv kanboard /opt
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_USERNAME', 'root');#define('DB_USERNAME', 'kanboard');#" /opt/kanboard/config.php
sed -i -e "s#define('DB_PASSWORD', '');#define('DB_PASSWORD', 'kanboard');#" /opt/kanboard/config.php
chown -R www-data:www-data /opt/kanboard
sudo ln -s /opt/kanboard/ /var/www/html/
systemctl restart apache2

echo 'access http://192.168.55.106/kanboard/'
echo 'user: admmin, password: admin'
SHELL
end

〇kanboardの画面

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

ownCloudでdropboxのようにファイルを管理する事ができます。
以下のVagrantfileを使用して、ownCloudとMySQLがインストールされた仮想マシン(Debian Stretch/9.2)を構築する事ができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.2"
  config.vm.hostname = "db92owncloud"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db92owncloud"
     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
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/Downloads/MySQL-5.6/mysql-server_5.6.38-1debian9_amd64.deb-bundle.tar
tar xvf mysql-server_5.6.38-1debian9_amd64.deb-bundle.tar
echo "mysql-community-server mysql-community-server/root-pass password root" | sudo debconf-set-selections
echo "mysql-community-server mysql-community-server/re-root-pass password root" | sudo debconf-set-selections
apt-get -y install  libaio1 libnuma1 psmisc
dpkg -i mysql-common_5.6.38-1debian9_amd64.deb mysql-client_5.6.38-1debian9_amd64.deb mysql-community-client_5.6.38-1debian9_amd64.deb mysql-community-server_5.6.38-1debian9_amd64.deb

mysql -uroot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' identified by 'root';"

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

# install owncloud
wget -nv https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key -O Release.key
apt-key add - < Release.key
sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' > /etc/apt/sources.list.d/owncloud.list"
apt-get update
apt-get -y install owncloud-files
chown www-data:www-data /var/www/owncloud
cd /var/www/owncloud

sudo -u www-data sh -c "php occ maintenance:install --database mysql --database-name owncloud  --database-user root --database-pass root --admin-user admin --admin-pass admin"
sed -i -e "s/0 => 'localhost'/0 => '192.168.1.108', 1 => '192.168.55.108'/" /var/www/owncloud/config/config.php
sed -i -e "s/\\/\\/localhost/\\/\\/192.168.55.108/" /var/www/owncloud/config/config.php
ln -s /var/www/owncloud /var/www/html/

service apache2 restart

echo 'access http://192.168.55.108/owncloud/'
echo 'user: admin, password: admin'
SHELL
end

〇ownCloudの画面


2017年12月23日土曜日

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

Oxwallで自分のソーシャルネットワークサービスを構築する事ができます。
以下のVagrantfileを使用して、OxwallとMySQLがインストールされた仮想マシン(Ubuntu16.04)を構築する事ができます。
仮想マシン構築後、ブラウザからhttp://192.168.55.103/oxwall/にアクセスして初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604oxwallmysql"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604oxwallmysql"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.103", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.103", :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 oxwall DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER oxwall@localhost IDENTIFIED BY 'oxwall';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON oxwall.* TO 'oxwall'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

# install apache and php
#apt-get -y install apache2 libapache2-mod-php7.0
#apt-get -y install php7.0-gd php7.0-json php7.0-mbstring php7.0-xml php7.0-zip php7.0-curl php7.0-mysqlnd php7.0-pdo

apt-get -y install software-properties-common
add-apt-repository -y ppa:ondrej/php
apt-get update
apt-get -y install apache2 php5.6 libapache2-mod-php5.6 php5.6-gd php5.6-mbstring php5.6-xml php5.6-mysql php5.6-pdo php5.6-xml php5.6-zip


# install Oxwall
apt-get -y install unzip
mkdir -p /opt/oxwall
cd /opt/oxwall
wget http://developers.oxwall.com/dl/oxwall-1.8.4.1.zip
unzip oxwall-1.8.4.1.zip

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

        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted

EOF
a2enmod rewrite
systemctl restart apache2

echo 'access http://192.168.55.103/oxwall/'
SHELL
end

〇Oxwallの初期設定画面1


〇Oxwallの初期設定画面2


〇Oxwallの初期設定画面3


〇Oxwallの初期設定画面4


〇Oxwallの画面


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

RemminaはLinux上で動作するRemote Desktop Clientです。
以下のVagrantfileを使用して、Remmina、Xfce 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 = "ub1604xfceremmina"
  config.vm.network :public_network, ip:"192.168.1.114"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604xfceremmina"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install  xrdp fcitx-mozc xubuntu-desktop language-pack-ja
im-config -n fcitx

# install remmina
apt-get install software-properties-common
apt-add-repository ppa:remmina-ppa-team/remmina-next
apt-get update
apt-get -y install remmina remmina-plugin-rdp libfreerdp-plugins-standard

init 5
SHELL
end

〇Remminaの画面


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

以下のVagrantfileを使用して、boltとMySQLがインストールされた仮想マシンを構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604bolt"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604bolt"
     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
# 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 bolt DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER bolt@localhost IDENTIFIED BY 'bolt';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON bolt.* TO 'bolt'@'localhost';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON bolt.* TO 'bolt'@'%';"
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-intl

# install bolt
wget  https://bolt.cm/distribution/bolt-latest.tar.gz
tar -xzf bolt-latest.tar.gz
cd bolt-v3.4.1
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.1 /opt/bolt
chown -R www-data:www-data /opt/bolt

cat << EOF > /etc/apache2/sites-available/bolt.conf
<VirtualHost *:80>
    ServerName 192.168.55.105
    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.105/'
SHELL
end

〇boltの設定画面


〇boltの画面


VagrantでHumHubとMySQLをインストールした仮想マシン(Debian Stretch9.2)を構築する

HumHubを使用して、自分のソーシャルネットワークサービスを構築する事ができます。
以下のVagrantfileを使用して、HumHubとMySQLがインストールされた仮想マシン(Debian Stretch/9.2)を構築する事ができます。
仮想マシン構築後、ブラウザからhttp://192.168.1.105/humhub/にアクセスして初期設定を行います。
データベース名、データベースユーザ、パスワードはhumhubです。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.2"
  config.vm.hostname = "ub1604humhubmysql"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db92humhubmysql"
     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 humhub DEFAULT CHARACTER SET utf8;"
mysql -uroot -e "CREATE USER humhub@localhost IDENTIFIED BY 'humhub';"
mysql -uroot -e "GRANT ALL PRIVILEGES ON humhub.* TO 'humhub'@'localhost';"
mysql -uroot -e "FLUSH PRIVILEGES;"


# 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-pdo php7.0-curl php7.0-mbstring
apt-get -y install php7.0-mcrypt php7.0-xml php7.0-zip php7.0-intl

# install humhub
wget -O v1.2.4.tar.gz 'https://www.humhub.org/en/download/start?version=1.2.4&type=tar.gz&ee=0'
tar xvfz v1.2.4.tar.gz
mv humhub-1.2.4 /opt/humhub
chown -R www-data:www-data /opt/humhub
ln -s  /opt/humhub /var/www/html

service apache2 restart
echo 'access http://192.168.1.105/humhub/'
echo 'db user:humhub  password:humhub  db:humhub'
SHELL
end

〇HumHub初期設定画面1


〇HumHub初期設定画面2


〇HumHub初期設定画面3


〇HumHub初期設定画面4


〇HumHub初期設定画面5


〇HumHub初期設定画面6


〇HumHub初期設定画面7


〇HumHub初期設定画面8


〇HumHub初期設定画面9


〇HumHub初期設定画面10


〇HumHub画面