2018年6月9日土曜日

DockerでPiwigo、Percona Serverがインストールされたコンテナのイメージ(Alpine3.7)を作成する

Piwigoで写真や画像を管理することができます。

○Piwigoの画面


○構築方法
以下の手順で、Piwigo、Percona Serverのコンテナを構築・実行します。

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

Dockerfile
FROM alpine:3.7
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php7-apache2 php7 php7-mysqli php7-mbstring php7-session php7-curl php7-json php7-xml php7-zip php7-ctype php7-dom php7-simplexml php7-iconv php7-tokenizer php7-exif php7-gd openssl openrc \
  && rm -rf /var/cache/apk/* \
  && wget -O piwigo.zip http://piwigo.org/download/dlcounter.php?code=latest \
  && unzip piwigo.zip \
  && rm -f piwigo.zip \
  && mkdir /opt \
  && mv piwigo /opt/piwigo \
  && chown -R apache:apache /opt/piwigo \
  && ln -s  /opt/piwigo /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
  && sed -i -e 's/max_execution_time = 30/max_execution_time = 200/' /etc/php7/php.ini \
  && sed -i -e 's/post_max_size = 8M/post_max_size = 100M/' /etc/php7/php.ini \
  && sed -i -e 's/upload_max_filesize = 2M/upload_max_filesize = 20M/' /etc/php7/php.ini \
  && sed -i -e 's/memory_limit = 128M/memory_limit = 256M/' /etc/php7/php.ini
EXPOSE 80
VOLUME /opt/piwigo
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

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

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

3. ブラウザからhttp://<Dockerホスト名またはIP>/piwigo/にアクセスして、以下の項目を入力します。
ホスト:db
ユーザー:root
パスワード:piwigo
データベース名:piwigo
管理者ユーザの設定は任意入力します



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

2018年6月8日金曜日

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

JBakeはJava製の静的サイトジェネレータです。

〇JBakeの画面


〇構築方法
以下のVagrantfileを使用してJBake2.6.0がインストールされた仮想マシン(CentOS7.4)を構築する事ができます。
仮想マシン構築後、sshで仮想マシンにログインし、以下のコマンドを実行します。
cd project/output
python -m SimpleHTTPServer

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

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

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

# install jbake
yum -y install unzip
wget https://dl.bintray.com/jbake/binary/jbake-2.6.0-bin.zip
unzip jbake-*.zip
mv jbake-2.6.0-bin /opt/jbake

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

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

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

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

echo 'execute command below and and access http://192.168.55.109:8000/'
echo 'cd project/output'
#echo 'jbake -s'
echo 'python -m SimpleHTTPServer'

SHELL
end


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

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

Percona ToolkitはMySQLを管理・メンテナンスするのに役立つコマンド群です。

○構築方法
以下のVagrantfileを使用して、Percona ToolkitとPercona Serverをインストールした仮想マシン(Debian Stretch/9.3)を構築する事ができます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.3"
  config.vm.hostname = "db93perconaperconatoolkit"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db93perconaperconatoolkit"
     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
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-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 -proot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' identified by 'root';"
mysql -uroot -e "CREATE DATABASE test DEFAULT CHARACTER SET utf8mb4;"
mysql -uroot -e "CREATE USER test@localhost IDENTIFIED BY 'test';"
mysql -uroot -e "GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost';"
mysql -uroot -e "FLUSH PRIVILEGES;"

mysql -uroot -proot -e "select * from information_schema.tables;"

# install percona toolkit
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-toolkit

# display summary information
pt-mysql-summary --user root --password root

SHELL
end


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

2018年6月7日木曜日

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

ResourceSpaceで画像・写真の管理を行うことができます。

○ResourceSpaceの画面


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

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

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

# install apache and php
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
echo "postfix postfix/main_mailer_type string 'Local only'" | sudo debconf-set-selections
echo "postfix postfix/mailname string localhost.localdomain" | sudo debconf-set-selections
apt-get -y install ghostscript antiword xpdf libav-tools postfix libimage-exiftool-perl cron wget

sed -i -e "s/memory_limit = 128M/memory_limit = 200M/" /etc/php/7.0/apache2/php.ini
sed -i -e "s/post_max_size = 8M/post_max_size = 100M/" /etc/php/7.0/apache2/php.ini
sed -i -e "s/upload_max_filesize = 2M/upload_max_filesize = 100M/" /etc/php/7.0/apache2/php.ini

mkdir /opt/resourcespace
cd /opt/resourcespace
svn co http://svn.resourcespace.com/svn/rs/releases/8.4 .
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.1.101/resourcespace/'
echo 'user: resourcespace password:resourcespace db:resourcespace'
SHELL
end

2.ブラウザからhttp://192.168.1.109/resourcespace/にアクセスして初期設定を行います。
MySQL Server: localhost
MySQL Username: resourcespace
MySQL Password: resourcespace
MySQL Database: resourcespace
他の項目はお好みで設定します。


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

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

〇Mantis Bug Trackerの画面


○構築方法
1.以下のVagrantfileを使用して、Mantis Bug Tracker2.14と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 = "db94mantisbtmariadb"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db94mantisbtmariadb"
     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 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 -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に関する他の記事はこちらを参照してください。

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

OdooはオープンソースのERPです。

〇Odooの画面


○構築方法
1.以下のVagrantfileを使用して、OdooとPostgreSQLがインストールされた仮想マシン(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 = "db94odoo"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db94odoo"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "private_network", ip: "192.168.55.101", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.101", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade


apt-get -y install postgresql

wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
echo "deb http://nightly.odoo.com/11.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
apt-get update
apt-get -y install odoo
systemctl enable postgresql.service
systemctl enable odoo.service
systemctl start odoo.service

echo 'access to http://192.168.55.101:8069'
SHELL
end

2.Odooの初期設定画面

作成するデータベース名や管理者アカウント情報などを入力します。


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

2018年6月6日水曜日

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 utf8;"
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に関する他の記事はこちらを参照してください。