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

2022年3月22日火曜日

Microk8sで同一ポッド内にMantis Bug TrackerとPostgreSQLを配置する(local永続ボリューム使用)

Microk8sで同一ポッド内にMantis Bug TrackerとPostgreSQLを配置するには、以下の手順を実行します。Mantis Bug Trackerの構成フォルダとPostgreSQLのデータはlocal永続ボリュームに保存します。

〇MantisBTの画面
デフォルトユーザ/パスワードはadministrator/rootです。

実行手順

1. ビルトインレジストリの有効化(※既に実施している場合はスキップしてください)
Microk8sがインストールされているホスト上で以下のコマンドを実行します。
microk8s enable registry:size=50Gi
※registryプラグインが有効化してあるか不明な場合はmicrok8s statusコマンドを実行します。

Dockerがインストールしてあるリモートマシン上で以下のコマンドを実行します。192.168.1.1の部分は、Microk8sのホストのIPに変更してください。
cat << EOF | sudo tee /etc/docker/daemon.json
{
    "insecure-registries" : ["192.168.1.1:32000"]
}
EOF

sudo systemctl restart docker

2. 以下のDockerfileを使用してイメージを作成します
cat << EOF > Dockerfile
FROM alpine:3.15
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-pgsql php8-pdo php8-pdo_pgsql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mv /var/www/localhost/htdocs /var/www/localhost/htdocs.bak \
  && mv mantisbt-2.25.2 /var/www/localhost/htdocs \
  && chown -R apache:apache /var/www/localhost/htdocs \
  && mkdir -p /run/apache2
EXPOSE 80
VOLUME ["/var/www/localhost/htdocs/config"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
EOF

・イメージ作成コマンド ※192.168.1.1の部分はMicrok8sのホストのIPに変更してください。
docker build . -t 192.168.1.1:32000/mantisbtpg:latest

・イメージのタグ付け
docker tag `docker images | grep '192.168.1.1:32000/mantisbtpg' | awk '{print $3}'` 192.168.1.1:32000/mantisbtpg:latest

・イメージをビルトインレジストリにプッシュ
docker push 192.168.1.1:32000/mantisbtpg:latest

・Microk8sのサーバ上で、イメージが登録されたことを確認するには以下のコマンドを実行します。
wget http://192.168.1.1:32000/v2/_catalog -O -

3. Mantis Bug Tracker構成格納/PostgreSQLデータ用ディレクトリを作成
以下のコマンドでMantis Bug Tracker構成格納/PostgreSQLデータ用ディレクトリを作成します。
sudo mkdir -p /var/mantisbt-conf

sudo mkdir -p /var/pgdata

sudo chown 100:101 /var/mantisbt-conf/

4. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
※Mantis Bug Tracker用
cat << EOF > local-mantisbt-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-mantisbt-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/mantisbt-conf
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-mantisbt-pv.yml

※PostgreSQL用
cat << EOF > local-pg-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pg-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/pgdata
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-pg-pv.yml

5. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
※Mantis Bug Tracker用
cat << EOF > local-mantisbt-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-mantisbt-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-mantisbt-pv
EOF

microk8s kubectl apply -f ./local-mantisbt-pvc.yml

※PostgreSQL用
cat << EOF > local-pg-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-pg-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-pg-pv
EOF

microk8s kubectl apply -f ./local-pg-pvc.yml

6. Mantis Bug TrackerとPostgreSQLのDeploymentの作成
以下のコマンドでMantis Bug TrackerとPostgreSQLを含むポッドと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > mantisbt-pg-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mantisbt-pg-deployment
  labels:
    app: mantisbt-pg
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mantisbt-pg
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mantisbt-pg
    spec:
      containers:
      - name: mypg
        image: postgres:14-alpine
        env:
        - name: POSTGRES_DB
          value: mantisbt
        - name: POSTGRES_USER
          value: mantisbt
        - name: POSTGRES_PASSWORD
          value: mantisbt
        ports:
        - containerPort: 5432
        volumeMounts:
        - name: pgdata
          mountPath: /var/lib/postgresql/data
      - name: mantisbt
        image: localhost:32000/mantisbtpg:latest
        ports:
        - containerPort: 80
        volumeMounts:
        - name: mantisbt-conf
          mountPath: /var/www/localhost/htdocs/config
      volumes:
      - name: pgdata
        persistentVolumeClaim:
          claimName: local-pg-pvc
      - name: mantisbt-conf
        persistentVolumeClaim:
          claimName: local-mantisbt-pvc
EOF

microk8s kubectl apply -f ./mantisbt-pg-deployment.yml

7. Mantis Bug TrackerとPostgreSQLのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > mantisbt-pg-service.yml
apiVersion: v1
kind: Service
metadata:
  name: mantisbt-pg-service
spec:
  selector:
    app: mantisbt-pg
  type: LoadBalancer
  externalIPs:
  - 192.168.1.1 # 外部からアクセスできるMicrok8sをインストールしたホストのIPを設定します。
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 80
  - name: db
    protocol: TCP
    port: 5432
    targetPort: 5432
EOF

microk8s kubectl apply -f ./mantisbt-pg-service.yml

8. ブラウザから以下のURLからmantisbtにアクセスします。
http://<Microk8sをインストールしたホストのIP>:8080/
Installer Optionsで以下の項目を入力する
Type of Database: PostgreSQL
Hostname (for Database Server): 127.0.0.1
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2022年3月21日月曜日

Microk8sで同一ポッド内にMantis Bug TrackerとMariaDBを配置する(local永続ボリューム使用)

Microk8sで同一ポッド内にMantis Bug TrackerとMariaDBを配置するには、以下の手順を実行します。Mantis Bug Trackerの構成フォルダとMariaDBのデータはlocal永続ボリュームに保存します。

〇MantisBTの画面
デフォルトユーザ/パスワードはadministrator/rootです。

実行手順

1. ビルトインレジストリの有効化(※既に実施している場合はスキップしてください)
Microk8sがインストールされているホスト上で以下のコマンドを実行します。
microk8s enable registry:size=50Gi
※registryプラグインが有効化してあるか不明な場合はmicrok8s statusコマンドを実行します。 Dockerがインストールしてあるリモートマシン上で以下のコマンドを実行します。192.168.1.1の部分は、Microk8sのホストのIPに変更してください。
cat << EOF | sudo tee /etc/docker/daemon.json
{
    "insecure-registries" : ["192.168.1.1:32000"]
}
EOF

sudo systemctl restart docker

2. 以下のDockerfileを使用してイメージを作成します
cat << EOF > Dockerfile
FROM alpine:3.15
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-mysqli php8-pdo php8-pdo_mysql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mv /var/www/localhost/htdocs /var/www/localhost/htdocs.bak \
  && mv mantisbt-2.25.2 /var/www/localhost/htdocs \
  && chown -R apache:apache /var/www/localhost/htdocs \
  && mkdir -p /run/apache2
EXPOSE 80
VOLUME ["/var/www/localhost/htdocs/config"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
EOF

・イメージ作成コマンド ※192.168.1.1の部分はMicrok8sのホストのIPに変更してください。
docker build . -t 192.168.1.1:32000/mantisbtmariadb:latest

・イメージのタグ付け
docker tag `docker images | grep '192.168.1.1:32000/mantisbtmariadb' | awk '{print $3}'` 192.168.1.1:32000/mantisbtmariadb:latest

・イメージをビルトインレジストリにプッシュ
docker push 192.168.1.1:32000/mantisbtmariadb:latest

・Microk8sのサーバ上で、イメージが登録されたことを確認するには以下のコマンドを実行します。
wget http://192.168.1.1:32000/v2/_catalog -O -

3. Mantis Bug Tracker構成格納/MariaDBデータ用ディレクトリを作成
以下のコマンドでMantis Bug Tracker構成格納/MariaDBデータ用ディレクトリを作成します。
sudo mkdir -p /var/mantisbt-conf

sudo mkdir -p /var/mariadb-data

sudo chown 100:101 /var/mantisbt-conf

4. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
※Mantis Bug Tracker用
cat << EOF > local-mantisbt-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-mantisbt-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/mantisbt-conf
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-mantisbt-pv.yml

※MariaDB用
cat << EOF > local-mariadb-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-mariadb-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/mariadb-data
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-mariadb-pv.yml

5. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
※Mantis Bug Tracker用
cat << EOF > local-mantisbt-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-mantisbt-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-mantisbt-pv
EOF

microk8s kubectl apply -f ./local-mantisbt-pvc.yml

※MariaDB用
cat << EOF > local-mariadb-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-mariadb-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-mariadb-pv
EOF

microk8s kubectl apply -f ./local-mariadb-pvc.yml

6. Mantis Bug TrackerとMariaDBのDeploymentの作成
以下のコマンドでMantis Bug TrackerとMariaDBを含むポッドと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > mantisbt-mariadb-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mantisbt-mariadb-deployment
  labels:
    app: mantisbt-mariadb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mantisbt-mariadb
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mantisbt-mariadb
    spec:
      containers:
      - name: mariadb
        image: mariadb:10.7-focal
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: mantisbt
        - name: MYSQL_DATABASE
          value: mantisbt
        - name: MYSQL_USER
          value: mantisbt
        - name: MYSQL_PASSWORD
          value: mantisbt
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: mariadb-data
          mountPath: /var/lib/mysql
      - name: mantisbt
        image: localhost:32000/mantisbtmariadb:latest
        ports:
        - containerPort: 80
        volumeMounts:
        - name: mantisbt-conf
          mountPath: /var/www/localhost/htdocs/config
      volumes:
      - name: mariadb-data
        persistentVolumeClaim:
          claimName: local-mariadb-pvc
      - name: mantisbt-conf
        persistentVolumeClaim:
          claimName: local-mantisbt-pvc
EOF

microk8s kubectl apply -f ./mantisbt-mariadb-deployment.yml

7. Mantis Bug TrackerとMariaDBのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > mantisbt-mariadb-service.yml
apiVersion: v1
kind: Service
metadata:
  name: mantisbt-mariadb-service
spec:
  selector:
    app: mantisbt-mariadb
  type: LoadBalancer
  externalIPs:
  - 192.168.1.1 # 外部からアクセスできるMicrok8sをインストールしたホストのIPを設定します。
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 80
  - name: db
    protocol: TCP
    port: 3306
    targetPort: 3306
EOF

microk8s kubectl apply -f ./mantisbt-mariadb-service.yml

8. ブラウザから以下のURLからmantisbtにアクセスします。
http://<Microk8sをインストールしたホストのIP>:8080/
Installer Optionsで以下の項目を入力する
Type of Database: MySQL Improved
Hostname (for Database Server): 127.0.0.1
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2022年3月4日金曜日

Minikubeで同一ポッド内にMantis Bug TrackerとPostgreSQLを配置する(local永続ボリューム使用)

Minikubeで同一ポッド内にMantis Bug TrackerとPostgreSQLを配置するには、以下の手順を実行します。Mantis Bug Trackerの構成フォルダとPostgreSQLのデータはlocal永続ボリュームに保存します。

〇MantisBTの画面

実行手順

1. 以下のDockerfileを使用してイメージを作成します
# ホスト側で実行して、dockerの向き先をminikubeにします
eval $(minikube -p minikube docker-env)

cat << EOF > Dockerfile
FROM alpine:3.15
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-pgsql php8-pdo php8-pdo_pgsql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mv /var/www/localhost/htdocs /var/www/localhost/htdocs.bak \
  && mv mantisbt-2.25.2 /var/www/localhost/htdocs \
  && chown -R apache:apache /var/www/localhost/htdocs \
  && mkdir -p /run/apache2
EXPOSE 80
VOLUME ["/var/www/localhost/htdocs/config"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
EOF

docker build -t mantisbtpg .

2. Mantis Bug Tracker構成格納/PostgreSQLデータ用ディレクトリを作成
以下のコマンドでMantis Bug Tracker構成格納/PostgreSQLデータ用ディレクトリを作成します。
minikube ssh

sudo mkdir -p /var/mantisbt-conf

sudo mkdir -p /var/pgdata

sudo chown 100:101 /var/mantisbt-conf

exit

3. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
※Mantis Bug Tracker用
cat << EOF > local-mantisbt-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-mantisbt-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/mantisbt-conf
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-mantisbt-pv.yml

※PostgreSQL用
cat << EOF > local-pg-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pg-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/pgdata
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-pg-pv.yml

4. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
※Mantis Bug Tracker用
cat << EOF > local-mantisbt-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-mantisbt-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-mantisbt-pv
EOF

kubectl apply -f ./local-mantisbt-pvc.yml

※PostgreSQL用
cat << EOF > local-pg-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-pg-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-pg-pv
EOF

kubectl apply -f ./local-pg-pvc.yml

5. Mantis Bug TrackerとPostgreSQLのDeploymentの作成
以下のコマンドでMantis Bug TrackerとPostgreSQLを含むポッドと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > mantisbt-pg-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mantisbt-pg-deployment
  labels:
    app: mantisbt-pg
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mantisbt-pg
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mantisbt-pg
    spec:
      containers:
      - name: mypg
        image: postgres:14-alpine
        env:
        - name: POSTGRES_DB
          value: mantisbt
        - name: POSTGRES_USER
          value: mantisbt
        - name: POSTGRES_PASSWORD
          value: mantisbt
        ports:
        - containerPort: 5432
        volumeMounts:
        - name: pgdata
          mountPath: /var/lib/postgresql/data
      - name: mantisbt
        image: mantisbtpg
        imagePullPolicy: Never # ローカルイメージを使用する
        ports:
        - containerPort: 80
        volumeMounts:
        - name: mantisbt-conf
          mountPath: /var/www/localhost/htdocs/config
      volumes:
      - name: pgdata
        persistentVolumeClaim:
          claimName: local-pg-pvc
      - name: mantisbt-conf
        persistentVolumeClaim:
          claimName: local-mantisbt-pvc
EOF

kubectl apply -f ./mantisbt-pg-deployment.yml

6. Mantis Bug TrackerとPostgreSQLのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > mantisbt-pg-service.yml
apiVersion: v1
kind: Service
metadata:
  name: mantisbt-pg-service
spec:
  selector:
    app: mantisbt-pg
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 80
  - name: db
    protocol: TCP
    port: 5432
    targetPort: 5432
EOF

kubectl apply -f ./mantisbt-pg-service.yml

7. Port-Fowardingで外部からアクセスできるようにする
kubectl port-forward --address 0.0.0.0 service/mantisbt-pg-service 8080:8080 5432:5432

ブラウザから以下のURLからMantisBTにアクセスします。
http://<MinikubeをインストールしたホストのIP>:8080/
Installer Optionsで以下の項目を入力する
Type of Database: PostgreSQL
Hostname (for Database Server): 127.0.0.1
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2022年3月3日木曜日

Minikubeで同一ポッド内にMantis Bug TrackerとMariaDBを配置する(local永続ボリューム使用)

Minikubeで同一ポッド内にMantis Bug TrackerとMariaDBを配置するには、以下の手順を実行します。Mantis Bug Trackerの構成フォルダとMariaDBのデータはlocal永続ボリュームに保存します。

○MantisBTの画面

実行手順

1. 以下のDockerfileを使用してイメージを作成します
# ホスト側で実行して、dockerの向き先をminikubeにします
eval $(minikube -p minikube docker-env)

cat << EOF > Dockerfile
FROM alpine:3.15
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-mysqli php8-pdo php8-pdo_mysql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mv /var/www/localhost/htdocs /var/www/localhost/htdocs.bak \
  && mv mantisbt-2.25.2 /var/www/localhost/htdocs \
  && chown -R apache:apache /var/www/localhost/htdocs \
  && mkdir -p /run/apache2
EXPOSE 80
VOLUME ["/var/www/localhost/htdocs/config"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
EOF

docker build -t mantisbtmariadb .

2. Mantis Bug Tracker構成格納/MariaDBデータ用ディレクトリを作成
以下のコマンドでMantis Bug Tracker構成格納/MariaDBデータ用ディレクトリを作成します。
minikube ssh

sudo mkdir -p /var/mantisbt-conf

sudo mkdir -p /var/mariadb-data

sudo chown 100:101 /var/mantisbt-conf

exit

3. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
※Mantis Bug Tracker用
cat << EOF > local-mantisbt-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-mantisbt-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/mantisbt-conf
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-mantisbt-pv.yml

※MariaDB用
cat << EOF > local-mariadb-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-mariadb-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/mariadb-data
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-mariadb-pv.yml

4. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
※Mantis Bug Tracker用
cat << EOF > local-mantisbt-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-mantisbt-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-mantisbt-pv
EOF

kubectl apply -f ./local-mantisbt-pvc.yml

※MariaDB用
cat << EOF > local-mariadb-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-mariadb-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-mariadb-pv
EOF

kubectl apply -f ./local-mariadb-pvc.yml

5. Mantis Bug TrackerとMariaDBのDeploymentの作成
以下のコマンドでMantis Bug TrackerとMariaDBを含むポッドと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > mantisbt-mariadb-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mantisbt-mariadb-deployment
  labels:
    app: mantisbt-mariadb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mantisbt-mariadb
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mantisbt-mariadb
    spec:
      containers:
      - name: mariadb
        image: mariadb:10.7-focal
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: mantisbt
        - name: MYSQL_DATABASE
          value: mantisbt
        - name: MYSQL_USER
          value: mantisbt
        - name: MYSQL_PASSWORD
          value: mantisbt
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: mariadb-data
          mountPath: /var/lib/mysql
      - name: mantisbt
        image: mantisbtmariadb
        imagePullPolicy: Never # ローカルイメージを使用する
        ports:
        - containerPort: 80
        volumeMounts:
        - name: mantisbt-conf
          mountPath: /var/www/localhost/htdocs/config
      volumes:
      - name: mariadb-data
        persistentVolumeClaim:
          claimName: local-mariadb-pvc
      - name: mantisbt-conf
        persistentVolumeClaim:
          claimName: local-mantisbt-pvc
EOF

kubectl apply -f ./mantisbt-mariadb-deployment.yml

6. Mantis Bug TrackerとMariaDBのサービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > mantisbt-mariadb-service.yml
apiVersion: v1
kind: Service
metadata:
  name: mantisbt-mariadb-service
spec:
  selector:
    app: mantisbt-mariadb
  ports:
  - name: http
    protocol: TCP
    port: 8080
    targetPort: 80
  - name: db
    protocol: TCP
    port: 3306
    targetPort: 3306
EOF

kubectl apply -f ./mantisbt-mariadb-service.yml

7. Port-Fowardingで外部からアクセスできるようにする
kubectl port-forward --address 0.0.0.0 service/mantisbt-mariadb-service 8080:8080 3306:3306

ブラウザから以下のURLからmantisbtにアクセスします。
http://<MinikubeをインストールしたホストのIP>:8080/
Installer Optionsで以下の項目を入力する
Type of Database: MySQL Improved
Hostname (for Database Server): 127.0.0.1
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2022年2月3日木曜日

DockerでMantis Bug Tracker、PostgreSQL14がインストールされたコンテナ(Alpine 3.15版)を構築する

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

〇Mantis Bug Trackerの画面
デフォルトユーザ/パスワードはadministrator/rootです。

構築方法

以下の手順で、Mantis Bug TrackerとPostgreSQLのコンテナを構築・実行します。
1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbtpg .

Dockerfile
FROM alpine:3.15
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-pgsql php8-pdo php8-pdo_pgsql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mv /var/www/localhost/htdocs /var/www/localhost/htdocs.bak \
  && mv mantisbt-2.25.2 /var/www/localhost/htdocs \
  && chown -R apache:apache /var/www/localhost/htdocs \
  && mkdir -p /run/apache2
EXPOSE 80
VOLUME ["/var/www/localhost/htdocs/config"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

3. Mantis Bug TrackerとPostgreSQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "3.3"
services:
  mantisbt:
    image: mantisbtpg
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/www/localhost/htdocs/config"
    ports:
      - "8080:80"
    depends_on:
      - db
    restart: always
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: mantisbt
      POSTGRES_USER: mantisbt
      POSTGRES_PASSWORD: mantisbt
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "db-data:/var/lib/postgresql/data"
    restart: always
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local

4. ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: PostgreSQL
Hostname (for Database Server): db
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2022年2月2日水曜日

DockerでMantis Bug Tracker、MariaDBがインストールされたコンテナ(Alpine 3.15版)を構築する

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

〇Mantis Bug Trackerの画面
デフォルトユーザ/パスワードはadministrator/rootです。

構築方法

以下の手順で、Mantis Bug TrackerとMariaDBのコンテナを構築・実行します。
1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbtmariadb .

Dockerfile
FROM alpine:3.15
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-mysqli php8-pdo php8-pdo_mysql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mv /var/www/localhost/htdocs /var/www/localhost/htdocs.bak \
  && mv mantisbt-2.25.2 /var/www/localhost/htdocs \
  && chown -R apache:apache /var/www/localhost/htdocs \
  && mkdir -p /run/apache2
EXPOSE 80
VOLUME ["/var/www/localhost/htdocs/config"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

3. Mantis Bug TrackerとMariaDBコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "3.3"
services:
  mantisbt:
    image: mantisbtmariadb
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/www/localhost/htdocs/config"
    ports:
      - "8080:80"
    depends_on:
      - db
    restart: always
  db:
    image: mariadb:latest
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password --skip-innodb-read-only-compressed
    ports:
      - "3306:3306"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: mantisbt
      MYSQL_DATABASE: mantisbt
      MYSQL_USER: mantisbt
      MYSQL_PASSWORD: mantisbt
    restart: always
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local

4. ブラウザからhttp://<Dockerホスト名またはIP>:8080/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: MySQL Improved
Hostname (for Database Server): db
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2021年12月2日木曜日

DockerでMantis Bug Tracker、MariaDBがインストールされたコンテナ(Alpine 3.14)を構築する

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

〇Mantis Bug Trackerの画面
デフォルトユーザ/パスワードはadministrator/rootです。

構築方法

以下の手順で、Mantis Bug TrackerとPostgreSQLのコンテナを構築・実行します。
1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbtmariadb .

Dockerfile
FROM alpine:3.14
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-mysqli php8-pdo php8-pdo_mysql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mkdir -p /opt \
  && mv mantisbt-2.25.2 /opt/mantisbt \
  && chown -R apache:apache /opt/mantisbt \
  && ln -s  /opt/mantisbt /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
  && mkdir -p /var/mantisbt \
  && chown -R apache:apache /var/mantisbt
EXPOSE 80
VOLUME ["/var/mantisbt","/opt/mantisbt"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

3. Mantis Bug TrackerとMariaDBコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "3.9"
services:
  mantisbt:
    image: mantisbtmariadb
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/mantisbt"
      - "mantisbt-opt:/opt/mantisbt"
    ports:
      - "80:80"
    depends_on:
      - db
    restart: always
  db:
    image: mariadb:latest
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password --skip-innodb-read-only-compressed
    ports:
      - "3306:3306"
    volumes:
      - "db-data:/var/lib/mysql"
    environment:
      MYSQL_ROOT_PASSWORD: mantisbt
      MYSQL_DATABASE: mantisbt
      MYSQL_USER: mantisbt
      MYSQL_PASSWORD: mantisbt
    restart: always
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local
  mantisbt-opt:
    driver: local

4. ブラウザからhttp://<Dockerホスト名またはIP>/mantisbt/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: MySQL Improved
Hostname (for Database Server): db
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2021年12月1日水曜日

DockerでMantis Bug Tracker、PostgreSQL14がインストールされたコンテナ(Alpine 3.14)を構築する

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

〇Mantis Bug Trackerの画面
デフォルトユーザ/パスワードはadministrator/rootです。

構築方法

以下の手順で、Mantis Bug TrackerとPostgreSQLのコンテナを構築・実行します。
1.DockerとDocker Composeをインストールしていない場合は、以下の手順を実行します。
以下のページを参照してDockerとDocker Composeをインストールします。

Debian 11(Bullseye)にDocker/Docker Compose V2系をインストールする

Ubuntu 20.04にDocker/Docker Compose V2系をインストールする

2. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbtpg .

Dockerfile
FROM alpine:3.14
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php8-apache2 php8-pgsql php8-pdo php8-pdo_pgsql php8-intl php8-mbstring php8-session php8-curl php8-json php8-xml php8-zip php8-tokenizer php8-ctype php8-gd php8-xmlwriter php8-xmlreader php8-dom php8-zlib php8-iconv php8-simplexml php8-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz \
  && tar xvfz mantisbt-2.25.2.tar.gz \
  && rm -f mantisbt-2.25.2.tar.gz \
  && mkdir -p /opt \
  && mv mantisbt-2.25.2 /opt/mantisbt \
  && chown -R apache:apache /opt/mantisbt \
  && ln -s  /opt/mantisbt /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
  && mkdir -p /var/mantisbt \
  && chown -R apache:apache /var/mantisbt
EXPOSE 80
VOLUME ["/var/mantisbt","/opt/mantisbt"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

3. Mantis Bug TrackerとPostgreSQLコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "3.9"
services:
  mantisbt:
    image: mantisbtpg
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/mantisbt"
      - "mantisbt-opt:/opt/mantisbt"
    ports:
      - "80:80"
    depends_on:
      - db
    restart: always
  db:
    image: postgres:14-alpine
    environment:
      POSTGRES_DB: mantisbt
      POSTGRES_USER: mantisbt
      POSTGRES_PASSWORD: mantisbt
    ports:
      - "5432:5432"
    container_name: postgres
    volumes:
      - "db-data:/var/lib/postgresql/data"
    restart: always
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local
  mantisbt-opt:
    driver: local

4. ブラウザからhttp://<Dockerホスト名またはIP>/mantisbt/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: PostgreSQL
Hostname (for Database Server): db
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt

2021年10月11日月曜日

Debian 11(Bullseye)にMantis Bug TrackerとMariaDBをインストールする

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

〇Mantis Bug Trackerの画面

インストール手順

1. 以下のコマンドを実行してMariaDBをインストールします。
sudo apt-get update

sudo apt-get -y install mariadb-server

sudo mysql -uroot -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"

mysql -uroot -proot -e "CREATE DATABASE mantisbt DEFAULT CHARACTER SET utf8mb4;"

mysql -uroot -proot -e "CREATE USER mantisbt@localhost IDENTIFIED BY 'mantisbt';"

mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON mantisbt.* TO 'mantisbt'@'localhost';"

mysql -uroot -proot -e "FLUSH PRIVILEGES;"
※適宜パスワードを変更してください。

2.Mantis Bug Trackerをインストールします。
sudo apt-get -y install apache2 \
  php7.4 \
  libapache2-mod-php7.4 \
  php7.4-json \
  php7.4-mysql \
  php7.4-pdo \
  php7.4-cli \
  php7.4-mbstring

wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz

tar xvfz mantisbt-2.25.2.tar.gz

sudo mv mantisbt-2.25.2 /opt/mantisbt

sudo chown -R www-data:www-data /opt/mantisbt

sudo ln -s  /opt/mantisbt /var/www/html

sudo mkdir -p /var/mantisbt

sudo chown -R www-data:www-data /var/mantisbt

sudo systemctl restart apache2

3.ブラウザでhttp://<ホスト名またはアドレス>/mantisbt/にアクセスして、下記項目を入力し、「Install/Upgrade Database」をクリックします。 Type of Database: MySQL Improved
Hostname (for Database Server): localhost
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt
Default Time Zone: Tokyo

4. インストール結果を確認し、画面下の「Continue」リンクをクリックします。

5. デフォルトのユーザ名「Administrator」、パスワード「root」を入力してログインします。

6. 管理者のパスワードを変更します。「ユーザを更新」ボタンをクリックします。

2020年5月31日日曜日

Ubuntu 20.04にMantis Bug TrackerとPostgreSQL12をインストールする

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

〇Mantis Bug Trackerの画面

〇インストール手順
1.PostgreSQL12のインストール
以下のコマンドを実行します。
sudo localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8
  ※ locale -aでja_JP.UTF-8が表示されれば実行する必要なし

sudo apt-get update

sudo apt-get -y install postgresql-12

echo "listen_addresses='*'" | sudo tee -a /etc/postgresql/12/main/postgresql.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /etc/postgresql/12/main/pg_hba.conf

echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /etc/postgresql/12/main/pg_hba.conf

sudo systemctl restart postgresql.service

sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user mantisbt with password 'mantisbt';
"
psql -c "
create database mantisbt owner mantisbt encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF
※パスワードは適宜変更してください。

2.Mantis Bug Trackerをインストールします。
sudo apt-get -y install apache2 \
  php7.4 \
  libapache2-mod-php7.4 \
  php7.4-json \
  php7.4-pgsql \
  php7.4-pdo \
  php7.4-cli \
  php7.4-mbstring

wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.24.1/mantisbt-2.24.1.tar.gz

tar xvfz mantisbt-2.24.1.tar.gz

sudo mv mantisbt-2.24.1 /opt/mantisbt

sudo chown -R www-data:www-data /opt/mantisbt

sudo ln -s  /opt/mantisbt /var/www/html

sudo mkdir -p /var/mantisbt

sudo chown -R www-data:www-data /var/mantisbt

sudo systemctl restart apache2

3.ブラウザでhttp://<ホスト名またはアドレス>/mantisbt/にアクセスして、下記項目を入力し、「Install/Upgrade Database」をクリックします。
Type of Database: PostgreSQL
Hostname (for Database Server): localhost
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt
Default Time Zone: Tokyo

4. インストール結果を確認し、画面下の「Continue」リンクをクリックします。

5. デフォルトのユーザ名「Administrator」、パスワード「root」を入力してログインします。

6. 管理者のパスワードを変更します。「ユーザを更新」ボタンをクリックします。


2020年5月3日日曜日

Ubuntu 20.04にMantis Bug TrackerとMariaDBをインストールする

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

〇Mantis Bug Trackerの画面


〇インストール手順
1. 以下のコマンドを実行してMariaDBをインストールします。
sudo apt-get update

sudo apt-get -y install mariadb-server

sudo mysql -uroot -e "SET PASSWORD = PASSWORD('root'); FLUSH PRIVILEGES;"

mysql -uroot -proot -e "CREATE DATABASE mantisbt DEFAULT CHARACTER SET utf8mb4;"

mysql -uroot -proot -e "CREATE USER mantisbt@localhost IDENTIFIED BY 'mantisbt';"

mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON mantisbt.* TO 'mantisbt'@'localhost';"

mysql -uroot -proot -e "FLUSH PRIVILEGES;"

2.Mantis Bug Trackerをインストールします。
sudo apt-get -y install apache2 \
  php7.4 \
  libapache2-mod-php7.4 \
  php7.4-json \
  php7.4-mysql \
  php7.4-pdo \
  php7.4-cli \
  php7.4-mbstring 

wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.24.0/mantisbt-2.24.0.tar.gz

tar xvfz mantisbt-2.24.0.tar.gz

sudo mv mantisbt-2.24.0 /opt/mantisbt

sudo chown -R www-data:www-data /opt/mantisbt

sudo ln -s  /opt/mantisbt /var/www/html

sudo mkdir -p /var/mantisbt

sudo chown -R www-data:www-data /var/mantisbt

sudo systemctl restart apache2

3.ブラウザでhttp://<ホスト名またはアドレス>/mantisbt/にアクセスして、下記項目を入力し、「Install/Upgrade Database」をクリックします。
Type of Database: MySQL Improved
Hostname (for Database Server): localhost
Username (for Database): mantisbt
Password (for Database): mantisbt
Database name (for Database): mantisbt
Default Time Zone: Tokyo



4. インストール結果を確認し、画面下の「Continue」リンクをクリックします。


5. デフォルトのユーザ名「Administrator」、パスワード「root」を入力してログインします。


6. 管理者のパスワードを変更します。「ユーザを更新」ボタンをクリックします。


2018年11月27日火曜日

Raspberry Pi上のDockerでMantis Bug Tracker2.18.0、MariaDBがインストールされたコンテナ(Alpine 3.8)を構築する

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

○Mantis Bug Trackerの画面

デフォルトユーザ/パスワードはadministrator/rootです。

○構築方法
以下の手順で、Mantis Bug TrackerとMariaDBのコンテナを構築・実行します。

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

Dockerfile
FROM alpine:3.8
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php7-apache2 php7-mysqli php7-pdo php7-pdo_mysql php7-intl php7-mcrypt php7-mbstring php7-session php7-curl php7-json php7-xml php7-zip php7-tokenizer php7-ctype php7-gd php7-xmlwriter php7-xmlreader php7-dom php7-zlib php7-iconv php7-simplexml php7-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.18.0/mantisbt-2.18.0.tar.gz \
  && tar xvfz mantisbt-2.18.0.tar.gz \
  && rm -f mantisbt-2.18.0.tar.gz \
  && mkdir -p /opt \
  && mv mantisbt-2.18.0 /opt/mantisbt \
  && chown -R apache:apache /opt/mantisbt \
  && ln -s  /opt/mantisbt /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
  && mkdir -p /var/mantisbt \
  && chown -R apache:apache /var/mantisbt
EXPOSE 80
VOLUME ["/var/mantisbt","/opt/mantisbt"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

2. Mantis Bug Tracker用のMariaDBイメージの作成(Dockerfile-mariadbとsetupdb.shのあるディレクトリで実行)
docker build -f Dockerfile-mariadb -t mariadb-mantisbt .

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

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

3. Mantis Bug TrackerとMariaDBコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "2"
services:
  mantisbt:
    image: mantisbt
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/mantisbt"
      - "mantisbt-opt:/opt/mantisbt"
    ports:
      - "80:80"
    depends_on:
      - db
  db:
    image: mariadb-mantisbt
    container_name: "mantisbt-db"
    volumes:
      - "db-data:/var/lib/mysql"
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local
  mantisbt-opt:
    driver: local

4. ブラウザからhttp://<Dockerホスト名またはIP>/mantisbt/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: MySQL Improved
Hostname (for Database Server): db
Username (for Database): root
Password (for Database): mantisbt
Database name (for Database): mantisbt


〇動作環境
動作環境:arm32(Raspberry Pi 3 Model B+)
Raspberry Piでdocker-composeを使用するには、「Raspberry Pi Raspbian GNU/Linux 9 (stretch)にdocker-composeをインストールする」を参照してください。


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

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

2018年7月15日日曜日

PortainerでMantis Bug Tracker2.15とMariaDBのスタックを作成する

Mantis Bug Trackerは、PHP製のバグ追跡・課題管理サーバです。Portainerで簡単にwebブラウザからMantis Bug Tracker2.15とMariaDBのスタックを作成する事ができます。

〇Mantis Bug Trackerの画面

デフォルトユーザ/パスワードはadministrator/rootです。

〇構築方法
1.Portainer画面横のImagesをクリックして、Image list画面からBuild a new imageボタンをクリック


2.Build image画面nameフィールドにmantisbt:2.15を入力


3.Web editorのテキストエリアに以下を貼り付け
FROM alpine:3.7
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php7-apache2 php7-mysqli php7-pdo php7-pdo_mysql php7-intl php7-mcrypt php7-mbstring php7-session php7-curl php7-json php7-xml php7-zip php7-tokenizer php7-ctype php7-gd php7-xmlwriter php7-xmlreader php7-dom php7-iconv php7-simplexml php7-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.15.0/mantisbt-2.15.0.tar.gz \
  && tar xvfz mantisbt-2.15.0.tar.gz \
  && rm -f mantisbt-2.15.0.tar.gz \
  && mkdir -p /opt \
  && mv mantisbt-2.15.0 /opt/mantisbt \
  && chown -R apache:apache /opt/mantisbt \
  && ln -s  /opt/mantisbt /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
  && mkdir -p /var/mantisbt \
  && chown -R apache:apache /var/mantisbt
EXPOSE 80
VOLUME ["/var/mantisbt","/opt/mantisbt"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

貼り付け後、build the image ボタンをクリックします。

4.画面横のStacksをクリック後、Stacks list画面でAdd a stackボタンをクリックします


5.Create stack画面で、Nameフィールドにmantisbt-stack、Web editorに以下を張り付ける
version: "3"
services:
  mantisbt:
    image: mantisbt:2.15
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/mantisbt"
      - "mantisbt-opt:/opt/mantisbt"
    ports:
      - "13980:80"
    depends_on:
      - mantisbtdb
  mantisbtdb:
    image: mariadb:10.3
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    container_name: "mantisbt-db"
    ports:
      - "13906:3306"
    volumes:
      - "mantisbtdbdb-data:/var/lib/mysql"
    environment:
        MYSQL_DATABASE: mantisbt
        MYSQL_ROOT_PASSWORD: mantisbt
volumes:
  mantisbtdbdb-data:
    driver: local
  mantisbt-data:
    driver: local
  mantisbt-opt:
    driver: local



貼り付け後、deploy stackボタンをクリックします。

6.ブラウザからhttp://<Dockerホスト名>:13980/mantisbt/にアクセスする
Installer Optionsで以下の項目を入力する
Type of Database: MySQL Improved
Hostname (for Database Server): mantisbtdb
Username (for Database): root
Password (for Database): mantisbt
Database name (for Database): mantisbt



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

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

2018年6月10日日曜日

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月7日木曜日

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

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

2018年5月3日木曜日

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

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

〇Mantis Bug Trackerの画面


○構築方法
1.以下のVagrantfileを使用して、Mantis Bug Tracker2.14とMySQL がインストールされた仮想マシン(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 = "db94mantisbt"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db94mantisbt"
     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 mysql
wget https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb
export DEBIAN_FRONTEND=noninteractive
echo mysql-apt-config mysql-apt-config/enable-repo select mysql-5.7-dmr | sudo debconf-set-selections
dpkg -i mysql-apt-config_0.8.9-1_all.deb
apt-get update
apt-get -y install mysql-server
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に関する他の記事はこちらを参照してください。

2018年3月12日月曜日

DockerでMantis Bug Tracker、PostgreSQLがインストールされたコンテナ(Alpine 3.7)を構築する

Mantis Bug Trackerは、PHP製のバグ追跡・課題管理サーバです。
以下の手順で、Mantis Bug TrackerとPostgreSQLのコンテナを構築・実行します。

○構築方法
1. Mantis Bug Trackerイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t mantisbtpg .

Dockerfile
FROM alpine:3.7
WORKDIR /
RUN  apk update \
  && apk add --no-cache apache2 php7-apache2 php7-pgsql php7-pdo php7-pdo_pgsql php7-intl php7-mcrypt php7-mbstring php7-session php7-curl php7-json php7-xml php7-zip php7-tokenizer php7-ctype php7-gd php7-xmlwriter php7-xmlreader php7-dom php7-zlib php7-iconv php7-simplexml php7-fileinfo openssl openrc unzip \
  && rm -rf /var/cache/apk/* \
  && wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.12.0/mantisbt-2.12.0.tar.gz \
  && tar xvfz mantisbt-2.12.0.tar.gz \
  && rm -f mantisbt-2.12.0.tar.gz \
  && mkdir -p /opt \
  && mv mantisbt-2.12.0 /opt/mantisbt \
  && chown -R apache:apache /opt/mantisbt \
  && ln -s  /opt/mantisbt /var/www/localhost/htdocs \
  && mkdir -p /run/apache2 \
  && mkdir -p /var/mantisbt \
  && chown -R apache:apache /var/mantisbt
EXPOSE 80
VOLUME ["/var/mantisbt","/opt/mantisbt"]
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

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

docker-compose.yml
version: "2"
services:
  mantisbt:
    image: mantisbtpg
    container_name: "mantisbt"
    volumes:
      - "mantisbt-data:/var/mantisbt"
      - "mantisbt-opt:/opt/mantisbt"
    ports:
      - "80:80"
    depends_on:
      - db
  db:
    image: postgres:9.6-alpine
    container_name: "mantisbt-db"
    ports:
      - "5432:5432"
    volumes:
      - "db-data:/var/lib/postgresql/data"
    environment:
        POSTGRES_DB: selfoss
        POSTGRES_PASSWORD: selfoss
volumes:
  db-data:
    driver: local
  mantisbt-data:
    driver: local
  mantisbt-opt:
    driver: local

3. ブラウザからhttp:///mantisbt/にアクセス
Installer Optionsで以下の項目を入力する
Type of Database: PostgreSQL
Hostname (for Database Server): db
Username (for Database): root
Password (for Database): mantisbt
Database name (for Database): mantisbt


○Mantis Bug Trackerの画面
デフォルトユーザ/パスワードはadministrator/rootです。



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