ラベル Vagrant の投稿を表示しています。 すべての投稿を表示
ラベル Vagrant の投稿を表示しています。 すべての投稿を表示

2020年6月3日水曜日

VagrantでBlueJ、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

BlueJはJava言語の学習に適したIDEです。

〇BlueJの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、BlueJ、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomebluej"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomebluej"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install BlueJ
flatpak -y install https://flathub.org/repo/appstream/org.bluej.BlueJ.flatpakref


telinit 5
SHELL
end

2020年5月30日土曜日

VagrantでZabbixとMariaDBをインストールした仮想マシン(CentOS 8.1)を構築する

Zabbixはサーバー監視ソフトウェアです。

〇Zabbixの画面
ユーザ名、パスワードはAdmin/zabbixです。

〇構築方法
1. 以下のVagrantfileを使用して、ZabbixとMariaDBをインストールした仮想マシン(CentOS 8.1)を構築します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81zabixmariadb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81zabixmariadb"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install apache httpd and php
dnf -y install httpd php

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

# change password and create users and databases.
mysql -uroot -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"
mysql -uroot -proot -e "CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;"
mysql -uroot -proot -e "CREATE USER zabbix@localhost IDENTIFIED BY 'zabbix';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

# install zabbix
rpm -i https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent zabbix-web-japanese
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix
sed -i -e 's/# DBPassword=/DBPassword=zabbix/' /etc/zabbix/zabbix_server.conf
sed -i -e 's|; php_value\\[date.timezone\\] = Europe/Riga|php_value\\[date.timezone\\] = Asia/Tokyo|' /etc/php-fpm.d/zabbix.conf

systemctl enable httpd.service
systemctl start httpd.service
systemctl enable php-fpm.service
systemctl start php-fpm.service

systemctl enable zabbix-server.service
systemctl start zabbix-server.service
systemctl enable zabbix-agent.service
systemctl start zabbix-agent.service

echo 'access to http://192.168.55.101/zabbix/'
echo 'user: Admin   password: zabbix'

SHELL
end

2.初期設定
ブラウザで「http://<仮想マシンのアドレス>/zabbix/」にアクセスします。

3. 前提条件のチェック

4. DB接続情報を入力します。DB名、ユーザ名、パスワードにzabbixを入力します。

5. Nameにサーバ名を入力します。

6. 設定を確認します。

7.初期設定が完了したので「Finish」ボタンをクリックします。

2020年5月29日金曜日

VagrantでctopとDockerがインストールされた仮想マシン(CentOS 8.1)を構築する

ctopはtopコマンドのようにコンテナのCPU、メモリ、ネットワーク、IOの情報を表示します。

〇構築方法
以下のVagrantfileを使用して、ctopとDockerがインストールされた仮想マシン(CentOS 8.1)を構築する事ができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81dockerctop"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81dockerctop"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install Docker
yum-config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf -y --nobest install docker-ce
systemctl enable docker
systemctl start docker

usermod -aG docker vagrant

# instal docker-compose
wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-X86_64
chmod a+x /usr/local/bin/docker-compose


# instll ctop
wget https://github.com/bcicen/ctop/releases/download/v0.7.3/ctop-0.7.3-linux-amd64 -O /usr/local/bin/ctop
chmod +x /usr/local/bin/ctop

echo 'please reboot...'

SHELL
end

2020年5月28日木曜日

VagrantでpgwebとPostgreSQL12がインストールされた仮想マシン(CentOS 8.1)を構築する

pgwebはPostgreSQLのwebインターフェイスです。

〇pgwebの画面

〇構築方法
以下のVagrantfileを使用して、pgwebとPostgreSQL12をインストールした仮想マシン(CentOS 8.1)を構築する事ができます。
仮想マシン構築後、ブラウザからhttp://<仮想マシンのアドレス>:8080/にアクセスします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81pgwebpg12"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81pgwebpg12"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# download and install postgresql.
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
rpm -Uvh pgdg-redhat-repo-latest.noarch.rpm
dnf -qy module disable postgresql

dnf -y update
dnf -y install postgresql12-server postgresql12-devel postgresql12-contrib
systemctl enable postgresql-12

# initialize postgresql server
/usr/pgsql-12/bin/postgresql-12-setup initdb

echo "listen_addresses='*'" >> /var/lib/pgsql/12/data/postgresql.conf

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

echo "host    all         all         127.0.0.1/32          password" >> /var/lib/pgsql/12/data/pg_hba.conf
echo "host    all         all         ::1/128          password" >> /var/lib/pgsql/12/data/pg_hba.conf
echo "host    all         all         192.168.55.0/24          password" >> /var/lib/pgsql/12/data/pg_hba.conf
systemctl start postgresql-12.service

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

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

# install pgweb
yum -y install unzip
wget https://github.com/sosedoff/pgweb/releases/download/v0.11.6/pgweb_linux_amd64.zip
unzip pgweb_linux_amd64.zip
mkdir -p /opt/pgweb
mv pgweb_linux_amd64 /opt/pgweb
cat << EOF > /etc/systemd/system/pgweb.service
[Unit]
Description=pgweb
[Service]
Type=simple
ExecStart=/opt/pgweb/pgweb_linux_amd64 --sessions --bind=0.0.0.0 --listen=8080
WorkingDirectory=/opt/pgweb
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
systemctl enable pgweb
systemctl start pgweb

echo 'access http://192.168.55.101:8080/'
echo 'host:127.0.0.1, user: postgres, password: postgres'

SHELL
end

2020年5月27日水曜日

VagrantでRAWGraphsがインストールされた仮想マシン(CentOS 8.1)を構築する

RAWGraphsでCSVなどのデータを簡単に可視化する事ができます。

○RAWGraphsの画面
ブラウザでhttp://<仮想マシンのアドレス>:4000にアクセスします。

○構築方法
以下のVagrantfileを使用して、RAWGraphsがインストールされた仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81rawgraph"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81rawgraph"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install curl/git/python3
dnf -y install curl git python3

mkdir -p /opt/rawgraph
cd /opt/rawgraph

# install nodejs11
curl -sL https://rpm.nodesource.com/setup_11.x | bash -
dnf -y install nodejs
node -v

# install nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash
export NVM_DIR="/root/.nvm"
source /root/.bashrc
nvm --version

# install bower
npm install -g bower
bower -v
#bower init --allow-root

# install rawgraphs
git clone https://github.com/densitydesign/raw.git
cd raw
bower install --allow-root
cp js/analytics.sample.js js/analytics.js


# register as a service
cat << EOF > /etc/systemd/system/rawgraph.service
[Unit]
Description=rawgraph
[Service]
Type=simple
ExecStart=/usr/bin/python3 -m http.server 4000
WorkingDirectory=/opt/rawgraph/raw
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable rawgraph
sudo systemctl start rawgraph


SHELL
end

2020年5月26日火曜日

VagrantでCrontab UIをインストールした仮想マシン(CentOS 8.1)を構築する

Crontab UIでWebブラウザからcrontabを編集・管理を行うことができます。

〇Crontab UIの画面

〇構築方法
以下のVagrantfileを使用して、Crontab UIをインストールした仮想マシン(CentOS 8.1)を構築することができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81crontabui"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81crontabui"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install nodejs11
curl -sL https://rpm.nodesource.com/setup_11.x | bash -
dnf -y install nodejs
node -v

# install crontab-ui
npm install -g crontab-ui

cat << EOF > /etc/systemd/system/crontabui.service
[Unit]
Description=crontab-ui
[Service]
Type=simple
Environment=HOST=0.0.0.0
Environment=PORT=9000
ExecStart=/usr/bin/crontab-ui
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
systemctl enable crontabui.service
systemctl start crontabui.service

echo 'access -> http://192.168.55.101:9000'


SHELL
end

2020年5月25日月曜日

Vagrantでosqueryをインストールした仮想マシン(CentOS 8.1)を構築する

osqueryでシステムの様々な情報をSQLで参照する事が事ができます。

〇構築方法
以下のVagrantfileを使用して、osqueryをインストールした仮想マシン(CentOS 8.1)を構築します。
仮想マシンにログイン後、osqueryiコマンドを使用してシステム情報を取得します。参照できるテーブルはhttps://osquery.io/schema/に記されています。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81osquery"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81osquery"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install osquery
wget https://pkg.osquery.io/rpm/osquery-4.2.0-1.linux.x86_64.rpm
rpm -i osquery-4.2.0-1.linux.x86_64.rpm

# sample query
sudo osqueryi "select * from device_partitions where device = '/dev/sda'"


SHELL
end

2020年5月24日日曜日

Vagrantでmosquittoがインストールされた仮想マシン(CentOS 8.1)を構築する

mosquittoでMQTTプロトコルを使用してメッセージの送受信を行うことができます。

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81mosquitto"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81mosquitto"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install mosquitto
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf config-manager --set-enabled remi
dnf -y install mosquitto
systemctl enable mosquitto
systemctl start mosquitto

# execute commands for test.
mosquitto_sub -t mytopic/test -h co81mosquitto >> /tmp/sample.txt 2>&1 &
sleep 10
mosquitto_pub -t mytopic/test -h co81mosquitto -m "test message."
sleep 10
cat /tmp/sample.txt


SHELL
end

2020年5月23日土曜日

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

BorgBackupを使用してファイルの重複を排除して簡単なコマンドでバックアップ・リストアを行うことができます。
以下のVagrantfileを使用して、BorgBackupをインストールした仮想マシンを構築する事ができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81borgbackup"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81borgbackup"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install BorgBackup
dnf -y install borgbackup

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

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

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

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

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


SHELL
end

2020年5月22日金曜日

Vagrantでdarktable、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

darktableはオープンソースの写真管理・編集ソフトウェアです。

〇darktableの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、darktable、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedarktable"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedarktable"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install Darktable
flatpak -y install flathub org.darktable.Darktable
cat << EOF > /usr/share/applications/darktable.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/flatpak run org.darktable.Darktable
Name=Darktable
Categories=Graphics;
EOF


telinit 5
SHELL
end


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

・darktableのgithubリポジトリ
https://github.com/darktable-org/darktable

2020年5月21日木曜日

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

DBeaverは様々なデータベースに対応したデータベースクライアントです。

〇DBeaverの画面
このVMにはXRDPもインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、DBeaverとOpenJDK11、CockroachDB, Gnome Desktop環境、XRDPをインストールした仮想マシンを構築できます。
Insecureモードで接続するには、ホストに192.168.1.101、ユーザにtestを指定、Edit Driver SettingsでAllow Empty Passwordにチェックをつけます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedbeavercockroachdb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedbeavercockroachdb"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install cockroachdb
cd /opt
wget -qO- https://binaries.cockroachdb.com/cockroach-v19.2.5.linux-amd64.tgz | tar  xvz

mv cockroach-v19.2.5.linux-amd64 /opt/cockroach

/opt/cockroach/cockroach init --insecure --store=node1 --host=192.168.1.101:26257

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

[Service]
Type=forking
WorkingDirectory=/opt/cockroach
ExecStart=/opt/cockroach/cockroach start --insecure --host=192.168.1.101 --background
ExecStop=/opt/cockroach/cockroach quit

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

# execute sample sql statements
/opt/cockroach/cockroach sql --insecure --host=192.168.1.101 << EOF
CREATE DATABASE test;
CREATE USER IF NOT EXISTS test;
GRANT ALL ON DATABASE test TO test;
CREATE TABLE test.messages (id INT PRIMARY KEY, message varchar(100));
INSERT INTO test.messages VALUES (1, 'hello world.');
select * from test.messages;
EOF


# install openjdk
dnf install -y java-11-openjdk

# install DBeaver
cd /opt
wget https://dbeaver.io/files/dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
tar xvfz dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
cat << EOF > /usr/share/applications/dbeaver.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/dbeaver/dbeaver
Icon=/opt/dbeaver/dbeaver.png
Name=DBeaver
Categories=Graphics;
EOF

telinit 5
SHELL
end

2020年5月20日水曜日

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

DBeaverは様々なデータベースに対応したデータベースクライアントです。

〇DBeaverの画面
このVMにはXRDPもインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、DBeaverとOpenJDK11、PostgreSQL12, Gnome Desktop環境、XRDPをインストールした仮想マシンを構築できます。
データベース接続作成時にデータベース名:test、ユーザ名:test、パスワード:testを指定します。ドライバはデータベース接続作成時にダウンロードできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedbeaverpg12"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedbeaverpg12"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# download and install postgresql.
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
rpm -Uvh pgdg-redhat-repo-latest.noarch.rpm
dnf -qy module disable postgresql

dnf -y update
dnf -y install postgresql12-server postgresql12-devel postgresql12-contrib
systemctl enable postgresql-12

# initialize postgresql server
/usr/pgsql-12/bin/postgresql-12-setup initdb

echo "listen_addresses='*'" >> /var/lib/pgsql/12/data/postgresql.conf

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

echo "host    all         all         127.0.0.1/32          password" >> /var/lib/pgsql/12/data/pg_hba.conf
echo "host    all         all         ::1/128          password" >> /var/lib/pgsql/12/data/pg_hba.conf
echo "host    all         all         192.168.1.0/24          password" >> /var/lib/pgsql/12/data/pg_hba.conf
systemctl start postgresql-12.service

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

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

# install openjdk
dnf install -y java-11-openjdk

# install DBeaver
cd /opt
wget https://dbeaver.io/files/dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
tar xvfz dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
cat << EOF > /usr/share/applications/dbeaver.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/dbeaver/dbeaver
Icon=/opt/dbeaver/dbeaver.png
Name=DBeaver
Categories=Graphics;
EOF

telinit 5
SHELL
end

2020年5月19日火曜日

VagrantでunixBenchをインストールした仮想マシン(CentOS 8.1)を構築する

unixBenchは歴史あるベンチマークツールです

〇構築方法
以下のVagrantfileを使用して、unixBenchをインストールした仮想マシン(CentOS 8.1)を構築します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81unixbench"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81unixbench"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install unixbench
dnf -y groupinstall "Development Tools"
dnf -y install git
git clone https://github.com/kdlucas/byte-unixbench
cd byte-unixbench/UnixBench
./make
./Run

SHELL
end

2020年5月18日月曜日

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

DBeaverは様々なデータベースに対応したデータベースクライアントです。

〇DBeaverの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、DBeaverとOpenJDK11、PostgreSQL12, Gnome Desktop環境、XRDPをインストールした仮想マシンを構築できます。
データベース接続作成時にデータベース名:test、ユーザ名:test、パスワード:testを指定します。ドライバはデータベース接続作成時にダウンロードできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedbeavermariadb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedbeavermariadb"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# 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;"
mysql -uroot -proot -e "CREATE DATABASE test DEFAULT CHARACTER SET utf8mb4;"
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 openjdk
dnf install -y java-11-openjdk

# install DBeaver
cd /opt
wget https://dbeaver.io/files/dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
tar xvfz dbeaver-ce-latest-linux.gtk.x86_64.tar.gz
cat << EOF > /usr/share/applications/dbeaver.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/dbeaver/dbeaver
Icon=/opt/dbeaver/dbeaver.png
Name=DBeaver
Categories=Graphics;
EOF

telinit 5
SHELL
end

2020年5月17日日曜日

VagrantでdigiKam、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

digiKamはオープンソースの写真管理・編集ソフトウェアです。

〇digiKamの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

構築方法

以下のVagrantfileを使用して、digiKam、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomedigikam"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomedigikam"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install digiKam
dnf -y install jack-audio-connection-kit libnsl
mkdir -p /opt/digikam
cd /opt/digikam
wget http://ftp.kddlabs.co.jp/pub/X11/kde/stable/digikam/6.4.0/digikam-6.4.0-x86-64.appimage
chmod +x digikam-6.4.0-x86-64.appimage
cat << EOF > /usr/share/applications/digikam.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/digikam/digikam-6.4.0-x86-64.appimage
Name=digiKam
EOF

telinit 5
SHELL
end

関連情報

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

・digiKamのgithubリポジトリ
https://github.com/KDE/digikam

2020年5月16日土曜日

VagrantでsysbenchとMariaDBをインストールした仮想マシン(CentOS 8.1)を構築する

sysbenchでホストマシンやデータベースのベンチマークを行うことができます。

〇構築方法
以下のVagrantfileを使用して、sysbenchとMariaDBがインストールされた仮想マシン(CentOS 8.1)を構築します。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81sysbenchmariadb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81sysbenchmariadb"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install mariadb
dnf -y install mariadb mariadb-server
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
mysql -uroot -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"
mysql -uroot -proot -e "CREATE DATABASE sysbench DEFAULT CHARACTER SET utf8mb4;"
mysql -uroot -proot -e "CREATE USER sysbench@localhost IDENTIFIED BY 'sysbench';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON sysbench.* TO 'sysbench'@'localhost';"
mysql -uroot -proot -e "FLUSH PRIVILEGES;"

# install and execute sysbench.
dnf --enablerepo=epel -y install sysbench
sysbench cpu run --threads=2
sysbench memory run --threads=2
sysbench fileio run --file-test-mode=seqwr --threads=2
sysbench fileio run --file-test-mode=rndwr --threads=2

sysbench /usr/share/sysbench/oltp_read_write.lua prepare --db-driver=mysql --mysql-host=localhost --mysql-port=3306 --mysql-user=sysbench --mysql-password=sysbench --mysql-db=sysbench
sysbench /usr/share/sysbench/oltp_read_write.lua run --db-driver=mysql --mysql-host=localhost --mysql-port=3306 --mysql-user=sysbench --mysql-password=sysbench --mysql-db=sysbench --threads=2

SHELL
end

2020年5月15日金曜日

VagrantでCockpitがインストールされた仮想マシン(CentOS 8.1)を構築する

Cockpitでブラウザからサーバーの監視・メンテナンスを行うことができます。

〇Cockpitの画面
ブラウザからhttp://<仮想マシンのアドレス>:9090/にアクセスします。

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81cockpit"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81cockpit"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install cockpit
dnf -y install cockpit
systemctl enable --now cockpit.socket


SHELL
end

2020年5月14日木曜日

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

webminはwebブラウザからサーバを管理できるツールです。

〇webminの画面

〇構築方法
以下のVagrantfileを使用して、webminをインストールした仮想マシン(CentOS 8.1)を構築できます。
ブラウザからhttps://<仮想マシンのアドレス>:10000/にアクセスし、ユーザ名はroot、パスワードRoot123#でログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81webmin"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81webmin"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

# install webmin
dnf -y install perl perl-Net-SSLeay openssl perl-Encode-Detect
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.941-1.noarch.rpm
rpm -U webmin-1.941-1.noarch.rpm
echo 'Root123#' | passwd root --stdin

SHELL
end

2020年5月11日月曜日

Vagrantでメモアプリケーション(Bijiben)、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

メモアプリケーション(Bijiben)で付箋紙のようにメモする事ができます。

〇メモアプリケーション(Bijiben)の画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、メモアプリケーション(Bijiben)、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomebijiben"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomebijiben"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install flatpak
yum -y install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# install Bijiben
#flatpak -y install https://flathub.org/repo/appstream/org.gnome.bijiben.flatpakref
flatpak -y install flathub org.gnome.Notes


telinit 5
SHELL
end

2020年5月10日日曜日

VagrantでBlender、Gnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS 8.1)を構築する

Blenderはオープンソースの3D CG作成ソフトウェアです。

〇Blenderの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇構築方法
以下のVagrantfileを使用して、Blender、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomeblender"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomeblender"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install Blender
cd /opt
wget https://ftp.nluug.nl/pub/graphics/blender/release/Blender2.82/blender-2.82a-linux64.tar.xz
 tar Jxfv blender-2.82a-linux64.tar.xz
cat << EOF > /usr/share/applications/blender.desktop
[Desktop Entry]
Type=Application
Version=1.0
Name=Blender
Icon=/opt/blender-2.82a-linux64/blender.svg
Exec=/opt/blender-2.82a-linux64/blender
Categories=Graphics;
EOF


telinit 5
SHELL
end