現状、ConoHaの別サーバーでDocker+bitnamiのDockerイメージで運用していたRedmineをCentOS Streamの方に移行してみる。
1. 現サーバーでの作業
下記サイトの説明を踏まえて、データをバックアップ。
https://redmine.jp/faq/system_management/backup/
files ディレクトリ
Dockerコンテナ内の下記フォルダをバックアップ。
/bitnami/redmine/files
外部から直接FTPなどでアクセスできるようになってないので、docker exec でコンテナに入って、対象フォルダを tar で固めて、docker cp コマンドでDockerホスト側にコピー。それを、FTPで落としてくる。
データベース
下記コマンドでデータベースのダンプを取得。
mysqldump -u MySQLユーザー名 -pMySQLパスワード Redmineデータベース名 > データ出力先ファイル名
このファイルも、docker cp コマンドでDockerホスト側にコピー。それを、FTPで落としてくる。
また、バージョン情報も控えておく。これは管理者ユーザーでredmineにログインして、[管理」>[情報」とたどれば確認できる。
Environment:
Redmine version 4.0.5.stable
Ruby version 2.6.5-p114 (2019-10-01) [x86_64-linux]
Rails version 5.2.3
Environment production
Database adapter Mysql2
Mailer queue ActiveJob::QueueAdapters::AsyncAdapter
Mailer delivery smtp
SCM:
Git 2.23.0
Filesystem
Redmine plugins:
no plugin installed
2. Ruby on Rails のセットアップ
2.1. rbenvのインストール
cd ~
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL -l
rbenv --version ### バージョン確認してインストールできたか確認
rbenv 1.1.2-40-g62d7798
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
2.2. Rubyのインストール
sudo dnf install -y bzip2 tar gcc make openssl-devel readline-devel zlib-devel ### ないとインストール出来ない
rbenv install --list
2.5.8
2.6.6
2.7.2
3.0.0
jruby-9.2.14.0
mruby-2.1.2
rbx-5.0
truffleruby-20.3.0
truffleruby+graalvm-20.3.0
rbenv install -v 2.6.6 ### 現サイトのRubyが2.6.5なので、同じ2.6系をチョイス
rbenv versions ### インストール済のバージョンを表示
2.6.6
rbenv global 2.6.6 ### システム全体で有効にするバージョンを指定
2.3. Rails のインストール
gem install rails -v 5.2.3 ### 現サイトのRailsと合わせる
3. Redmineの新規インストール
3.1. 本体のダウンロードと展開
wget https://www.redmine.org/releases/redmine-4.0.5.tar.gz
tar xvf redmine-4.0.5.tar.gz
mv redmine-4.0.5 [Redmineの公開ディレクトリ]
3.2. データベースの作成
下記SQLを実行するか、phpMyAdminでRedmine用のデータベースを作成。
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
3.3. データベースの接続設定
cd [Redmineの公開ディレクトリ]
cd config
cp database.yml.example database.yml
vi databese.yml
### 以下のセクションを必要に応じて変更
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: ""
encoding: utf8
3.4. 依存するソフトウェアのインストール
gem install bundler
sudo dnf -y install mariadb-devel
bundle install --without development test rmagick
bundle exec rake generate_secret_token
3.5. データの復元
現サイトからバックアップしておいた、以下のものをリストアする。
- files ディレクトリ
- データベース
3.6. 動作確認
下記コマンドでRedmineを起動することができる。
firewall-cmd --add-port=3000/tcp --zone=public --permanent
firewall-cmd --reload
bundle exec rails server webrick -e production
起動したら、下記のURLでアクセスできるが、マニュアルには下記の中期もあるので、別の方法を考える必要がありそうだ。
http://[サーバーのIP]:3000/
Webrickは通常は開発時に使用すものであり、通常の運用には適していません。動作確認以外には使用しないでください。本番運用においてはPassenger(mod_rails)、FCGI、またはRackサーバ(Unicorn, Thin, Puma,hellipなど)の利用を検討してください。
http://guide.redmine.jp/RedmineInstall/#step-9-
一応、この状態で、現サイトからのデータ移行も含めて確認はできたが、まだIPアドレスでしかアクセスできないし、「Webrickは動作確認以外には使用しないでください」とあるので、その対応も必要そうだ。