2018年6月11日月曜日

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

Adminerはデータベースのwebインターフェイスです。

○Adminerの画面


○構築方法
以下のVagrantfileを使用して、AdminerとMariaDBをインストールした仮想マシン(CentOS7.4)を構築する事ができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

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

# install mariadb
yum -y install mariadb mariadb-server
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
mysql -uroot -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"

# install apache2 and php
yum -y install --enablerepo=remi,remi-php71 httpd php php-mbstring php-mysql
mkdir -p /opt/adminer
cd /opt/adminer
wget https://github.com/vrana/adminer/releases/download/v4.6.2/adminer-4.6.2.php
mv adminer-4.6.2.php index.php

chown -R apache:apache /opt/adminer
sudo ln -s /opt/adminer/ /var/www/html/
systemctl restart httpd

echo 'access -> http://192.168.1.105/adminer'
SHELL
end


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

・Adminerのプロジェクトwebサイト
https://www.adminer.org/

VagrantでApache Nifi 1.6.0とMariaDBがインストールされた仮想マシン(Debian Stretch/9.4)を構築する。

Apache Nifiは様々なデータを処理・分配するためのソフトウェアです。

〇Apache Nifiの画面


〇構築方法
1.以下のVagrantfileを使用して、Apache Nifi 1.6.0とMariaDBがインストールされた仮想マシン(Debian Stretch/9.4)を構築します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

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

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


# install jdbc driver for mysql
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java_8.0.11-1debian9_all.deb
dpkg -i mysql-connector-java_8.0.11-1debian9_all.deb

# maximum file handles & maximum forked processes
echo '*  hard  nofile  50000' >> /etc/security/limits.conf
echo '*  soft  nofile  50000' >> /etc/security/limits.conf
echo '*  hard  nproc  10000' >> /etc/security/limits.conf
echo '*  soft  nproc  10000' >> /etc/security/limits.conf

echo '*  soft  nproc  10000' >> /etc/security/limits.d/90-nproc

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

# download and install Apache Nifi
wget http://ftp.riken.jp/net/apache/nifi/1.6.0/nifi-1.6.0-bin.tar.gz
tar xvfz nifi-1.6.0-bin.tar.gz
mv nifi-1.6.0 /opt

cat << EOF > /etc/systemd/system/nifi.service
[Unit]
Description=Apache Nifi
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/nifi-1.6.0/bin/nifi.sh start
ExecStop=/opt/nifi-1.6.0/bin/nifi.sh stop
KillMode=none

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

echo 'access url -> http://192.168.1.104:8080/nifi/'
SHELL
end

2.DBCPConnectionPoolで、以下のようにパラメータを設定してローカルのMariaDBにアクセスします。
Database Connection -> URL jdbc:mysql://localhost/test
Database Driver Class Name -> com.mysql.jdbc.Driver
Database Driver Location(s) -> /usr/share/java/mysql-connector-java-8.0.11.jar
Database Userr -> test
Password -> test


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

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

OrientDBはJava製のNoSQLデータベースです。

〇OrientDBの管理者画面

ブラウザからhttp://192.168.55.105:2480にアクセスします。デフォルトユーザはadmin、パスワードはadminです。

○構築方法
以下のVagrantfileを使用して、OrientDBをインストールした仮想マシン(Debian Stretch/9.4)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.4"
  config.vm.hostname = "db94orientdb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db94orientdb"
     vbox.cpus = 2
     vbox.memory = 4096
     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 java
apt-get -y install openjdk-8-jdk

# download and install orientdb community edition
apt-get -y install unzip
wget https://bit.ly/orientdb-ce-2-2-34 -O orientdb-community-2.2.34.zip
unzip orientdb-community-2.2.34.zip
mv orientdb-community-2.2.34 /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

2018年6月10日日曜日

VagrantでMariaDBとphpMyAdminが一緒にインストールされた仮想マシン(CentOS7.4)を構築する

phpMyAdminでwebインターフェイスからMariaDBを操作できます。

〇phpMyAdminの画面

ブラウザからhttp://192.168.1.104/phpmyadmin/にアクセスします。ユーザ名/パスワードは、root/root, test/testです。

〇構築方法
以下のVagrantfileを使用して、MariaDBとphpMyAdminをインストールした仮想マシン(CentOS7.4)を構築する事ができます。
Vagrantfile
VAGRANTFILE_API_VERSION = "2"

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

# install mariadb
yum -y install mariadb mariadb-server
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service

mysql -uroot mysql -e "update user set authentication_string=password('root'), plugin='mysql_native_password' where user='root'; flush privileges;"
mysql -uroot -proot -e "CREATE DATABASE test DEFAULT CHARACTER SET utf8;"
mysql -uroot -proot -e "CREATE USER test@localhost IDENTIFIED BY 'test';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON test.* TO 'test'@'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-pdo php-mbstring php-mysqli php-gd php-xml php-zip php-json php-mcrypt php-zip

# install phpmyadmin
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.0.1/phpMyAdmin-4.8.0.1-all-languages.tar.gz
tar xvfz phpMyAdmin-4.8.0.1-all-languages.tar.gz
mv phpMyAdmin-4.8.0.1-all-languages /opt/phpmyadmin

chown -R apache:apache /opt/phpmyadmin
ln -s  /opt/phpmyadmin /var/www/html
service httpd restart

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


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

・プロジェクトwebサイト
https://www.phpmyadmin.net/

VagrantでMantis Bug Tracker2.14とPercona Serverがインストールされた仮想マシン(Debian Stretch/9.4)を構築する

Mantis Bug Trackerは、PHP製のバグ追跡・課題管理サーバです。

〇Mantis Bug Trackerの画面


○構築方法
1.以下のVagrantfileを使用して、Mantis Bug Tracker2.14とPercona Serverがインストールされた仮想マシン(Debian Stretch/9.4)を構築します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.4"
  config.vm.hostname = "db94mantisbtpercona"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db94mantisbtpercona"
     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 percona server
export DEBIAN_FRONTEND=noninteractive
echo "percona-server-server-5.7 percona-server-server/root_password password root" | sudo debconf-set-selections
echo "percona-server-server-5.7 percona-server-server/root_password_again password root" | sudo debconf-set-selections
wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
apt-get update
apt-get -y install percona-server-server-5.7
mysql -uroot -e "CREATE DATABASE mantisbt DEFAULT CHARACTER SET utf8mb4;"
mysql -uroot -e "CREATE USER mantisbt@localhost IDENTIFIED BY 'mantisbt';"
mysql -uroot -e "GRANT ALL PRIVILEGES ON mantisbt.* TO 'mantisbt'@'localhost';"
mysql -uroot -e "FLUSH PRIVILEGES;"


apt-get -y install apache2 libapache2-mod-php7.0
apt-get -y install php7.0-mysql php7.0-cli php7.0-mbstring


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


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

SHELL
end

2.Mantis Bug Trackerの初期設定画面
仮想マシン構築後、ブラウザからhttp://192.168.55.105/mantisbt/にアクセスして初期設定を行います。
Installer Optionsで以下の項目を入力します。
Type of Database: MySQL
Hostname (for Database Server): localhost
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt



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

2018年6月9日土曜日

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

localstackはローカルで動作するAWSテスト・モック環境です。

〇構築方法
以下のVagrantfileを使用して、localstackをインストールした仮想マシン(CentOS7.5)を構築する事ができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

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

yum -y install epel-release
yum -y install python-pip python-devel npm java-1.8.0-openjdk
pip install pip --upgrade
pip install --upgrade setuptools

sudo -u vagrant pip install awscli-local --user
sudo -u vagrant pip install localstack --user


cat << EOF > /etc/systemd/system/localstack.service
[Unit]
Description=localstack
[Service]
Type=simple
ExecStart=/home/vagrant/.local/bin/localstack start
User=vagrant
Group=vagrant
WorkingDirectory=/home/vagrant/.local
TimeoutStartSec=180
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable localstack
sudo systemctl start localstack

# wait until s3 is listening.
while netstat -lnt | awk '$4 ~ /:4572$/ {exit 1}'; do sleep 10; done
sleep 10
# test s3
sudo su - vagrant -c "/home/vagrant/.local/bin/awslocal s3 mb s3://test-bucket"
sudo su - vagrant -c "/home/vagrant/.local/bin/awslocal s3 cp /vagrant/Vagrantfile s3://test-bucket/"
sudo su - vagrant -c "/home/vagrant/.local/bin/awslocal s3 ls s3://test-bucket"


SHELL
end


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

DockerでMetabase、PostgreSQLをインストールしたコンテナを構築する

Metabaseはオープンソースのデータ解析・可視化ツールです。

○Metabaseの画面


○構築方法
1.Metabase、PostgreSQLをインストールしたコンテナを構築するには、以下のコマンドを実行します。
docker-compose up -d

docker-compose.yml
version: "2"
services:
  pydio:
    image: metabase/metabase
    container_name: "metabase"
    volumes:
      - "metabase-data:/metabase-data"
    environment:
      MB_DB_FILE: /metabase-data/metabase.db
      MB_DB_TYPE: postgres
      MB_DB_DBNAME: metabase
      MB_DB_PORT: 5432
      MB_DB_USER: postgres
      MB_DB_PASS: metabase
      MB_DB_HOST: db
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: postgres:9.6-alpine
    container_name: "metabase-db"
    ports:
      - "5432:5432"
    volumes:
      - "db-data:/var/lib/postgresql/data"
    environment:
        POSTGRES_DB: metabase
        POSTGRES_PASSWORD: metabase
volumes:
  db-data:
    driver: local
  metabase-data:
    driver: local

2.ブラウザからブラウザからhttp://<ホストのIP>:3000/にアクセスします。
ユーザ情報を入力します。


3.データベースのタイプを選択します


4.接続データベース情報を以下のように入力します
Database type: PostgreSQL
Host: db
Port: 5432
Database name: metabase
Database username: postgres
Database password: metabase
これ以降はお好みで選択します。



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