2017年10月31日火曜日

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

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

Vagrantflie
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74influxdb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74influxdb"
     vbox.cpus = 4
     vbox.memory = 4096
     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
# ダウンロードとインストール
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.3.6.x86_64.rpm
yum -y localinstall influxdb-1.3.6.x86_64.rpm
systemctl start influxdb.service

# 8086ポートでlistenするまで待つ.
while netstat -lnt | awk '$4 ~ /:8086$/ {exit 1}'; do sleep 10; done
sleep 10

# テスト実行
curl -XPOST "http://localhost:8086/query"; --data-urlencode "q=CREATE DATABASE mydb"
curl -XPOST "http://localhost:8086/write?db=mydb"; -d 'messages,tag=test value=100'
curl -XPOST "http://localhost:8086/write?db=mydb"; -d 'messages,tag=hello,target=world value=200'
curl -G "http://localhost:8086/query?pretty=true"; --data-urlencode "db=mydb" --data-urlencode "q=select * from messages"

SHELL
end


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

2017年10月30日月曜日

VagrantでRStudioとGnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS7.4)を構築する

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74rstudio"
  config.vm.network :public_network, ip:"192.168.1.111"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74rstudio"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
yum -y install wget

# 日本語のロケールを設定
localectl set-locale LANG=ja_JP.UTF-8

# GUIに関連するパッケージをインストール
sudo yum -y groupinstall "Server with GUI"
# 不要なダイアログを表示されないようにする
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

sudo systemctl set-default graphical.target

# いったんAutomatic Loginモードに変更
cp /etc/gdm/custom.conf /etc/gdm/custom.conf.org
cat << EOF > /etc/gdm/custom.conf
# GDM configuration storage

[daemon]
AutomaticLogin=vagrant
AutomaticLoginEnable=True
[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true
EOF
cat << EOF >> /home/vagrant/.bashrc
if [[ -v DISPLAY ]]; then
   setxkbmap jp -model jp106
fi
EOF
service gdm restart
sleep 10
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.input-sources sources \\"[('ibus', 'kkc'), ('xkb', 'us')]\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.wm.keybindings switch-input-source \\"['space']\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.settings-daemon.plugins.keyboard active false"

# Automatic Loginモード終了
cp -f /etc/gdm/custom.conf.org /etc/gdm/custom.conf
service gdm restart


# XRDPをインストールして、リモートデスクトップでログインできるようにする。
yum -y install epel-release
yum -y install xrdp tigervnc-server

chcon -t bin_t /usr/sbin/xrdp
chcon -t bin_t /usr/sbin/xrdp-sesman
sed -i "s/max_bpp=32/max_bpp=24/" /etc/xrdp/xrdp.ini
systemctl start xrdp.service
systemctl enable xrdp.service

# install R
yum -y install epel-release
yum -y install R
wget https://download1.rstudio.org/rstudio-1.1.383-x86_64.rpm
rpm -ivh rstudio-1.1.383-x86_64.rpm

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

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=sh -c "setxkbmap jp -model jp106 && /bin/rstudio"
Name=RStudio
Icon=/usr/lib/rstudio/www/images/favicon.ico
EOF
chmod +x /home/vagrant/デスクトップ/rstudio.desktop
chown vagrant:vagrant /home/vagrant/デスクトップ/rstudio.desktop

SHELL
end

RStudio起動後の画面



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

2017年10月29日日曜日

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

MonetDBはオープンソースのカラム指向のデータベースです。

仮想マシンの構築方法

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74monetdb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74monetdb"
     vbox.cpus = 4
     vbox.memory = 4096
     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
yum groupinstall "Development Tools"
yum -y install openssl-devel libxml2-devel pcre pcre-devel bison bison-devel

groupadd -g 2000 monetdb
useradd -u 2000 -g 2000 monetdb

# ソースの取得とコンパイル
wget https://www.monetdb.org/downloads/sources/Jul2017-SP1/MonetDB-11.27.5.tar.bz2
tar jxvf MonetDB-11.27.5.tar.bz2
cd MonetDB-11.27.5
./configure --prefix=/opt/monetdb
make
make install
mkdir -p /opt/monetdb/var/log/monetdb
mkdir -p /opt/monetdb/var/run/monetdb
chown -R monetdb:monetdb /opt/monetdb

# サービスとして登録
cp  /opt/monetdb/lib/systemd/system/monetdbd.service /etc/systemd/system
systemctl enable monetdbd
systemctl start monetdbd

# 初期化とテスト実行
/opt/monetdb/bin/monetdb create testdb
/opt/monetdb/bin/monetdb start testdb
/opt/monetdb/bin/mclient -d testdb
cat << EOF > /home/vagrant/.monetdb
user=monetdb
password=monetdb
language=sql
save_history=true
EOF
/opt/monetdb/bin/mclient -d testdb
sudo -u vagrant /opt/monetdb/bin/mclient -d testdb -s 'create table test1 (message_id integer, message varchar(100))'
sudo -u vagrant /opt/monetdb/bin/mclient -d testdb -s "insert into test1 values (100, 'hello world\\!')"
sudo -u vagrant /opt/monetdb/bin/mclient -d testdb -s "select * from test1"

SHELL
end

関連情報

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

・プロジェクトgithubリポジトリ
https://github.com/MonetDB/MonetDB

2017年10月28日土曜日

VagrantでSeaMonkeyとGnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS7.4)を構築する

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74seamonkey"
  config.vm.network :public_network, ip:"192.168.1.111"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74seamonkey"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
yum -y install wget

# 日本語のロケールを設定
localectl set-locale LANG=ja_JP.UTF-8

# GUIに関連するパッケージをインストール
sudo yum -y groupinstall "Server with GUI"
# 不要なダイアログを表示されないようにする
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

sudo systemctl set-default graphical.target

# いったんAutomatic Loginモードに変更
cp /etc/gdm/custom.conf /etc/gdm/custom.conf.org
cat << EOF > /etc/gdm/custom.conf
# GDM configuration storage

[daemon]
AutomaticLogin=vagrant
AutomaticLoginEnable=True
[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true
EOF
cat << EOF >> /home/vagrant/.bashrc
if [[ -v DISPLAY ]]; then
   setxkbmap jp -model jp106
fi
EOF
service gdm restart
sleep 10
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.input-sources sources \\"[('ibus', 'kkc'), ('xkb', 'us')]\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.wm.keybindings switch-input-source \\"['space']\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.settings-daemon.plugins.keyboard active false"

# Automatic Loginモード終了
cp -f /etc/gdm/custom.conf.org /etc/gdm/custom.conf
service gdm restart


# XRDPをインストールして、リモートデスクトップでログインできるようにする。
yum -y install epel-release
yum -y install xrdp tigervnc-server

chcon -t bin_t /usr/sbin/xrdp
chcon -t bin_t /usr/sbin/xrdp-sesman
sed -i "s/max_bpp=32/max_bpp=24/" /etc/xrdp/xrdp.ini
systemctl start xrdp.service
systemctl enable xrdp.service


wget -O seamonkey.tar.bz2 'https://download.mozilla.org/?product=seamonkey-2.48&os=linux&lang=ja'
tar jxvf seamonkey.tar.bz2
yum -y install glibc.i686 libstdc++.i686 
yum -y install dbus-glib.i686
yum -y install libXcomposite.i686
yum -y install gpm-libs.i686 alsa-lib.i686
yum -y install gtk2.i686
yum -y install libXt.i686

mv seamonkey /usr/local/

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

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/seamonkey/seamonkey
Name=SeaMonkey
Icon=/usr/local/seamonkey/chrome/icons/default/default.png
EOF
chmod +x /home/vagrant/デスクトップ/seamonkey.desktop
chown vagrant:vagrant /home/vagrant/デスクトップ/seamonkey.desktop

SHELL
end

SeaMonkey起動後の画面

2017年10月27日金曜日

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

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74dbeaver"
  config.vm.network :public_network, ip:"192.168.1.117"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74dbeaver"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
yum -y install wget

# 日本語のロケールを設定
localectl set-locale LANG=ja_JP.UTF-8

# GUIに関連するパッケージをインストール
sudo yum -y groupinstall "Server with GUI"
# 不要なダイアログを表示されないようにする
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

sudo systemctl set-default graphical.target

# いったんAutomatic Loginモードに変更
cp /etc/gdm/custom.conf /etc/gdm/custom.conf.org
cat << EOF > /etc/gdm/custom.conf
# GDM configuration storage

[daemon]
AutomaticLogin=vagrant
AutomaticLoginEnable=True
[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true
EOF
cat << EOF >> /home/vagrant/.bashrc
if [[ -v DISPLAY ]]; then
   setxkbmap jp -model jp106
fi
EOF
service gdm restart
sleep 10
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.input-sources sources \\"[('ibus', 'kkc'), ('xkb', 'us')]\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.wm.keybindings switch-input-source \\"['space']\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.settings-daemon.plugins.keyboard active false"

# Automatic Loginモード終了
cp -f /etc/gdm/custom.conf.org /etc/gdm/custom.conf
service gdm restart


# XRDPをインストールして、リモートデスクトップでログインできるようにする。
yum -y install epel-release
yum -y install xrdp tigervnc-server

chcon -t bin_t /usr/sbin/xrdp
chcon -t bin_t /usr/sbin/xrdp-sesman
sed -i "s/max_bpp=32/max_bpp=24/" /etc/xrdp/xrdp.ini
systemctl start xrdp.service
systemctl enable xrdp.service

# install java
yum -y install java-1.8.0-openjdk

# install dbeaver
wget https://dbeaver.jkiss.org/files/dbeaver-ce-latest-stable.x86_64.rpm
rpm -ivh dbeaver-ce-latest-stable.x86_64.rpm

# 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

SHELL
end

○デスクトップ画面


○DBeaver起動後の画面


2017年10月26日木曜日

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

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74moinmoin"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74moinmoin"
     vbox.cpus = 2
     vbox.memory = 1024
     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
yum -y install epel-release
yum -y install httpd mod_wsgi
wget http://static.moinmo.in/files/moin-1.9.9.tar.gz
tar xvfz moin-1.9.9.tar.gz

cd moin-1.9.9
python setup.py install --force --prefix /usr/local --record=install.log
cd /usr/local/share/moin
cp server/moin.wsgi .
cp config/wikiconfig.py  .

cat << EOF > /etc/httpd/conf.d/moinmoin.conf
<VirtualHost *>
  ServerName co74moinmoin

  WSGIDaemonProcess moin processes=1 threads=25
  WSGIScriptAlias / /usr/local/share/moin/moin.wsgi
  <Directory "/usr/local/share/moin/">
    WSGIProcessGroup moin
    WSGIApplicationGroup %{GLOBAL}
    Require all granted
  </Directory>
</VirtualHost>
EOF

sed -i -e "s|#sys.path.insert(0, 'PREFIX/lib/python2.7/site-packages')|sys.path.insert(0, '/usr/local/lib/python2.7/site-packages')|" /usr/local/share/moin/moin.wsgi
sed -i -e "s|#sys.path.insert(0, '/path/to/farmconfigdir')|sys.path.insert(0, '/usr/local/share/moin')|" /usr/local/share/moin/moin.wsgi

cat << EOF >> /usr/local/share/moin/wikiconfig.py
page_front_page = u"FrontPage"
superuser = [u"wikiadmin", ]
EOF

cd /usr/local/share
chown -R apache:apache moin
chmod -R ug+rwX moin
chmod -R o-rwx moin

systemctl restart httpd

echo 'access to http://192.168.55.103/';
SHELL
end

moinmoinの初期画面



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

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

2017年10月25日水曜日

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

以下のVagrantfileを使用して、minioをインストールした仮想マシンを構築する事ができます。
仮想マシン構築後、sshでログインしてCLIのmcコマンドを使用したり、ブラウザからhttp://192.168.55.109:9000/でwebインターフェイスにアクセスできます。
accessKeyとsecretKeyは仮想マシン構築時に表示されます。

仮想マシンの構築方法

以下のVagrantfileを使用して仮想マシンを構築します。
Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74minio"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74minio"
     vbox.cpus = 2
     vbox.memory = 1024
     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
# download & install minio
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod +x minio
wget https://dl.minio.io/client/mc/release/linux-amd64/mc
chmod +x mc
mkdir -p /opt/minio/data
mv minio /opt/minio
mv mc /opt/minio
cat << EOF > /etc/systemd/system/minio.service
[Unit]
Description=minio

[Service]
Type=simple
ExecStart=/opt/minio/minio server /opt/minio/data
WorkingDirectory=/opt/minio

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

# minioクライアント初期設定
export accessKey=`grep accessKey /root/.minio/config.json | sed -e 's/"//g' | sed -e 's/,//g' | sed -e 's/\t\taccessKey: //g'`
export secretKey=`grep secretKey /root/.minio/config.json | sed -e 's/"//g' | sed -e 's/,//g' | sed -e 's/\t\tsecretKey: //g'`
/opt/minio/mc config host add local http://localhost:9000 $accessKey $secretKey
echo "accessKey -> $accessKey"
echo "secretKey -> $secretKey"

cd /opt/minio/data
# バケットの作成
/opt/minio/mc mb sample
# コンテンツの追加
/opt/minio/mc cp /vagrant/vagrantfile sample
/opt/minio/mc ls sample

echo 'access to http://192.168.55.109:9000/';
SHELL
end

minioのログイン画面


minioのログイン後の画面



関連情報

・Minioのgithubリポジトリ
https://github.com/minio/minio

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

2017年10月24日火曜日

VagrantでPosgreSQL9.6とpgAdmin4v2がインストールされた仮想マシン(CentOS7.4)を構築する

以下のVagrantfileを使用して、PostgreSQLとpgAdmin4v2がインストールされた仮想マシンを構築する事が出来ます。
仮想マシンの構築後、http://192.168.55.108/でpgAdminにアクセスできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74pg96pgadmin4"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74pg96pgadmin4"
     vbox.cpus = 2
     vbox.memory = 1024
     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

# download and install postgresql.
wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
rpm -Uvh pgdg-centos96-9.6-3.noarch.rpm

yum -y update
yum -y install postgresql96-server postgresql96-devel postgresql96-contrib
systemctl enable postgresql-9.6

# initialize postgresql server
/usr/pgsql-9.6/bin/postgresql96-setup initdb

echo "listen_addresses='*'" >> /var/lib/pgsql/9.6/data/postgresql.conf
echo "standard_conforming_strings=off" >> /var/lib/pgsql/9.6/data/postgresql.conf

sed -i 's/host.*all.*all.*127.0.0.1/#host    all             all             127.0.0.1/g' /var/lib/pgsql/9.6/data/pg_hba.conf

echo "host    all         all         127.0.0.1/32          password" >> /var/lib/pgsql/9.6/data/pg_hba.conf
echo "host    all         all         192.168.1.0/24          password" >> /var/lib/pgsql/9.6/data/pg_hba.conf
echo "host    all         all         192.168.55.0/24          password" >> /var/lib/pgsql/9.6/data/pg_hba.conf
systemctl start postgresql-9.6.service

# create users and databases...
su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user dwh with password 'dwh';
"
EOF
export PGPASSWD=psotgres

systemctl restart postgresql-9.5.service
su - postgres << EOF
createdb dwh
psql -c "
alter database dwh owner to dwh;
"
EOF

yum -y install epel-release
yum -y install pgadmin4-v2

cat << EOF >> /usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py
LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
EOF

cd /usr/lib/python2.7/site-packages/pgadmin4-web
cat << EOF | python setup.py
admin@localhost
adminpass
adminpass
EOF
chown -R apache:apache /var/lib/pgadmin4
chown -R apache:apache /var/log/pgadmin4

cat << EOF > /etc/httpd/conf.d/pgadmin4-v2.conf
<VirtualHost *>
  ServerName co74pg96pgadmin4

  WSGIDaemonProcess pgadmin processes=1 threads=25
  WSGIScriptAlias / /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi
 
  <Directory "/usr/lib/python2.7/site-packages/pgadmin4-web/">
    WSGIProcessGroup pgadmin
    WSGIApplicationGroup %{GLOBAL}
    Require all granted
  </Directory>
</VirtualHost>
EOF

systemctl restart httpd
echo 'access to http://192.168.55.108/'
SHELL
end

○ログイン画面


○ログイン後の画面


2017年10月23日月曜日

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

以下のVagrantfileを使用してResourceSpaceがインストールされた仮想マシンを構築する事が出来ます。
仮想マシンが構築された後、http://192.168.55.105/resourcespace/にアクセスして初期設定します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

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

# install ResourceSpace
echo "postfix postfix/main_mailer_type        select  Local only\n" \
"postfix postfix/mailname        string  ub1604resourcespace" | debconf-set-selections

apt-get -y install apache2-bin libapache2-mod-php7.0 php7.0-gd php7.0-mysql php7.0-mbstring php7.0-bcmath php7.0-json php7.0-snmp
apt-get -y install apache2 mysql-server php7.0 php7.0-dev php7.0-gd php7.0-mysql php-mbstring php-zip libapache2-mod-php subversion
apt-get -y install imagemagick
apt-get -y install ghostscript antiword xpdf libav-tools postfix libimage-exiftool-perl cron wget 

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 apache2 restart


cat << EOF >> /etc/cron.daily/resourcespace
#!/bin/sh
wget -q -r http://localhost/pages/tools/cron_copy_hitcount.php
EOF

service apache2 restart

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

○初期設定画面1


○初期設定画面2


○初期設定画面3


○ログイン画面


○ログイン後の画面


2017年10月22日日曜日

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

以下のVagrantfileを使用して、MODX evolutionとmysqlをインストールした仮想マシンを構築する事ができます。
仮想マシンを構築後、http://192.168.55.104/evolution/にアクセスして初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

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

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

# turn off strict mode
echo "sql_mode=ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" >> /etc/mysql/mysql.conf.d/mysqld.cnf

systemctl restart mysql

# install apache2
apt-get -y install apache2-bin libapache2-mod-php7.0 php7.0-gd php7.0-mysql php7.0-mbstring 
apt-get -y install unzip

# install modx evolution
wget https://modx.com/download/direct?id=evolution-1.2.1.zip -O evolution-1.2.1.zip
unzip evolution-1.2.1.zip
chown -R www-data:www-data ./evolution-1.2.1

mv evolution-1.2.1 /opt/evolution
ln -s  /opt/evolution /var/www/html

service apache2 restart

echo 'access http://192.168.55.104/evolution/';
echo 'db: modx  user: modx  password:modx'
SHELL
end

初期設定画面1


初期設定画面2


初期設定画面3


初期設定画面4


初期設定画面5


初期設定画面6


初期設定画面7


初期設定画面8


初期設定画面9


ログイン画面


ログイン後の画面



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

2017年10月21日土曜日

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

以下のVagrantfileを使用して、Apache Kafkaがインストールされた仮想マシンを構築する事が出来ます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74kafka"
  config.vm.network :public_network, ip:"192.168.1.117"
  config.vm.network "private_network", ip: "192.168.55.117", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
    vbox.name = "co74kafka"
    vbox.cpus = 2
    vbox.memory = 2048
    vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.provision "shell", inline: <<-SHELL

# install OpenJDK8
yum -y install java-1.8.0-openjdk

# install kafka
wget http://ftp.riken.jp/net/apache/kafka/0.11.0.1/kafka_2.11-0.11.0.1.tgz
tar xvfz kafka_2.11-0.11.0.1.tgz
mv kafka_2.11-0.11.0.1 /opt

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

[Service]
Type=simple
ExecStart=/opt/kafka_2.11-0.11.0.1/bin/zookeeper-server-start.sh /opt/kafka_2.11-0.11.0.1/config/zookeeper.properties
ExecStop=/opt/kafka_2.11-0.11.0.1/bin/zookeeper-server-stop.sh

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

cat << EOF > /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
Requires=network.target
After=zookeepepr.service

[Service]
Type=simple
ExecStart=/opt/kafka_2.11-0.11.0.1/bin/kafka-server-start.sh /opt/kafka_2.11-0.11.0.1/config/server.properties
ExecStop=/opt/kafka_2.11-0.11.0.1/bin/kafka-server-stop.sh

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

# 2181ポートでlistenするまで待つ.
while netstat -lnt | awk '$4 ~ /:2181$/ {exit 1}'; do sleep 10; done
sleep 10

# テスト用トピックを作成
/opt/kafka_2.11-0.11.0.1/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

# メッセージを送る
/opt/kafka_2.11-0.11.0.1/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test << EOF
Hello Kafka!
EOF

# メッセージを取得
/opt/kafka_2.11-0.11.0.1/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --max-messages 1

SHELL
end


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

2017年10月20日金曜日

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

以下のVagrantfileを使用して、RethinkDBをインストールした仮想マシンを構築することができます。
仮想マシンを構築後、http://192.168.55.116:8080/でダッシュボードにアクセスできます。

Vagratfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74rethinkdb"
  config.vm.network :public_network, ip:"192.168.1.116"
  config.vm.network "private_network", ip: "192.168.55.116", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
    vbox.name = "co74rethinkdb"
    vbox.cpus = 4
    vbox.memory = 4096
    vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.provision "shell", inline: <<-SHELL
wget http://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
yum update
yum -y install rethinkdb

cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/instance1.conf

mkdir -p /opt/rethinkdb
cd /opt/rethinkdb
rethinkdb create -d "rethinkdb_data"
chown -R rethinkdb:rethinkdb /opt/rethinkdb

cat << EOF > /etc/systemd/system/rethinkdb.service
[Unit]
Description=RethinkDB database server'

[Service]
User=rethinkdb
Group=rethinkdb
ExecStart=/usr/bin/rethinkdb serve --config-file /etc/rethinkdb/instances.d/instance1.conf --bind all
WorkingDirectory=/opt/rethinkdb
KillMode=process
PrivateTmp=true

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

SHELL
end

RethinkDBのダッシュボード画面


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

2017年10月19日木曜日

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

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74redis"
  config.vm.network :public_network, ip:"192.168.1.116"
  config.vm.network "private_network", ip: "192.168.55.116", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
    vbox.name = "co74redis"
    vbox.cpus = 4
    vbox.memory = 4096
    vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.provision "shell", inline: <<-SHELL
yum -y install epel-release
yum update
yum -y install redis
systemctl enable redis
systemctl start redis

# 動作確認
redis-cli << EOF
ping
flushall
set mykey "hello world."
get mykey
EOF

SHELL
end

2017年10月18日水曜日

Vagrantでeclipse oxygenとGnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS7.4)を構築する

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74eclipse"
  config.vm.network :public_network, ip:"192.168.1.117"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74eclipse"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
yum -y install wget

# 日本語のロケールを設定
localectl set-locale LANG=ja_JP.UTF-8

# GUIに関連するパッケージをインストール
sudo yum -y groupinstall "Server with GUI"
# 不要なダイアログを表示されないようにする
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

sudo systemctl set-default graphical.target

# いったんAutomatic Loginモードに変更
cp /etc/gdm/custom.conf /etc/gdm/custom.conf.org
cat << EOF > /etc/gdm/custom.conf
# GDM configuration storage

[daemon]
AutomaticLogin=vagrant
AutomaticLoginEnable=True
[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true
EOF
cat << EOF >> /home/vagrant/.bashrc
if [[ -v DISPLAY ]]; then
   setxkbmap jp -model jp106
fi
EOF
service gdm restart
sleep 10
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.input-sources sources \\"[('ibus', 'kkc'), ('xkb', 'us')]\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.wm.keybindings switch-input-source \\"['space']\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.settings-daemon.plugins.keyboard active false"

# Automatic Loginモード終了
cp -f /etc/gdm/custom.conf.org /etc/gdm/custom.conf
service gdm restart


# XRDPをインストールして、リモートデスクトップでログインできるようにする。
yum -y install epel-release
yum -y install xrdp tigervnc-server

chcon -t bin_t /usr/sbin/xrdp
chcon -t bin_t /usr/sbin/xrdp-sesman
sed -i "s/max_bpp=32/max_bpp=24/" /etc/xrdp/xrdp.ini
systemctl start xrdp.service
systemctl enable xrdp.service

# install java
yum -y install java-1.8.0-openjdk

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
mv eclipse /opt

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

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=sh -c "setxkbmap jp -model jp106 && /opt/eclipse/eclipse"
Name=eclipse
EOF
chmod +x /home/vagrant/デスクトップ/eclipse.desktop
chown vagrant:vagrant /home/vagrant/デスクトップ/eclipse.desktop
SHELL
end

eclipse起動後の画面


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

2017年10月17日火曜日

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

以下のVagrantfileを使用してmonitをインストールした仮想マシンを構築する事ができます。
仮想マシンを構築した後、ブラウザからmonit service managerにhttp://192.168.55.109:2812/でアクセスできます。
ユーザ名はadmin、パスワードにmonitを指定します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74monit"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74monit"
     vbox.cpus = 2
     vbox.memory = 1024
     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
# install monit
yum -y install epel-release
yum -y install monit

# configure settings for web interface
sed -i -e 's/use address localhost/use address 192.168.55.109/' /etc/monitrc
sed -i -e 's#allow localhost#allow 192.168.55.0/24#' /etc/monitrc
systemctl enable monit
systemctl start monit

echo 'access http://192.168.55.109:2812/';;
echo 'user: admin   password: monit'
SHELL
end

monit service managerの画面

2017年10月16日月曜日

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

TalendはオープンソースのETLソフトウェアです。

仮想マシンの構築方法

以下のVagrantfileを使用して、Talend Open Studio for Data IntegrationとGnome Desktop環境、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/centos-7.4"
  config.vm.hostname = "co74tosdi641"
  config.vm.network :public_network, ip:"192.168.1.117"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74tosdi641"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
yum -y install wget

# 日本語のロケールを設定
localectl set-locale LANG=ja_JP.UTF-8

# GUIに関連するパッケージをインストール
sudo yum -y groupinstall "Server with GUI"
# 不要なダイアログを表示されないようにする
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

sudo systemctl set-default graphical.target

# いったんAutomatic Loginモードに変更
cp /etc/gdm/custom.conf /etc/gdm/custom.conf.org
cat << EOF > /etc/gdm/custom.conf
# GDM configuration storage

[daemon]
AutomaticLogin=vagrant
AutomaticLoginEnable=True
[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true
EOF
cat << EOF >> /home/vagrant/.bashrc
if [[ -v DISPLAY ]]; then
   setxkbmap jp -model jp106
fi
EOF
service gdm restart
sleep 10
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.input-sources sources \\"[('ibus', 'kkc'), ('xkb', 'us')]\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.wm.keybindings switch-input-source \\"['space']\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.settings-daemon.plugins.keyboard active false"

# Automatic Loginモード終了
cp -f /etc/gdm/custom.conf.org /etc/gdm/custom.conf
service gdm restart


# XRDPをインストールして、リモートデスクトップでログインできるようにする。
yum -y install epel-release
yum -y install xrdp tigervnc-server

chcon -t bin_t /usr/sbin/xrdp
chcon -t bin_t /usr/sbin/xrdp-sesman
sed -i "s/max_bpp=32/max_bpp=24/" /etc/xrdp/xrdp.ini
systemctl start xrdp.service
systemctl enable xrdp.service

# install java
yum -y install java-1.8.0-openjdk


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=sh -c "setxkbmap jp -model jp106 && /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

telinit 5
SHELL
end

Talend Open Studio for Data Integration起動後の画面

関連情報

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

2017年10月15日日曜日

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

以下のVagrantfileを使用して1ノード構成のCassandraを構築することができます。
インストールと合わせて認証の設定とテストテーブルの作成・選択も実行します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74cassandra"
  config.vm.network :public_network, ip:"192.168.1.116"
  config.vm.network "private_network", ip: "192.168.55.116", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
    vbox.name = "co74cassandra"
    vbox.cpus = 4
    vbox.memory = 4096
    vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.provision "shell", inline: <<-SHELL
# cassandraのインストール
cat << EOF > /etc/yum.repos.d/cassandra.repo
[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
EOF
yum install -y cassandra

# 認証の構成
sed -i -e 's/authenticator: AllowAllAuthenticator/authenticator: PasswordAuthenticator/' /etc/cassandra/default.conf/cassandra.yaml
systemctl enable cassandra.service
systemctl start cassandra.service

# テスト実行
cat << EOF > /home/vagrant/sample.cql
create keyspace mykeyspace with replication = {'class':'SimpleStrategy', 'replication_factor':1};
use mykeyspace;
create table mytable (
name text PRIMARY KEY,
value text
);
insert into mytable (name, value) values ('test1', 'cassandra');
select * from mytable;
EOF

# 9042ポートでlistenするまで待つ.
while netstat -lnt | awk '$4 ~ /:9042$/ {exit 1}'; do sleep 10; done
sleep 10

cqlsh -u cassandra -p cassandra -f /home/vagrant/sample.cql

SHELL
end


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

2017年10月14日土曜日

Docker - Raspberry Pi上のDockerでMySQLがインストールされたイメージを構築する

以下のDockerfileとsetupdb.shを使用して、Raspberry Pi上のDocker CEで動作するSQLのイメージが作成できます。

Dockerfile
FROM resin/raspberry-pi-alpine:3.6
COPY ./setupdb.sh /
RUN apk --no-cache add mariadb mariadb-client \
  && addgroup mysql mysql \
  && chmod +x /setupdb.sh
VOLUME /var/lib/mysql
EXPOSE 3306
ENTRYPOINT ["/setupdb.sh"]

setupdb.sh
#!/bin/sh
if [ ! -d "/run/mysqld" ]; then
  mkdir -p /run/mysqld
  chown -R mysql:mysql /run/mysqld
fi
if [ ! -e /usr/my.cnf ]; then
  cat << EOF > /usr/my.cnf
[mysqld]
datadir=/var/lib/mysql
log-bin = /var/lib/mysql/mysql-bin
port = 3306
user = mysql
symbolic-links=0
character-set-server = utf8
pid-file=/run/mysqld/mysqld.pid
EOF
  chown -R mysql:mysql /var/lib/mysql
  mysql_install_db --user=mysql
  nohup /bin/sh /usr/bin/mysqld_safe \
    --datadir=/var/lib/mysql \
    --socket=/run/mysqld/mysqld.sock \
    --pid-file=/run/mysqld/mysqld.pid \
    --basedir=/usr \
    --user=mysql \
    --skip-grant-tables \
    --skip-networking &
  while :
  do
    [ -r /run/mysqld/mysqld.pid ] || continue
    if ps -ef | grep -q $(cat /run/mysqld/mysqld.pid) ; then
        break
    fi
    sleep 10
  done
  cat << EOF > /tmp/setupdb.sql
USE mysql;
UPDATE mysql.user SET Password=PASSWORD('root') WHERE User='root';
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
FLUSH PRIVILEGES;
CREATE DATABASE docker DEFAULT CHARACTER SET utf8;
CREATE USER 'docker'@'localhost' IDENTIFIED BY 'docker';
CREATE USER 'docker'@'%' IDENTIFIED BY 'docker';
GRANT ALL PRIVILEGES ON docker.* TO 'docker'@'localhost';
GRANT ALL PRIVILEGES ON docker.* TO 'docker'@'%';
FLUSH PRIVILEGES;
EOF
  /usr/bin/mysql < /tmp/setupdb.sql
  kill `cat /run/mysqld/mysqld.pid`
  sleep 10
fi
exec /usr/bin/mysqld --defaults-file=/usr/my.cnf --console --user=mysql

○データを保持するnamed volumeを作成する
docker volume create mariadata

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

○コンテナの実行
docker run --rm -dit -p 3306:3306 -v mariadata:/var/lib/mysql rpi-maria

○named volumeの使用サイズを調べる
docker system df -v
※Local Volumes space usageセクションの後に使用サイズが表示されます
○補足
動作環境 Raspberry Pi 3 Model B / Raspbian GNU/Linux 9 (stretch) / Docker 17.05.0-ce
Dockerイメージサイズ 209MB


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

2017年10月13日金曜日

VagrantでKDEとXRDPがインストールされた仮想マシン(CentOS7.4)を構築する

以下のVagrantfileを使用してKDEとXRDPがインストールされた仮想マシンを構築する事ができます。
XRDPがインストールされているので、リモートデスクトップで接続することができます。
ユーザ名はvagrant、パスワードはvagrantでアクセスします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74kde"
  config.vm.network :public_network, ip:"192.168.1.115"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74kde"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
yum -y install wget

# KDEに関連するパッケージをインストール
sudo yum -y groupinstall "KDE Plasma Workspaces"
systemctl disable initial-setup-graphical.service

sudo systemctl set-default graphical.target

# 日本語のロケールを設定
sudo yum -y install ibus-kkc vlgothic-*
localectl set-locale LANG=ja_JP.UTF-8

# XRDPをインストールして、リモートデスクトップでログインできるようにする。
sudo yum -y install epel-release
sudo yum -y install xrdp
sudo yum -y install tigervnc-server

sudo sed -i "s/max_bpp=32/max_bpp=24/" /etc/xrdp/xrdp.ini
systemctl start xrdp.service
systemctl enable xrdp.service

init 5
SHELL
end

ログオン後の画面

2017年10月12日木曜日

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

以下のVagrantfileを使用して、muninをインストールした仮想マシンを構築できます。
仮想マシンを構築後、しばらくしてからhttp://192.168.55.108/munin/にアクセスします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74munin"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74munin"
     vbox.cpus = 2
     vbox.memory = 1024
     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
# install munin
yum -y install epel-release
yum -y install munin munin-node httpd
htpasswd -b -c /etc/munin/munin-htpasswd admin admin

sed -i -e 's/#dbdir/dbdir/' /etc/munin/munin.conf
sed -i -e 's/#htmldir/htmldir/' /etc/munin/munin.conf
sed -i -e 's/#logdir/logdir/' /etc/munin/munin.conf
sed -i -e 's/#rundir/rundir/' /etc/munin/munin.conf

systemctl enable munin-node
systemctl start munin-node
systemctl enable httpd
systemctl restart httpd

echo 'access http://192.168.55.108/munin/';
echo 'user:admin   password:admin'
echo 'cronが動作するまで403 Forbiddenが表示されます'
SHELL

end

muninのスクリーンショット

2017年10月11日水曜日

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

以下のVagrantfileを使用して、pydio community editionとPostgreSQLがインストールされた仮想マシンを構築する事ができます。
仮想マシンを構築後、ブラウザでhttp://192.168.55.105/pydio/にアクセスして診断画面、Setup Wizardで初期設定を行います。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604pydio"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604pydio"
     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
apt-get -y install unzip
locale-gen ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
# install postgresql
apt-get -y install postgresql
echo "listen_addresses='*'" >> /etc/postgresql/9.5/main/postgresql.conf
echo "host    all         all         127.0.0.1/32          password" >> /etc/postgresql/9.5/main/pg_hba.conf
echo "host    all         all         192.168.1.0/24          password" >> /etc/postgresql/9.5/main/pg_hba.conf
echo "host    all         all         192.168.55.0/24          password" >> /etc/postgresql/9.5/main/pg_hba.conf
su - postgres << EOF
createdb -T template0 --locale=ja_JP.UTF-8 --encoding=UTF8 pydio
psql -c "
ALTER DATABASE pydio SET bytea_output = 'escape';
alter user postgres with password 'postgres';
create user pydio with password 'pydio';
grant all privileges on database pydio to pydio;
"
EOF
echo "postgres:postgres" | chpasswd
systemctl restart postgresql.service
systemctl enable postgresql.service
# download pydio-core
wget https://download.pydio.com/pub/core/archives/pydio-core-8.0.1.tar.gz
tar xvfz pydio-core-8.0.1.tar.gz
# install apache and php
apt-get -y install php7.0 libapache2-mod-php7.0 apache2 php7.0-sqlite sqlite php7.0-gd php7.0-mcrypt php7.0-xml php7.0-intl php7.0-pgsql
mv pydio-core-8.0.1/ /opt/pydio
chown -R www-data:www-data /opt/pydio
sudo ln -s /opt/pydio /var/www/html/
sed -i -e 's/output_buffering = 4096/output_buffering = off/'  /etc/php/7.0/apache2/php.ini
cat << EOF >> /etc/apache2/apache2.conf

    AllowOverride All
    Options All
    Require all granted

EOF
a2enmod rewrite
service apache2 restart
echo "access http://192.168.55.105/pydio/"
SHELL
end

1.インストール後の診断画面


2.Setup Wizardの画面1


3.Setup Wizardの画面2


4.Setup Wizardの画面3


5.Setup Wizardの画面4


6.Setup Wizardの画面5


7.ログイン画面


8.ログイン後の画面


2017年10月10日火曜日

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

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604webmin"
  config.vm.network :public_network, ip:"192.168.1.113"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604webmin"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get -y install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.850_all.deb
dpkg --install webmin_1.850_all.deb
echo 'access to https://192.168.1.113:10000/';
echo 'user: vagrant   password: vagrant'
SHELL
end

webminのログイン画面


webminのログイン後の画面



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

2017年10月9日月曜日

VagrantでXFCEデスクトップ環境とXRDPがインストールされた仮想マシン(Ubuntu16.04)を構築する

以下のVagrantfileを使用して、XFCEデスクトップ環境とXRDPをインストールした仮想マシンを構築する事ができます。
XRDPがインストールされているので、リモートデスクトップで接続することができます。
ユーザ名はvagrant、パスワードはvagrantでアクセスします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

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

ログイン画面


ログイン後のデスクトップ画面


2017年10月8日日曜日

Raspberry Pi上のDockerでPostgreSQLがインストールされたイメージを構築する

以下のDockerfileを使用して、Raspberry Pi上のDocker CEで動作するPostgreSQLのイメージが作成できます。
作成したいデータベース、ユーザやネットワークの設定は適宜変更します。

Dockerfile
FROM resin/raspberry-pi-alpine:3.6
ENV LANG=ja_JP.utf8 \
    PGDATA=/var/lib/postgresql/data
RUN apk --no-cache add postgresql sudo \
  && mkdir -p "$PGDATA" \
  && chown -R postgres "$PGDATA" \
  && chmod 700 "$PGDATA" \
  && mkdir -p /run/postgresql \
  && chown -R postgres /run/postgresql \
  && chmod 775 /run/postgresql \
  && sudo -u postgres initdb --encoding=UTF8 --no-locale -D "$PGDATA" \
  && sudo -u postgres pg_ctl -D "$PGDATA" -o "-c listen_addresses='localhost'" -w start \
  && echo $'CREATE USER docker; \
  ALTER USER docker WITH PASSWORD '\''docker'\''; \
  CREATE DATABASE docker; \
  GRANT ALL PRIVILEGES ON DATABASE docker TO docker;' > /tmp/setupdb.sh \
  && psql --username postgres -f /tmp/setupdb.sh \
  && sudo -u postgres pg_ctl -D "$PGDATA" -m fast -w stop \
  && rm /tmp/setupdb.sh \
  && echo "listen_addresses = '*'" >> /var/lib/postgresql/data/postgresql.conf \
  && echo "port = 5432" >> /var/lib/postgresql/data/postgresql.conf \
  && echo "host    all         all         192.168.1.0/24          password" >> /var/lib/postgresql/data/pg_hba.conf
VOLUME /var/lib/postgresql/data
EXPOSE 5432
CMD ["sudo", "-u", "postgres", "postgres", "-D", "/var/lib/postgresql/data"]

○データを保持するnamed volumeを作成する
docker volume create dbdata

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

○コンテナの実行
docker run --rm -dit -p 5432:5432 -v dbdata:/var/lib/postgresql/data rpi-pg

○named volumeの使用サイズを調べる
docker system df -v
※Local Volumes space usageセクションの後に使用サイズが表示されます

○補足
動作環境 Raspberry Pi 3 Model B / Raspbian GNU/Linux 9 (stretch) / Docker 17.05.0-ce
Dockerイメージサイズ 101MB

○関連情報
Raspberry Pi上のDockerでphpPgAdminのイメージを構築する
Raspbian GNU/Linux 9 (stretch)上にDocker CEをインストールする

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

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604liferay"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604liferay"
     vbox.cpus = 4
     vbox.memory = 8192
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  # private network
  config.vm.network "private_network", ip: "192.168.55.110", :netmask => "255.255.255.0"
  # bridge netwrok
  config.vm.network "public_network", ip: "192.168.1.110", :netmask => "255.255.255.0"
  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 unzip

# javaをインストール
apt-get -y install openjdk-8-jdk

# Liferayのダウンロード
wget "https://downloads.sourceforge.net/project/lportal/Liferay%20Portal/7.0.3%20GA4/liferay-ce-portal-tomcat-7.0-ga4-20170613175008905.zip";
unzip liferay-ce-portal-tomcat-7.0-ga4-20170613175008905.zip
chmod +x ./liferay-ce-portal-7.0-ga4/tomcat-8.0.32/bin/startup.sh
chmod +x ./liferay-ce-portal-7.0-ga4/tomcat-8.0.32/bin/shutdown.sh

mv ./liferay-ce-portal-7.0-ga4 /opt
cat << EOF > /etc/systemd/system/liferay.service
[Unit]
Description=Lifelay
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/liferay-ce-portal-7.0-ga4/tomcat-8.0.32/bin/startup.sh
ExecStop=/opt/liferay-ce-portal-7.0-ga4/tomcat-8.0.32/bin/shutdown.sh
KillMode=none

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

echo 'access url -> http://192.168.1.110:8080/';

SHELL
end

Liferayの初期セットアップ画面


Liferayにログイン後の画面


2017年10月7日土曜日

Raspberry Pi上のDockerでphpPgAdminのイメージを構築する

以下のDockerfileを使用してRaspberry Pi上のDockerでphpPgAdminのイメージを構築する事ができます。

Dockerfile
FROM resin/raspberry-pi-alpine:3.6
ARG DB_HOST=localhost
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php5 php5-apache2 php5-pgsql openssl openrc \
  && wget https://downloads.sourceforge.net/project/phppgadmin/phpPgAdmin%20%5Bstable%5D/phpPgAdmin-5.1/phpPgAdmin-5.1.tar.gz \
  && tar xvfz phpPgAdmin-5.1.tar.gz  \
  && mv /phpPgAdmin-5.1 /opt/phppgadmin \
  && mkdir -p /run/apache2 \
  && { \
  echo '<Directory /opt/phppgadmin>'; \
  echo '  Order allow,deny'; \
  echo '  Allow from all'; \
  echo '</Directory>'; \
  } >> /etc/apache2/httpd.conf \
  && ln -s /opt/phppgadmin /var/www/localhost/htdocs \
  && sed -i -e "s/extra_login_security.*true;/extra_login_security\\'\\] = false;/" /opt/phppgadmin/conf/config.inc.php \
  && sed -i -e "s/conf\\['servers'\\]\\[0\\]\\['host'\\] = ''/conf['servers'][0]['host'] = '${DB_HOST}'/" /opt/phppgadmin/conf/config.inc.php \
  && \rm -f tar xvfz phpPgAdmin-5.1.tar.gz
EXPOSE 80
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

○イメージのビルド
docker build --build-arg DB_HOST=(PostgreSQLのIP) -t rpi-phppgadmin .
例:
docker build --build-arg DB_HOST=192.168.1.210 -t rpi-phppgadmin .
○コンテナの実行
docker run --rm -dit -p 80:80 rpi-phppgadmin
○コンテナの停止
docker ps -a
docker stop (停止したいコンテナのID)

○補足
動作環境 Raspberry Pi 3 Model B / Raspbian GNU/Linux 9 (stretch) / Docker 17.05.0-ce
Dockerイメージサイズ 79.7MB

○関連情報
Raspbian GNU/Linux 9 (stretch)上にDocker CEをインストールする
Dockerでphppgadminがインストールされたイメージを作成する
VagrantでPostgreSQLとphpPgAdminがインストールされた仮想マシンを構築する

○phppgadminのスクリーンショット

Raspbian GNU/Linux 9 (stretch)上にDocker CEをインストールする

Raspbian GNU/Linux 9 (stretch)にDockerをインストールするには、以下のコマンドを実行します。

1. Docker CEのインストール
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh

2. sudoなしでdockerを使用できるようにする
sudo usermod -aG docker pi
※いったんログアウトする

3.動作確認
docker run armhf/hello-world
Hello from Docker on armhf!というメッセージが表示されればOK。

動作環境:Raspberry Pi 3 Model B


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

VagrantでLXDEデスクトップ環境とXRDPがインストールされた仮想マシン(Ubuntu16.04)を構築する

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

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

ログイン画面

ログイン後のデスクトップ画面

2017年10月6日金曜日

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

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74portainer"
  config.vm.network :public_network, ip:"192.168.1.113"
  config.vm.network "private_network", ip: "192.168.55.113", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
    vbox.name = "co74portainer"
    vbox.cpus = 4
    vbox.memory = 4096
    vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.provision "shell", inline: <<-SHELL
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager \
    --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --disable docker-ce-edge
yum -y install docker-ce
systemctl enable docker
systemctl start docker

mkdir -p /opt/portainer

docker swarm init --advertise-addr 192.168.55.113  | grep -e '--token' | sed -e 's/    //' - > /vagrant/joincmd.sh
docker service create \
  --name portainer \
  --publish 9000:9000 \
  --constraint 'node.role == manager' \
  --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
  --mount type=bind,src=/opt/portainer,dst=/data \
  portainer/portainer \
  -H unix:///var/run/docker.sock

SHELL
end

仮想マシンを構築後、ブラウザでhttp://192.168.55.113:9000/にアクセスし、管理者のユーザ名、パスワードを設定します。


portainerにログイン後の画面


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