redmineサーバを旧サーバから新サーバへ移行させる

サーバを新調した際に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

残作業

リポジトリの設定等、新環境で必要に応じて実施して完了です。

タグ , . ブックマークする パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください