RedmineとGitの移行
■RedmineとGit移行概要作業サーバ | 作業内容 |
---|---|
現行サーバ | Mysqlのデータバックアップ |
Redmineのファイルバックアップ | |
新サーバ | Alminiumのインストール |
Mysqlのデータリストア | |
Redmineのファイルをリストア | |
RedmineDBのマイグレーション | |
Redmineプラグインのマイグレーション | |
GITの移行 |
Redmineの移行(現行サーバ上で作業)
■Mysqlバックアップ# mysqldump -u alminium alminium -palminium > /tmp/alminium.dump※Alminumの初期アカウント/パスワード:alminium/alminium
# cd /opt/alminium/ # tar cvf /tmp/alminium_files.tar files/ # tar cvf /tmp/alminium_public.tar public/
Redmineの移行(新サーバ上で作業)
■Alminiumのインストール# mysql -u root -p drop database alminium; create database alminium DEFAULT CHARACTER SET utf8;・alminiumデータベースのリストア
# mysql -u root -p alminium < /tmp/alminium.dump
# vi /opt/alminium/config/database.yml
production: adapter: mysql2 database: alminium host: 172.20.1.205 username: alminium password: alminium encoding: utf8
# /etc/init.d/httpd stop # rm -rf /opt/alminum/files # cd /opt/alminium/ # tar xvf /tmp/alminium_files.tar # tar xvf /tmp/alminium_public.tar
# cd /opt/alminium # bundle exec rake db:migrate RAILS_ENV=production
# bundle exec rake redmine:plugins:migrate RAILS_ENV=production
bundle exec rake tmp:cache:clear bundle exec rake tmp:sessions:clear
# /etc/init.d/httpd restart
Gitの移行
tarコマンドで対象のGITリポジトリをアーカイブし、新サーバで展開するだけで済むようです。 alminiumでインストールされた場合は、「/var/opt/alminium/git/」以下にあるディレクトリを移行してください。・新サーバでリポジトリの初期化
・一時保管サーバでリポジトリのクローン取得
・取得したリポジトリのクローン元情報を削除
・新サーバのリポジトリを更新
移行前Gitサーバ | 10.1.1.151 |
---|---|
移行後Gitサーバ | 172.20.1.207 |
リポジトリ名 | cloud_base |
ユーザ名 | user01 |
# mkdir cloud_base # git init --bare cloud_base # chown apache:apache -R cloud_base※ディレクトリ以下すべてをHTTPDの実行ユーザを所有者とする。
$ cd work $ git clone --mirror http://user01@10.1.1.151/git/cloud_base※workは作業ディレクトリ
$ cd cloud_base.git $ git remote $ git remote rm origin Note: A non-remote branch was not removed; to delete it, use: git branch -d master
$ git config --global http.sslVerify false $ git push --all https://user01@172.20.1.207/git/cloud_base
チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド |
Alminium(RedmineとGit/SVN)のインストール手順
■AlminiumAlminium(RedmineとGit/SVN)のインストール事前作業
■Gitのインストール確認# which git /usr/bin/git■libyamlのインストール確認
# wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm
# vi /etc/yum.repos.d/epel.repo
enabled=0※すべて無効化する
# yum --enablerepo=epel install libyaml.x86_64 libyaml-devel.x86_64
Alminium(RedmineとGit/SVN)のインストール
# cd /usr/local/src/ # git clone https://github.com/alminium/alminium.git # ls alminium # cd alminium/
# ./smelt RHEL 6.x / CentOS 6.x / OEL 6.xが検出されました。 ******************************************************* ホスト名の設定 ******************************************************* ホスト名(IPアドレスもしくはDNS名)を入力してください。ホスト名はApacheのバーチャ ルホストで利用されます。 例えば、192.168.1.4をホスト名で入力すると、http://192.168.1.4/でアクセスすることになります。 (上記の設定ではhttp://localhost/では接続できないのでご注意ください) ホスト名: www.hogehoge.com ******************************************************* SSLのサポート ******************************************************* SSLのサポートを有効にすると、httpsのみの接続を許可します。 httpでのアクセスは、全てhttpsのポートへ転送されるようになります。 SSLの証明書は認証機関により署名されたものではありません。通信の暗号化のみ に利用します。 gitの利用では、 $ git config --global http.sslVerify false などのコマンドで、SSLの証明書を無効にする必要があります。 SSL(https)サポートを有効にしますか?(y/N) y ******************************************************* メール設定 ******************************************************* Redmineのシステムメールを送信するための設定を行います。 <利用する上での注意> ・利用したいメールシステムと通信可能なことをご確認ください。ファイアーウォールなどで遮断されている場合は管理者にお問い合わせください。 ・Sendmailコマンドを利用する場合、別途Sendmailの設定を行う必要があります。 ・G-Mail/Hotmailを利用する場合、ユーザー名とパスワードがあれば利用可能です。 次の中から、使いたいメールシステムを選択してください。 ここでメール設定を行わない場合は「N」を選択してください。 0. 独自のメールサーバーを設定する 1. Linux内のSendmailコマンドを使用する 2. G-Mail/Google Apps 3. Windows Live Hotmail N. メール設定をしない 番号選択: 1 「Linux内のSendmailコマンドを使用する」を選択しました。 継続的インテグレーションツールのJenkinsのインストール・設定を行うことができます 。デフォルトはインストールしません。よく分からなければNを選択してください。Jenkinsをインストールしますか?[y/N] y *** run pre-install script *** ******************************************************* セキュリティの設定 ******************************************************* アプリケーションを動作させるために、ファイアフォールの設定とSELinuxの無効化を行 います。 nと答えると手動でセキュリティの設定が必要となります。分らない場合はYと答えてください。 アプリケーションを動作させるためにセキュリティの設定を行いますか?[Y/n] Y 省略・・・・・・・・・・・・・・・・・・※赤字箇所が入力箇所です。
Redmineログのログローテート設定
Redmine(alminium)のログは、/opt/alminium/log/production.logとなるが、 このログはデフォルトではログローテートしません。# vi /etc/logrotate.d/redmine
/opt/alminium/log/*log { missingok # ファイルが存在しなくてもエラーににない notifempty # copytruncate # ログを別名でコピーした後、元のファイルの内容を空にする compress # 古いログを圧縮して保存する }