サーバを新調した際にredmineサーバを旧サーバから新サーバに移動させたいと考える事があるかと思います。その際にOSもCentOSからUbuntuだったり、ubuntu20.04からubuntu22.04だったり、状況は色々あるかと思います。
以下は、旧環境でredmineのDBをdumpして、新環境ではUbuntu22.04とredmine最新版とする前提で書いています。
旧環境での作業(DBのダンプをしておく)
# dumpしておく
sudo mysqldump redmine > redmine.dump
上記でdumpしたファイルは、scp等で新サーバの/tmpにコピーしておいてください。
新環境での作業
/tmpにredmine.dumpがコピー済みである前提です。旧環境のredmineバージョンが古くても、新環境で最新版redmineリポジトリをチェックアウトした後、db:migrateすることでDBが最新化されます。
# 関係パッケージのインストール
sudo apt update
sudo apt install -y build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev mysql-server mysql-client apache2 apache2-dev libapr1-dev libaprutil1-dev imagemagick libmagick++-dev fonts-takao-pgothic subversion git ruby libruby ruby-dev libmysqlclient-dev
# mod-passengerのインストール
sudo apt install libapache2-mod-passenger
sudo a2enmod passenger
# rubyの必要ライブラリインストール
sudo gem install bundler racc mysql2
# apache起動時にstrscanのバージョンエラーが出ていた為、追加インストールしました
sudo gem install strscan
# DB作成
sudo mysql -uroot -p
CREATE DATABASE redmine character set utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY '9dcdaew*(cj9d0san*YSZCdsa342njD(SDca';
GRANT ALL ON redmine.* TO 'redmine'@'localhost';
flush privileges;
exit
# 旧環境でDUMPしておいたDBをインポート
sudo mysql redmine < /tmp/redmine.dump
# redmine最新版の取得
sudo mkdir /var/lib/redmine
sudo chown www-data /var/lib/redmine
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/5.0-stable /var/lib/redmine
# DB設定ファイルの用意
sudo cp /var/lib/redmine/config/database.yml.example /var/lib/redmine/config/database.yml
sudo vi /var/lib/redmine/config/database.yml
# productionのDBパスワードを、9dcdaew*(cj9d0san*YSZCdsa342njD(SDcaにします。
# redmineの初期設定
cd /var/lib/redmine
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle exec rake generate_secret_token
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
# DBインポートしている為、デフォルトデータのロードはしません。
# sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
# apacheのサイト設定ファイル用意
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/redmine.conf
Alias /redmine /var/lib/redmine/public
<Location /redmine>
PassengerBaseURI /redmine
PassengerAppRoot /var/lib/redmine
Require all granted
</Location>
__EOF__
# redmine.confを有効化して、configtestで問題なければapacheリロード
sudo a2ensite redmine.conf
sudo apache2ctl configtest
sudo systemctl reload apache2.service
# 必要に応じて実行。192.168.1.0/24は、対象のネットワークに合わせて修正します
sudo ufw allow from 192.168.1.0/24 to any app Apache
sudo ufw status unmbered
残作業
リポジトリの設定等、新環境で必要に応じて実施して完了です。