LoginSignup
0
1

More than 5 years have passed since last update.

VirtualBox5.1.14上の Ubuntu14.04で動作する Redmine3.3.1-0へ USBメモリでデータを引っ越す

Last updated at Posted at 2017-01-27

Windows7のVirtualBox上でBitnamiの仮想マシン用Redmine(Ubuntu14)を使ってみた。
VirtualPC上Windows7でのRedmineより負担が軽いので、引っ越し手順を記録する。
より簡単な方法があれば教えて頂けると幸いです。

つまづいた場所は3か所で、1.VirtualBoxに64bitCPUと認識させる。
2.USBメモリをマウント。そして3.Redmineの内部エラー。
参考文献を見て解決できたようなので、メモとして残す。

環境

 引越元PC:Windows Virtual PC
 引越元OS:Windows7 Ultimate SP1
 引越元RM:Bitnami Redmine Stack 3.2.0-2
 (参考:Win7にBitnami RedmineをインストールしGitリポジトリを覗く
 ホストPC:Lenovo TinkCentre 6064-A17 Core2DuoCPU@2.66GHz RAM4.3GB HDD152.4GB
 ホストOS:Ubuntu 16.04LTS 日本語Remix
 ゲストPC:Oracle VM VirtualBox 1CPU RAM1024MB HDD17GB
 ゲストOS:Ubuntu 14.04
 引越先RM:Bitnami Redmine3.3.1-0 Ubuntu14.04 Stack
 (ホストOSやOracle VM VirtualBoxは既にインストール済みの状態から始める)
 既にFAT32でフォーマットされたUSBメモリを準備する。
 Redmineのhtdocs下filesと、データベースのダンプredmine.sqlを入れる。

原理

 1.ホストPC-BIOS設定Advanced中Enable VT-dがEnableでないと、VirtualBoxの64bitOSが動作しない。
 2.ホストOSがUbuntuだとユーザがvboxusersに所属していない場合はUSB機器の一覧が表示されない。
 3.Redmine対策時"bundle exec rake db:migrate"する前rbenvをインストールしたら成功した。
 (参考文献)
 仮想マシンの作成で64bit OSを選択可能にする方法
 VirtualBoxでのUSBデバイス認識
 Update Redmine 3.2.1->3.3.0 partiall failed
 Ubuntu14.04にrbenvをインストールしてRubyのバージョン管理

詳細

1.ホストPCのBIOSを設定する。

  参考文献にはAdvancedの”Intel Virtualization Technology”とある、今回は”Enable VT-d”だった。
  両方ともEnableにしておくと手堅いかも。
IMG_5824.JPG

2.vboxusersへ所属(ホストOSがLinuxの場合、Winは不要)

  VirtualBoxの仮想マシンで、ホストPC挿入のUSB機器一覧を表示するため、
  vboxusersグループに所属する。
  $ sudo gpasswd -a YOUR_USERNAME vboxusers
  そして再起動する。

3.Bitnami Ubuntu + Redmine のインストール

  Bitnamiのページへ行って、Virtual Machines用のUbuntu+Redmineをダウンロードする。
  (この時ダウンロードしたのはUbuntuが14.04、Redmineが3.3.1-0の64bit)
  VirtualBoxマネージャーの”ファイル(F)”->”仮想アプライアンスのインポート(I)…”を選択。
  (VirtualBoxマネージャーがアクティブ時、画面最上部へマウスを合わせると”ファイル(F)”等が表示)
Screenshot from 2017-01-27 11-56-07.png

  ダウンロードしたファイル”bitnami-redmine-3.3.1-0-r28-linux-ubuntu-14.04-x86_64.ova”を選んで開く。
Screenshot from 2017-01-27 15-13-35.png

  仮想マシン”bitnami-redmine”ができるので選択して”設定(S)”->USBで”USBコントローラーを有効化”にチェック。
Screenshot from 2017-01-27 15-15-14.png
Screenshot from 2017-01-27 15-15-54.png

  設定を保存したら、起動する。この時ホストPCのBIOS設定が正しくないとエラーが発生する。
  64bit-err.png

  起動したらこんな表示が出るので、ログインする。
Screenshot from 2017-01-27 15-18-31.png

4.Redmineデータのリストア

  仮想マシンウィンドウのデバイス->USB->データを入れたUSBメモリにチェック。
  マウントする場所を作り、読み書き可能な設定にして、USBマウントする。
  $ sudo mkdir /mnt/usb
  $ sudo chmod 777 /mnt/usb
  $ sudo mount -t vfat /deb/sdb /mnt/usb

  USBメモリにはhtdocsの下にあるfilesフォルダとデータベースのダンプをリダイレクトしたredmine.sqlを入れてあるので、仮想マシンに移す。
  データベースの定義ファイルの中を見てproduction:部分のデータベース名、ユーザ名、パスワードを控える。
  mysqlにリダイレクトで入力する。
  $ cp -r /mnt/usb/files /opt/bitnami/apps/redmine/htdocs/
  $ cat /opt/bitnami/apps/redmine/htdocs/config/database.yml | more

Screenshot from 2017-01-27 15-47-28.png

  控えたデータベース名、ユーザ名、パスワードでデータベースに書き込む。
  $ mysql -ubitnami -pf16d5d83d5 bitnami_redmine < /mnt/usb/redmine.sql

  USBメモリをアンマウントする。
  $ sudo umount /dev/sdb

  仮想マシンウィンドウのデバイス->USB->データを入れたUSBメモリから
  チェックを外す。

5.対策準備のためrbenvをインストール

  原理の参考文献では対策のためにrbenvを使っているが、仮想マシンには入っていないのでインストールする。
  apt-getをアップデートし、rbenvをインストールする。
  $ sudo apt-get update
  $ sudo apt-get upgrade
  $ cd
  $ sudo apt-get install git build-essential libssl-dev
  $ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
  $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

  私は日本語キーボードで文字を打ったので、チルダ”~”を出すのに”半角/全角漢字”キーを使った。
  "~/.profile"の末尾に下記を追加する。(viエディタは仮想マシンにインストールされていた)
  export PATH="$HOME/.rbenv/bin:$PATH"
  eval "$(rbenv init -)"

  上記を反映させる。
  $ source ~/.profile

6.Redmineの内部異常対策

  データを引っ越しただけでは新しいチケットを追加しようとすると内部エラーが発生した。
  こんな風にしてみたが、本当は対策中に他の人が使う可能性を考えてRedmineを停止させなければならないだろう。
  $ cd /opt/bitnami/apps/redmine/htdocs
  $ export RAILS_ENV="production"
  $ rbenv localsystem
  $ bundle install --without development test
  $ bundle exec rake generate_secret_token
  $ bundle exec rake db:migrate RAILS_ENV=production
  $ sudo reboot

7.その他

  共有フォルダを使ってデータを引っ越そうと思っていたが、諦めた。

以上

0
1
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
0
1