〇Zimの画面
Ubuntu Softwareによるインストール方法
1. Ubuntu Softwareを起動して、zimを検索します。2.zimのインストールボタンをクリックします
コマンドによるインストール方法
シェルから以下のコマンド実行しますsudo apt-get update
sudo apt-get -y install zim
sudo apt-get update
sudo apt-get -y install zim
sudo mkdir -p /var/dokuwiki
sudo chown 1001:1001 /var/dokuwiki
cat << EOF > local-dokuwiki-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-dokuwiki-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /var/dokuwiki
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。microk8s kubectl apply -f ./local-dokuwiki-pv.yml
cat << EOF > local-dokuwiki-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: local-dokuwiki-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-storage
resources:
requests:
storage: 5Gi
volumeName: local-dokuwiki-pv
EOF
microk8s kubectl apply -f ./local-dokuwiki-pvc.yml
cat << EOF > dokuwiki-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: dokuwiki-deployment
labels:
app: mydokuwiki
spec:
replicas: 1
selector:
matchLabels:
app: mydokuwiki
template:
metadata:
labels:
app: mydokuwiki
spec:
containers:
- name: mydokuwiki
image: bitnami/dokuwiki:latest
ports:
- containerPort: 8080
env:
- name: DOKUWIKI_USERNAME
value: "dokuwiki"
- name: DOKUWIKI_FULL_NAME
value: "テストユーザ"
- name: DOKUWIKI_PASSWORD
value: "mydokuwiki"
- name: DOKUWIKI_WIKI_NAME
value: "テストDokuwiki"
- name: DOKUWIKI_EMAIL
value: "dokuwiki@localhost.localdomain"
volumeMounts:
- name: documentroot
mountPath: /bitnami/dokuwiki
volumes:
- name: documentroot
persistentVolumeClaim:
claimName: local-dokuwiki-pvc
EOF
microk8s kubectl apply -f ./dokuwiki-deployment.yml
cat << EOF > dokuwiki-service.yml
apiVersion: v1
kind: Service
metadata:
name: dokuwiki-service
spec:
selector:
app: mydokuwiki
type: LoadBalancer
externalIPs:
- xxx.xxx.xxx.xxx # 外部からアクセスできるMicrok8sをインストールしたホストのIPを設定します。
ports:
- protocol: TCP
port: 8080
targetPort: 8080
EOF
microk8s kubectl apply -f ./dokuwiki-service.yml
ブラウザからhttp://<Microk8sホスト名またはIP>:8080/ にアクセスします
sudo apt-get -y install zim
sudo apt-get -y install zim
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/debian-10"
config.vm.hostname = "db10dokuwiki"
config.vm.network "public_network", ip:"192.168.1.103", :netmask => "255.255.255.0"
config.vm.network "private_network", ip: "192.168.55.103", :netmask => "255.255.255.0"
config.vm.provider :virtualbox do |vbox|
vbox.name = "db10dokuwiki"
vbox.gui = true
vbox.cpus = 2
vbox.memory = 2048
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese gawk
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
timedatectl set-timezone Asia/Tokyo
# install apache2 dokuwiki
apt-get -y install php7.3 libapache2-mod-php7.3 apache2 php7.3-mbstring php7.3-xml
# install dokuwiki
wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
tar xvfz dokuwiki-stable.tgz
mv dokuwiki-2018-04-22b /var/www/html/dokuwiki
chown -R www-data:www-data /var/www/html/dokuwiki
systemctl restart apache2
echo 'access http://192.168.55.103/dokuwiki/'
SHELL
end
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/ubuntu-18.04"
config.vm.hostname = "ub1804xfceziml"
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 = " ub1804xfceziml"
vbox.gui = true
vbox.cpus = 2
vbox.memory = 2048
vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get -y install language-pack-ja
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp=0.9.5-2 fcitx-mozc xubuntu-desktop language-pack-ja language-pack-ja
im-config -n fcitx
apt-get -y install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
apt-get -y install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
sed -i -e "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config
echo "xfce4-session" > /home/vagrant/.xsession
apt-get -y purge light-locker
# install zim
apt-get -y install python-cairo python-gobject-2 python-gtk2 python-xdg
wget http://zim-wiki.org/downloads/zim_0.68_all.deb
dpkg -i zim_0.68_all.deb
init 5
SHELL
end
FROM alpine:3.7
WORKDIR /
RUN apk update \
&& apk add --no-cache apache2 php7 php7-phar php7-simplexml php7-fileinfo php7-xmlwriter php7-tokenizer php7-ctype php7-apache2 php7-mysqli php7-mbstring php7-session php7-xml php7-dom php7-gd php7-zip php7-zip php7-json php7-pdo php7-pdo_mysql php7-tidy openssl openrc unzip git curl mysql-client \
&& rm -rf /var/cache/apk/* \
&& curl -s https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/composer
WORKDIR /opt
RUN git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
WORKDIR /opt/BookStack
RUN /usr/local/bin/composer install \
&& mkdir -p /run/apache2 \
&& cp .env.example .env \
&& sed -i -e 's/DB_HOST=localhost/DB_HOST=bookstackdb/' /opt/BookStack/.env \
&& sed -i -e 's/DB_DATABASE=database_database/DB_DATABASE=bookstack/' /opt/BookStack/.env \
&& sed -i -e 's/DB_USERNAME=database_username/DB_USERNAME=root/' /opt/BookStack/.env \
&& sed -i -e 's/DB_PASSWORD=database_user_password/DB_PASSWORD=bookstack/' /opt/BookStack/.env \
&& chown -R apache:apache /opt/BookStack \
&& sed -i -e 's#DocumentRoot "/var/www/localhost/htdocs"#DocumentRoot "/opt/BookStack/public"#' /etc/apache2/httpd.conf \
&& echo $'<Directory /opt/BookStack/public>\n\
AllowOverride All\n\
Require all granted\n\
</Directory>' >> /etc/apache2/httpd.conf \
&& sed -i -e 's|#LoadModule rewrite_module modules/mod_rewrite.so|LoadModule rewrite_module modules/mod_rewrite.so|' /etc/apache2/httpd.conf \
&& echo $'#!/bin/sh \n\
if [ -f /opt/BookStack/cinit ]; then \n\
echo "ok." \n\
else \n\
php artisan key:generate --force \n\
until mysqladmin ping -h bookstackdb -P 3306 --silent; do echo -n "." && sleep 1; done \n\
php artisan migrate --force \n\
touch /opt/BookStack/cinit \n\
fi \n\
/usr/sbin/httpd -D FOREGROUND' >> /opt/BookStack/init.sh \
&& chmod +x /opt/BookStack/init.sh
EXPOSE 80
VOLUME /opt/BookStack
CMD ["/opt/BookStack/init.sh"]
version: "3"
services:
bookstack:
image: bookstack
container_name: "bookstack"
volumes:
- "bookstack-data:/opt/BookStack"
ports:
- "13680:80"
depends_on:
- bookstackdb
bookstackdb:
image: mysql:5.7
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
container_name: "bookstack-db"
volumes:
- "bookstackdb-data:/var/lib/mysql"
ports:
- "13606:3306"
environment:
MYSQL_DATABASE: bookstack
MYSQL_ROOT_PASSWORD: bookstack
volumes:
bookstackdb-data:
driver: local
bookstack-data:
driver: local
docker build -t bookstack .
FROM alpine:3.7
WORKDIR /
RUN apk update \
&& apk add --no-cache apache2 php7 php7-phar php7-simplexml php7-fileinfo php7-xmlwriter php7-tokenizer php7-ctype php7-apache2 php7-mysqli php7-mbstring php7-session php7-xml php7-dom php7-gd php7-zip php7-zip php7-json php7-pdo php7-pdo_mysql php7-tidy openssl openrc unzip git curl mysql-client \
&& rm -rf /var/cache/apk/* \
&& curl -s https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/composer
WORKDIR /opt
RUN git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
WORKDIR /opt/BookStack
RUN /usr/local/bin/composer install \
&& mkdir -p /run/apache2 \
&& cp .env.example .env \
&& sed -i -e 's/DB_HOST=localhost/DB_HOST=db/' /opt/BookStack/.env \
&& sed -i -e 's/DB_DATABASE=database_database/DB_DATABASE=bookstack/' /opt/BookStack/.env \
&& sed -i -e 's/DB_USERNAME=database_username/DB_USERNAME=root/' /opt/BookStack/.env \
&& sed -i -e 's/DB_PASSWORD=database_user_password/DB_PASSWORD=bookstack/' /opt/BookStack/.env \
&& chown -R apache:apache /opt/BookStack \
&& sed -i -e 's#DocumentRoot "/var/www/localhost/htdocs"#DocumentRoot "/opt/BookStack/public"#' /etc/apache2/httpd.conf \
&& echo $'<Directory /opt/BookStack/public>\n\
AllowOverride All\n\
Require all granted\n\
</Directory>' >> /etc/apache2/httpd.conf \
&& sed -i -e 's|#LoadModule rewrite_module modules/mod_rewrite.so|LoadModule rewrite_module modules/mod_rewrite.so|' /etc/apache2/httpd.conf \
&& echo $'#!/bin/sh \n\
if [ -f /opt/BookStack/cinit ]; then \n\
echo "ok." \n\
else \n\
php artisan key:generate --force \n\
until mysqladmin ping -h db -P 3306 --silent; do echo -n "." && sleep 1; done \n\
php artisan migrate --force \n\
touch /opt/BookStack/cinit \n\
fi \n\
/usr/sbin/httpd -D FOREGROUND' >> /opt/BookStack/init.sh \
&& chmod +x /opt/BookStack/init.sh
EXPOSE 80
VOLUME /opt/BookStack
CMD ["/opt/BookStack/init.sh"]
docker-compose up -d
version: "2"
services:
db:
image: percona:5.7
container_name: db
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_DATABASE: bookstack
MYSQL_ROOT_PASSWORD: bookstack
ports:
- "3306:3306"
volumes:
- db-data:/var/lib/mysql
- db-log:/var/log/mysql
bookstack:
image: bookstack
container_name: "bookstack"
volumes:
- "bookstack-data:/opt/BookStack"
ports:
- "80:80"
depends_on:
- db
volumes:
db-data:
driver: local
db-log:
driver: local
bookstack-data:
driver: local
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/centos-7.4"
config.vm.hostname = "co74bookstackpercona"
config.vm.provider :virtualbox do |vbox|
vbox.name = "co74bookstackpercona"
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 Percona Server
yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum -y install Percona-Server-server-57
service mysql start
export MYSQL_ROOTPWD='Root123#'
export MYSQL_PWD=`cat /var/log/mysqld.log | awk '/temporary password/ {print $NF}'`
mysql -uroot -p$MYSQL_PWD --connect-expired-password -e "SET PASSWORD = PASSWORD('$MYSQL_ROOTPWD');"
mysql -uroot -p$MYSQL_ROOTPWD --connect-expired-password -e "UNINSTALL PLUGIN validate_password;"
mysql -uroot -p$MYSQL_ROOTPWD --connect-expired-password -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"
mysql -uroot -proot -e "CREATE DATABASE bookstack DEFAULT CHARACTER SET utf8mb4;"
mysql -uroot -proot -e "CREATE USER bookstack@localhost IDENTIFIED BY 'bookstack';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON bookstack.* TO 'bookstack'@'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-php72 httpd php php-pdo php-mbstring php-mysql php-gd php-xml php-zip php-json php-zip php-tidy git
# install composer
curl -s https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
# install bookstack
cd /opt
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
cd /opt/BookStack
/usr/local/bin/composer install
cp .env.example .env
#DB_HOST=localhost
sed -i -e 's/DB_DATABASE=database_database/DB_DATABASE=bookstack/' /opt/BookStack/.env
sed -i -e 's/DB_USERNAME=database_username/DB_USERNAME=bookstack/' /opt/BookStack/.env
sed -i -e 's/DB_PASSWORD=database_user_password/DB_PASSWORD=bookstack/' /opt/BookStack/.env
php artisan key:generate --force
php artisan migrate --force
chown -R apache:apache /opt/BookStack
sed -i -e 's#DocumentRoot "/var/www/html"#DocumentRoot "/opt/BookStack/public"#' /etc/httpd/conf/httpd.conf
cat << EOF >> /etc/httpd/conf/httpd.conf
<Directory /opt/BookStack/public>
AllowOverride All
Require all granted
</Directory>
EOF
systemctl restart httpd
echo 'access to http://192.168.1.103/'
echo 'default account : admin@admin.com/password'
SHELL
end
docker build -t bookstack .
FROM alpine:3.7
WORKDIR /
RUN apk update \
&& apk add --no-cache apache2 php7 php7-phar php7-simplexml php7-fileinfo php7-xmlwriter php7-tokenizer php7-ctype php7-apache2 php7-mysqli php7-mbstring php7-session php7-xml php7-dom php7-gd php7-zip php7-zip php7-json php7-pdo php7-pdo_mysql php7-tidy openssl openrc unzip git curl mysql-client \
&& rm -rf /var/cache/apk/* \
&& curl -s https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/composer
WORKDIR /opt
RUN git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
WORKDIR /opt/BookStack
RUN /usr/local/bin/composer install \
&& mkdir -p /run/apache2 \
&& cp .env.example .env \
&& sed -i -e 's/DB_HOST=localhost/DB_HOST=db/' /opt/BookStack/.env \
&& sed -i -e 's/DB_DATABASE=database_database/DB_DATABASE=bookstack/' /opt/BookStack/.env \
&& sed -i -e 's/DB_USERNAME=database_username/DB_USERNAME=root/' /opt/BookStack/.env \
&& sed -i -e 's/DB_PASSWORD=database_user_password/DB_PASSWORD=bookstack/' /opt/BookStack/.env \
&& chown -R apache:apache /opt/BookStack \
&& sed -i -e 's#DocumentRoot "/var/www/localhost/htdocs"#DocumentRoot "/opt/BookStack/public"#' /etc/apache2/httpd.conf \
&& echo $'<Directory /opt/BookStack/public>\n\
AllowOverride All\n\
Require all granted\n\
</Directory>' >> /etc/apache2/httpd.conf \
&& sed -i -e 's|#LoadModule rewrite_module modules/mod_rewrite.so|LoadModule rewrite_module modules/mod_rewrite.so|' /etc/apache2/httpd.conf \
&& echo $'#!/bin/sh \n\
if [ -f /opt/BookStack/cinit ]; then \n\
echo "ok." \n\
else \n\
php artisan key:generate --force \n\
until mysqladmin ping -h db -P 3306 --silent; do echo -n "." && sleep 1; done \n\
php artisan migrate --force \n\
touch /opt/BookStack/cinit \n\
fi \n\
/usr/sbin/httpd -D FOREGROUND' >> /opt/BookStack/init.sh \
&& chmod +x /opt/BookStack/init.sh
EXPOSE 80
VOLUME /opt/BookStack
CMD ["/opt/BookStack/init.sh"]
docker-compose up -d
version: "2"
services:
db:
image: mariadb:10.3
container_name: db
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_DATABASE: bookstack
MYSQL_ROOT_PASSWORD: bookstack
ports:
- "3306:3306"
volumes:
- db-data:/var/lib/mysql
bookstack:
image: bookstack
container_name: "bookstack"
volumes:
- "bookstack-data:/opt/BookStack"
ports:
- "80:80"
depends_on:
- db
volumes:
db-data:
driver: local
bookstack-data:
driver: local
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/debian-9.4"
config.vm.hostname = "db94bookstackmariadb"
config.vm.provider :virtualbox do |vbox|
vbox.name = "db94bookstackmariadb"
vbox.cpus = 2
vbox.memory = 2048
vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
end
config.vm.network "private_network", ip: "192.168.55.108", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.108", :netmask => "255.255.255.0"
config.vm.provision "shell", inline: <<-SHELL
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
# install apache2
apt-get -y install php7.0 libapache2-mod-php7.0 apache2 php7.0-mbstring php7.0-pdo php7.0-mysqlnd php7.0-simplexml php7.0-mcrypt php7.0-gd php7.0-dom unzip
# 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 bookstack DEFAULT CHARACTER SET utf8mb4;"
mysql -uroot -e "CREATE USER bookstack@localhost IDENTIFIED BY 'bookstack';"
mysql -uroot -e "GRANT ALL PRIVILEGES ON bookstack.* TO 'bookstack'@'localhost';"
mysql -uroot -e "FLUSH PRIVILEGES;"
# install php
apt-get -y install apache2 libapache2-mod-php7.0 php7.0 php7.0-mysqlnd php7.0-pdo php7.0-mbstring php7.0-curl php7.0-mcrypt php7.0-xml php7.0-gd php7.0-zip php7.0-tidy unzip curl git
# install composer
curl -s https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
# install bookstack
cd /opt
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
cd /opt/BookStack
composer install
cp .env.example .env
#DB_HOST=localhost
sed -i -e 's/DB_DATABASE=database_database/DB_DATABASE=bookstack/' /opt/BookStack/.env
sed -i -e 's/DB_USERNAME=database_username/DB_USERNAME=bookstack/' /opt/BookStack/.env
sed -i -e 's/DB_PASSWORD=database_user_password/DB_PASSWORD=bookstack/' /opt/BookStack/.env
php artisan key:generate --force
php artisan migrate --force
chown -R www-data:www-data /opt/BookStack
cat << EOF > /etc/apache2/sites-available/bookstack.conf
<VirtualHost *:80>
ServerName 192.168.1.108
DocumentRoot /opt/BookStack/public
<Directory /opt/BookStack/public>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
EOF
a2enmod rewrite
a2ensite bookstack.conf
a2dissite 000-default.conf
systemctl restart apache2.service
echo 'access to http://192.168.1.108/'
echo 'default account : admin@admin.com/password'
SHELL
end
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/debian-9.4"
config.vm.hostname = "db94docuwiki"
config.vm.provider :virtualbox do |vbox|
vbox.name = "db94docuwiki"
vbox.cpus = 2
vbox.memory = 2048
vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
end
config.vm.network "private_network", ip: "192.168.55.106", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.106", :netmask => "255.255.255.0"
config.vm.provision "shell", inline: <<-SHELL
# update packages
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
# install apache2 dokuwiki
apt-get -y install php7.0 libapache2-mod-php7.0 apache2 php7.0-mbstring php7.0-xml
# install dokuwiki
wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
tar xvfz dokuwiki-stable.tgz
mv dokuwiki-2018-04-22 /var/www/html/dokuwiki
chown -R www-data:www-data /var/www/html/dokuwiki
systemctl restart apache2
echo 'access http://192.168.55.106/dokuwiki/'
SHELL
end
docker build -t bookstack .
FROM alpine:3.7
WORKDIR /
RUN apk update \
&& apk add --no-cache apache2 php7 php7-phar php7-simplexml php7-fileinfo php7-xmlwriter php7-tokenizer php7-ctype php7-apache2 php7-mysqli php7-mbstring php7-session php7-xml php7-dom php7-gd php7-zip php7-zip php7-json php7-pdo php7-pdo_mysql php7-tidy openssl openrc unzip git curl mysql-client \
&& rm -rf /var/cache/apk/* \
&& curl -s https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/composer
WORKDIR /opt
RUN git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
WORKDIR /opt/BookStack
RUN /usr/local/bin/composer install \
&& mkdir -p /run/apache2 \
&& cp .env.example .env \
&& sed -i -e 's/DB_HOST=localhost/DB_HOST=db/' /opt/BookStack/.env \
&& sed -i -e 's/DB_DATABASE=database_database/DB_DATABASE=bookstack/' /opt/BookStack/.env \
&& sed -i -e 's/DB_USERNAME=database_username/DB_USERNAME=root/' /opt/BookStack/.env \
&& sed -i -e 's/DB_PASSWORD=database_user_password/DB_PASSWORD=bookstack/' /opt/BookStack/.env \
&& chown -R apache:apache /opt/BookStack \
&& sed -i -e 's#DocumentRoot "/var/www/localhost/htdocs"#DocumentRoot "/opt/BookStack/public"#' /etc/apache2/httpd.conf \
&& echo $'<Directory /opt/BookStack/public>\n\
AllowOverride All\n\
Require all granted\n\
</Directory>' >> /etc/apache2/httpd.conf \
&& sed -i -e 's|#LoadModule rewrite_module modules/mod_rewrite.so|LoadModule rewrite_module modules/mod_rewrite.so|' /etc/apache2/httpd.conf \
&& echo $'#!/bin/sh \n\
if [ -f /opt/BookStack/cinit ]; then \n\
echo "ok." \n\
else \n\
php artisan key:generate --force \n\
until mysqladmin ping -h db -P 3306 --silent; do echo -n "." && sleep 1; done \n\
php artisan migrate --force \n\
touch /opt/BookStack/cinit \n\
fi \n\
/usr/sbin/httpd -D FOREGROUND' >> /opt/BookStack/init.sh \
&& chmod +x /opt/BookStack/init.sh
EXPOSE 80
VOLUME /opt/BookStack
CMD ["/opt/BookStack/init.sh"]
docker-compose up -d
version: "2"
services:
db:
image: mysql:5.7
container_name: db
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_DATABASE: bookstack
MYSQL_ROOT_PASSWORD: bookstack
ports:
- "3306:3306"
volumes:
- db-data:/var/lib/mysql
bookstack:
image: bookstack
container_name: "bookstack"
volumes:
- "bookstack-data:/opt/BookStack"
ports:
- "80:80"
depends_on:
- db
volumes:
db-data:
driver: local
bookstack-data:
driver: local
lxc init ubuntu:18.04 ub1804dokuwiki
lxc config set ub1804dokuwiki user.user-data - < config.yml
lxc start ub1804dokuwiki
#cloud-config
package_upgrade: true
hostname: ub1804dokuwiki
manage_etc_hosts: true
runcmd:
- "apt-get update"
- "apt-get -y install php7.2 libapache2-mod-php7.2 apache2 php7.2-mbstring php7.2-xml"
- "wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz"
- "tar xvfz dokuwiki-stable.tgz"
- "mv dokuwiki-2018-04-22a /var/www/html/dokuwiki"
- "chown -R www-data:www-data /var/www/html/dokuwiki"
- "systemctl restart apache2"
final_message: "completed."
PORT=80 PUBLIC_IP=<ホストのIP> CONTAINER_IP=<コンテナのIP> sudo -E bash -c 'iptables -t nat -I PREROUTING -i eth0 -p TCP -d $PUBLIC_IP --dport $PORT -j DNAT --to-destination $CONTAINER_IP:$PORT -m comment --comment "container"'
lxc exec ub1804dokuwiki /bin/bash
lxc list
lxc stop ub1804dokuwiki
lxc delete ub1804dokuwiki
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/centos-7.4"
config.vm.hostname = "co74bookstackmysql"
config.vm.provider :virtualbox do |vbox|
vbox.name = "co74bookstackmysql"
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 mysql
sudo yum -y remove mariadb-libs
yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum -y install yum-utils
yum -y install mysql mysql-devel mysql-server mysql-utilities
sudo systemctl enable mysqld.service
sudo systemctl start mysqld.service
# change password and create users and databases.
chkconfig mysqld on
service mysqld start
export MYSQL_ROOTPWD='Root123#'
export MYSQL_PWD=`cat /var/log/mysqld.log | awk '/temporary password/ {print $NF}'`
mysql -uroot --connect-expired-password -e "SET PASSWORD = PASSWORD('$MYSQL_ROOTPWD');"
export MYSQL_PWD=$MYSQL_ROOTPWD
export MYSQL_ROOTPWD='root'
mysql -uroot --connect-expired-password -e "UNINSTALL PLUGIN validate_password;"
mysql -uroot --connect-expired-password -e "SET PASSWORD = PASSWORD('$MYSQL_ROOTPWD'); FLUSH PRIVILEGES;"
mysql -uroot -proot -e "CREATE DATABASE bookstack DEFAULT CHARACTER SET utf8mb4;"
mysql -uroot -proot -e "CREATE USER bookstack@localhost IDENTIFIED BY 'bookstack';"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON bookstack.* TO 'bookstack'@'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-php72 httpd php php-pdo php-mbstring php-mysql php-gd php-xml php-zip php-json php-zip php-tidy git
# install composer
curl -s https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
# install bookstack
cd /opt
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
cd /opt/BookStack
/usr/local/bin/composer install
cp .env.example .env
#DB_HOST=localhost
sed -i -e 's/DB_DATABASE=database_database/DB_DATABASE=bookstack/' /opt/BookStack/.env
sed -i -e 's/DB_USERNAME=database_username/DB_USERNAME=bookstack/' /opt/BookStack/.env
sed -i -e 's/DB_PASSWORD=database_user_password/DB_PASSWORD=bookstack/' /opt/BookStack/.env
php artisan key:generate --force
php artisan migrate --force
chown -R apache:apache /opt/BookStack
sed -i -e 's#DocumentRoot "/var/www/html"#DocumentRoot "/opt/BookStack/public"#' /etc/httpd/conf/httpd.conf
cat << EOF >> /etc/httpd/conf/httpd.conf
<Directory /opt/BookStack/public>
AllowOverride All
Require all granted
</Directory>
EOF
systemctl restart httpd
echo 'access to http://192.168.1.103/'
echo 'default account : admin@admin.com/password'
SHELL
end
lxc init ubuntu:16.04 dokuwiki
lxc config set dokuwiki user.user-data - < config.yml
lxc start dokuwiki
#cloud-config
package_upgrade: true
hostname: dokuwiki
manage_etc_hosts: true
write_files:
- path: /tmp/dokuwiki.conf
content: |
<Directory /usr/share/dokuwiki>
Order allow,deny
Allow from all
</Directory>
runcmd:
- "apt-get update"
- "apt-get -y install php7.0 libapache2-mod-php7.0 apache2 php7.0-mbstring php7.0-xml"
- 'echo "dokuwiki dokuwiki/system/purgepages boolean false" | debconf-set-selections'
- 'echo "dokuwiki dokuwiki/wiki/password password admin" | debconf-set-selections'
- 'echo "dokuwiki dokuwiki/wiki/confirm password admin" | debconf-set-selections'
- "apt-get -y install dokuwiki"
- "ln -s /usr/share/dokuwiki /var/www/html/"
- "chown -R www-data:www-data /usr/share/dokuwiki"
- "mv /tmp/dokuwiki.conf /etc/apache2/sites-available/"
- "a2ensite dokuwiki"
- "systemctl restart apache2"
final_message: "completed."
PORT=80 PUBLIC_IP=<ホストのIP> CONTAINER_IP=<コンテナのIP> sudo -E bash -c 'iptables -t nat -I PREROUTING -i eth0 -p TCP -d $PUBLIC_IP --dport $PORT -j DNAT --to-destination $CONTAINER_IP:$PORT -m comment --comment "container"'
lxc exec dokuwiki /bin/bash
lxc list
lxc stop dokuwiki
lxc delete dokuwiki
from ubuntu:16.04
run sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list \
&& apt-get update \
&& apt-get -y install software-properties-common \
&& add-apt-repository ppa:hermlnx/xrdp \
&& apt-get update \
&& apt-get install -y language-pack-ja-base language-pack-ja \
&& ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
&& echo 'Asia/Tokyo' > /etc/timezone \
&& locale-gen ja_JP.UTF-8 \
&& echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
&& echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
LANGUAGE=ja_JP.UTF-8 \
LC_ALL=ja_JP.UTF-8
run DEBIAN_FRONTEND=noninteractive apt-get -y install \
xubuntu-desktop \
xrdp \
fcitx-mozc \
fonts-ipafont-gothic \
fonts-ipafont-mincho \
vim \
python-xdg \
python-gtk2 \
&& wget http://zim-wiki.org/downloads/zim_0.67_all.deb \
&& dpkg -i zim_0.67_all.deb \
&& im-config -n fcitx \
&& apt-get clean \
&& rm -rf /var/cache/apt/archives/* \
&& rm -rf /var/lib/apt/lists/* \
&& groupadd -g 1000 ubuntu \
&& useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
&& echo 'ubuntu:ubuntu' | chpasswd \
&& echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
&& echo 'sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/ubuntu/.config/fcitx/profile' >> /home/ubuntu/.xsessionrc \
&& chown ubuntu:ubuntu /home/ubuntu/.xsessionrc \
&& mkdir -p /home/ubuntu/Notebooks \
&& chown -R ubuntu:ubuntu /home/ubuntu/Notebooks \
&& echo $'#!/bin/bash\n\
export GTK_IM_MODULE=fcitx\n\
export QT_IM_MODULE=fcitx\n\
export XMODIFIERS="@im=fcitx"\n\
startxfce4\n\
sudo /etc/init.d/xrdp start\n\
sudo /etc/init.d/dbus start\n\
fcitx -r -d &\n\
/bin/bash' >> /start.sh \
&& chmod +x /start.sh
expose 3389
volume ["/home/ubuntu/Notebooks"]
cmd /start.sh
docker build -t cub1604xfcezim .
docker run -it -v `pwd`:/home/ubuntu/Notebooks -p 3389:3389 -u ubuntu cub1604xfcezim
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/centos-7.4"
config.vm.hostname = "co74xfcezim"
config.vm.network :public_network, ip:"192.168.1.117"
config.vm.provider :virtualbox do |vbox|
vbox.name = "co74xfcezim"
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 zim
yum -y install Zim
telinit 5
SHELL
end
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/debian-9.3"
config.vm.hostname = "db93cinnamonzim"
config.vm.network "public_network", ip:"192.168.1.116", :netmask => "255.255.255.0"
config.vm.provider :virtualbox do |vbox|
vbox.name = "db93cinnamonzim"
vbox.gui = true
vbox.cpus = 4
vbox.memory = 4096
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF
cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xsessionrc
apt-get -y install xrdp fcitx-mozc task-cinnamon-desktop tigervnc-standalone-server
apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.6/VBoxGuestAdditions_5.2.6.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.6.iso /media/
/media/VBoxLinuxAdditions.run
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"
cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | gawk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp
# install zim
apt-get -y install python-xdg
wget http://zim-wiki.org/downloads/zim_0.67_all.deb
dpkg -i zim_0.67_all.deb
init 5
SHELL
end
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "bento/debian-9.3"
config.vm.hostname = "db93gnomezim"
config.vm.network "public_network", ip:"192.168.1.114", :netmask => "255.255.255.0"
config.vm.provider :virtualbox do |vbox|
vbox.name = "db93gnomezim"
vbox.gui = true
vbox.cpus = 4
vbox.memory = 4096
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF
cat << EOF > /home/vagrant/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xprofile
apt-get -y install xrdp fcitx-mozc task-gnome-desktop tigervnc-standalone-server
apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.6/VBoxGuestAdditions_5.2.6.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.6.iso /media/
/media/VBoxLinuxAdditions.run
export DISPLAY=:0.0
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"
cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | gawk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp
# install zim
apt-get -y install python-xdg
wget http://zim-wiki.org/downloads/zim_0.67_all.deb
dpkg -i zim_0.67_all.deb
init 5
SHELL
end