2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Redmine バージョンアップにおける番外編

Last updated at Posted at 2021-06-06
1 / 7

はじめに

  • 概要 調査・検討 / 構築 / 移行 / 番外編 のうちの、番外編 です
  • バージョンアップに伴う他作業も含めてシステム移行として扱います

記事の全体構成

バージョンアップ・移行とは異なる視点の内容です

  • 番外編 RedMicaの説明
  • 番外編1)RedmineのDockerをdocker-compose upで動かす例
  • 番外編2)Redmine3.2を構築した事例
  • 番外編3)VMWare仮想マシンへのディスク追加
  • 番外編4)markdown用のプラグイン

RedMica

  • remica v1.3.0 を使うと、
    Redmine5.0として取り込まれる機能が先行して使える、1ヶ月に1回くらいはリリースされる

We are pleased to announce the release of RedMica 1.2.1 (2021-05).

RedMica 1.3.0 is based on Redmine 4.2.1. This version delivers all the features provided in Redmine 4.2.1 and some new features that will be included in Redmine 5.0.0.

番外編1)docker使ってみる

windows dockerでの試し

  • 事前に、docker, WSL2 , docker-compose を利用できるようにしておく
  • PS :Power shell のことです
  • 事前準備ができていれば、10分かからずにRedmineが起動できます

docker-compose.yml ファイルのサンプル

redmine4.1のdockerイメージを使います

version: '3.8'

services:

  redmine:
    image: redmine:4.1
    networks:
      - frontend
    volumes:
      - ./data/volume:/usr/src/redmine/files
    restart: always
    ports:
      - 8080:3000
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: example
      REDMINE_SECRET_KEY_BASE: supersecretkey
    depends_on:

      - db

  db:
    image: mysql:5.7
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    networks:
      - frontend
    volumes:
      - ./data/database:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: redmine

networks:
  frontend:

コンテナ起動

PS > cd xxxx ymlファイルのある場所へ移動
PS > docker-compose up

ホストの8080にアクセス、コンテナの3000をホストの8080へフォワードされているので、
http://127.0.0.1:8080/
でredmineにアクセスできる
(左にホストのポートを、右にコンテナのポートを指定している)


番外編2)昔のRedmine3.2の環境整備(Apache + MySQL)

Redmine3.2を構築した時にインストールした時の情報

Redmine3.2の当時の情報のため情報が古いため注意してください
5年以上古いです(2016年4,5月頃の情報です)

参考にした
https://weblabo.oscasierra.net/install-redmine32-centos7-1/
とほぼ同じ手順で入れています

  • Apacheをインストールする
# yum install httpd
# systemctl enable httpd.service
  • MySQLをインストールする
    • CentOS7に入っているmariadbを消してmysqlを入れている
# yum remove mariadb-libs
# rm -rf /var/lib/mysql/

# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
# yum info mysql
# yum info mysql-community-server

起動
# systemctl start mysqld.service
停止
# systemctl stop mysqld.service

  • Ruby 2.2.3をインストールする
# yum install git
# cd /opt
# git clone git://github.com/sstephenson/rbenv.git
# echo 'export RBENV_ROOT="/opt/rbenv"' >> /etc/profile
# echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile
# echo 'eval "$(rbenv init -)"' >> /etc/profile
# mkdir /opt/rbenv/plugins
# cd /opt/rbenv/plugins
# git clone git://github.com/sstephenson/ruby-build.git

一度ターミナルを閉じて開き直し、続けて次のコマンド実行します。

# yum install gcc make openssl-devel readline-devel
# rbenv install 2.2.3
# rbenv global 2.2.3
# ruby -v

  • Phusion Passenger をインストールする
# gem list passenger
# gem install passenger
 2-3分くらいかかる
# gem list passenger
# yum install gcc gcc-c++ libcurl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel ImageMagick ImageMagick-devel

5分くらいはかかる

  • Redmine 3.2 をインストールする
# yum install ipa-pgothic-fonts
# gem install bundle

インストールが終わったら一度ターミナルを閉じて立ち上げなおしてください。

redmine3.2.1が最新なので、3.2.1にする。
# curl -O http://www.redmine.org/releases/redmine-3.2.1.tar.gz
# tar xzvf redmine-3.2.1.tar.gz
# mv redmine-3.2.1 /opt/

cd /opt/redmine-3.2.1/config
vi database.yml

Redmine に MySQL への接続設定を行います。 Redmine フォルダの下の config ディレクトリに database.yml というファイルを作成し、以下を記述します。
※ 新規構築 する場合は encoding: utf8mb4 にする

production:
  adapter: mysql2
  database: xxxx
  host: localhost
  username: yyyyy
  password: zzzz
  encoding: utf8
  • Redmine yml 設定後 bundle コマンドにより、必要な GEM をインストールします。
# yum install mysql-devel

# cd /opt/redmine-3.2.1/
# bundle install --without development test

# bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate

最後に、Apache が Redmine の実行者になるので Redmine のファイルの所有者を apache ユーザーに変更します。	
# chown -R apache:apache /opt/redmine-3.2.1
  • Apacheの設定,passengerを使う設定
LoadModule passenger_module /opt/rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.26/buildout/apache2/mod_passenger.so
PassengerRoot /opt/rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.26
PassengerDefaultRuby /opt/rbenv/versions/2.2.3/bin/ruby
<VirtualHost *:80>
    ServerName myhost.com
    DocumentRoot /opt/redmine-3.2.1/public
    <Directory /opt/redmine-3.2.1/public>
        AllowOverride all
        Options -MultiViews
    </Directory>
</VirtualHost>

apache、URLが http://domain/redmine のように ドメインの後に redmine がある場合(もしくは複数Redmineを1ドメインでホストするような場合

cd  /var/www/html
sudo ln -s /opt/redmine-3.2.1/public redmine

  • ssl
 yum install mod_ssl

firewalldでHTTPSを許可


番外編3)VMWare仮想マシンへのディスク追加

かなり古いvSphereで作業してて、新しいvCenterの方にもっていくその前段階の作業

参考

仮想マシンにディスクを追加する

  • CentOS7.x
  • 作業はGUI vsphere使う
vSphere
仮想マシン設定編集 → タブ「ハードウェア」、ボタン「追加」を押す →デバイスタイプで、ハードディスクを選択

→次へ

→新規仮想ディスクを作成→ディスクサイズ 50GB → ディスクプロビジョニングがThin Provisionで選択不可 →
場所は、「仮想マシンで保存」の選択のまま

→次へ→仮想デバイスノード SCSI(0:1)で良い(1つしかないならば、0:1で、2つあるならば0:2になる)
→進めて 終了でディスク追加が動く、数分かからず完了する

ディスク追加前

# df -k
ファイルシス            1K-ブロック     使用   使用可 使用% マウント位置
/dev/mapper/centos-root    40456908 37540036  2916872   93% /
devtmpfs                    1925652        0  1925652    0% /dev
tmpfs                       1941196       84  1941112    1% /dev/shm
tmpfs                       1941196     9040  1932156    1% /run
tmpfs                       1941196        0  1941196    0% /sys/fs/cgroup
/dev/sda1                    508588   160904   347684   32% /boot
/dev/mapper/centos-home    19748864   492600 19256264    3% /home
tmpfs                        388240       12   388228    1% /run/user/42
tmpfs                        388240        0   388240    0% /run/user/0

# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2

ディスク追加

  • 仮想マシンをシャットダウン
  • 50GBをthinプロビジョニング(デフォルト)で追加
  • 仮想マシンを電源オン
# df -h;
ファイルシス            サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos-root    39G   36G  3.5G   91% /
devtmpfs                  1.9G     0  1.9G    0% /dev
tmpfs                     1.9G   84K  1.9G    1% /dev/shm
tmpfs                     1.9G  8.9M  1.9G    1% /run
tmpfs                     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                 497M  158M  340M   32% /boot
/dev/mapper/centos-home    19G  482M   19G    3% /home
tmpfs                     380M   12K  380M    1% /run/user/42
tmpfs                     380M     0  380M    0% /run/user/0


# df -k;
ファイルシス            1K-ブロック     使用   使用可 使用% マウント位置
/dev/mapper/centos-root    40456908 36812604  3644304   91% /
devtmpfs                    1925652        0  1925652    0% /dev
tmpfs                       1941196       84  1941112    1% /dev/shm
tmpfs                       1941196     9044  1932152    1% /run
tmpfs                       1941196        0  1941196    0% /sys/fs/cgroup
/dev/sda1                    508588   160904   347684   32% /boot
/dev/mapper/centos-home    19748864   492600 19256264    3% /home
tmpfs                        388240       12   388228    1% /run/user/42
tmpfs                        388240        0   388240    0% /run/user/0

# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0  3月 23 16:27 /dev/sda
brw-rw---- 1 root disk 8,  1  3月 23 16:27 /dev/sda1
brw-rw---- 1 root disk 8,  2  3月 23 16:27 /dev/sda2
brw-rw---- 1 root disk 8, 16  3月 23 16:27 /dev/sdb

  • 追加されたのが、 /dev/sdb
  • dev/sdb をファイルシステム作成、xfsで作成する、CentOS7のデフォルト
# df -k
ファイルシス            1K-ブロック     使用   使用可 使用% マウント位置
/dev/mapper/centos-root    40456908 37539028  2917880   93% /
devtmpfs                    1925652        0  1925652    0% /dev
tmpfs                       1941196       84  1941112    1% /dev/shm
tmpfs                       1941196     9044  1932152    1% /run
tmpfs                       1941196        0  1941196    0% /sys/fs/cgroup
/dev/sda1                    508588   160904   347684   32% /boot
/dev/mapper/centos-home    19748864   492600 19256264    3% /home
tmpfs                        388240       12   388228    1% /run/user/42
tmpfs                        388240        0   388240    0% /run/user/0


# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb

# shutdown -h now

ここから fdisk

# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xc5f01c04.

コマンド (m でヘルプ): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p   ★pを選択する
パーティション番号 (1-4, default 1): 1     ★1を入力する
最初 sector (2048-104857599, 初期値 2048): 
初期値 2048 を使います
Last sector, +sectors or +size{K,M,G} (2048-104857599, 初期値 104857599): 
初期値 104857599 を使います
Partition 1 of type Linux and of size 50 GiB is set

コマンド (m でヘルプ): p       ★pを入力する

Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0xc5f01c04

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048   104857599    52427776   83  Linux

コマンド (m でヘルプ): w      ★wを入力する
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。

終わり

まだ、この時点ではマウントしていないので見えない

# df -h;
ファイルシス            サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos-root    39G   36G  3.5G   91% /
devtmpfs                  1.9G     0  1.9G    0% /dev
tmpfs                     1.9G   84K  1.9G    1% /dev/shm
tmpfs                     1.9G  8.9M  1.9G    1% /run
tmpfs                     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                 497M  158M  340M   32% /boot
/dev/mapper/centos-home    19G  482M   19G    3% /home
tmpfs                     380M   16K  380M    1% /run/user/42
tmpfs                     380M     0  380M    0% /run/user/0


# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1

  • xfsでフォーマットする
mkfs -t xfs /dev/sdb1
# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1              isize=256    agcount=4, agsize=3276736 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=13106944, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=6399, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
  • マウントする
mkdir /mnt/disk2
mount /dev/sdb1 /mnt/disk2
# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0  3月 23 16:27 /dev/sda
brw-rw---- 1 root disk 8,  1  3月 23 16:27 /dev/sda1
brw-rw---- 1 root disk 8,  2  3月 23 16:27 /dev/sda2
brw-rw---- 1 root disk 8, 16  3月 23 16:38 /dev/sdb
brw-rw---- 1 root disk 8, 17  3月 23 16:41 /dev/sdb1

# mount /dev/sdb1 /mnt/disk2

# df -h;
ファイルシス            サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos-root    39G   36G  3.5G   91% /
devtmpfs                  1.9G     0  1.9G    0% /dev
tmpfs                     1.9G   84K  1.9G    1% /dev/shm
tmpfs                     1.9G  8.9M  1.9G    1% /run
tmpfs                     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                 497M  158M  340M   32% /boot
/dev/mapper/centos-home    19G  482M   19G    3% /home
tmpfs                     380M   16K  380M    1% /run/user/42
tmpfs                     380M     0  380M    0% /run/user/0
/dev/sdb1                  50G   33M   50G    1% /mnt/disk2
  • fstabを編集する
/dev/sdb1 /mnt/disk2 xfs defaults 1 2
# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Apr 14 10:09:26 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=XXXXXXXX-XXXX-XXXX-XXXX-2ac4b7f07fe8 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdb1 /mnt/disk2 xfs defaults 1 2

追加したディスクでRedmineのfilesを使えるようにする

# cd /mnt/disk2
# mkdir redmine
# mkdir redmine/files
# chown -R apache:apache ./redmine
# ls -l -R
  • configuration.yml の修正 {path/to/redmine}/config/configuration.yml
    に 行追加、末尾のfilesの後に/スラッシュは不要

変更後例

# cat configuration.yml
production:
   email_delivery:


   attachments_storage_path: /mnt/disk2/redmine/files
  • filesのファイルコピー

redmine3.2のfilesをマウントした、Redmine4でのconfig設定した場所へ

# pwd
/opt/redmine-3.2.0/files

# cp -ap * /mnt/disk2/redmine/files/ &

filesの動作確認

  • 画面からファイルアップロードして確認
  • 画面からファイルをダウンロードして確認

番外編4)markdownを使えるプラグイン

  • Redmine全体のを変えてしまうと、独自のコンバートが必要
  • Redmineの利用者でチケットを主に使うのは設計者、テスターになり、プログラマーの利用率よりも多い
    • 利用者はRedmineの記法を使う人はまあまあ多く、プログラマーだとmarkdown使う、そのため、全体を変えると影響が大きい

プラグイン2種類

  • https://redmine.tokyo/issues/1036 を見ると

  • プロジェクト単位で切替えできるプラグインではmarkdownで書きたい人には向かない

  • 途中から導入できコメント単位でmarkdownと従来記法が選べるプラグインがあるのでそれが良いか(でも都度選択するのは手間か・・・)

プラグインredmine_persist_wfmtを試してみた

  • https://github.com/pinzolo/redmine_persist_wfmt がコメント単位でmarkdwonを使うことができるようになるプラグイン
  • プラグインのマイグレーションで約30分かかった
  • プラグインの導入 githubのreadme.mdの手順通り
cd /path/to/redmine/

Clone to your Redmine's plugins directory(Redmineのプラグインのディレクトリに git cloneする)

$ git clone https://github.com/pinzolo/redmine_persist_wfmt.git plugins/redmine_persist_wfmt
Install dependency gems

If you are already using Redmine, you probably only call bundle.(既にRedmineを使っているのであれば、bundleを使う)

$ bundle install --without test development

Execute migration(プラグインのマイグレーションを実行する)

$ bundle exec rake redmine:plugins:migrate NAME=redmine_persist_wfmt RAILS_ENV=production
Execute persist_all task

This task saves all wiki formats that already exist.(既にwiki記法の記載があるならばrakeコマンド実行する)

# FORMAT is required and must be 'textile' or 'markdown'
$ bundle exec rake pwfmt:persist_all FORMAT=textile RAILS_ENV=production


Restart your Redmine(Redmineを再起動)
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?