LoginSignup
0
0

More than 5 years have passed since last update.

仮想マシンのUbuntuにBitnamiRedmineを入れ、実マシンからGitリポジトリを覗く

Posted at

個人PC上の仮想マシンでホストになるのUbuntuServerを動かす。
仮想マシンのHDDはUSBメモリ上に置き、携帯する。
Ubuntu ServerにBitnamiのRedmineをインストールした。
Redmineに加えSSHで通信するGitを試した。
インストールからリポジトリを見るまでの手順を残す。
より簡単な方法があれば教えて頂けると幸いです。

環境

PC:VirtualBox5.1.14
OS:UbuntuServer16.04LTS64bit
RM:Bitnami-Redmine3.3.2-0

ローカルPC:ThinkCentre
ローカルOS:Windows10-32bit版 / UbuntuDesktop16.04-64bit版
ローカルGit:Git for Windows2.11.1
ローカルPCには既にVirtualBoxとGit for Windowsがインストール済み。

仮想マシンのHDDを格納するUSBメモリにはNTFSの領域があり、10GB以上の空きがある。
(FAT32では仮想マシンのHDD用ファイルを2Gより大きくできない)

ファイル転送用にもう一つ別のUSBメモリを用意する。
(共有フォルダ設定するのであれば不要)

原理

1.仮想マシンにUbuntuServerをインストール
-(参考:VirtualBox5.1.14上の Ubuntu14.04で動作する Redmine3.3.1-0へ USBメモリでデータを引っ越す)
-(参考:ログインする前の画面にIPアドレスを表示させる)
-(参考:VirtualBox 仮想 HDD の手動管理)

2.UbuntuServerにBitnamiのRedmineをインストール
-(参考:ubuntu 13.10で.runファイルをインストールする方法を教えてください。)
-(参考:【LIVA】【Ubuntu server14.04LTS】シェルスクリプトの自動実行登録)

3.SSHの鍵を作り、所定の場所へ作成した鍵を格納
-(参考:Ubuntu環境でSSHを使ってGitサーバーを立てる(初心者向))
-(参考:OpenSSH でリモートログイン)
-(参考:Ubuntu 15.04 SSH 鍵認証)

4.Gitのリポジトリを作り、変更してpush
-(参考:私家版 Git For Windowsのインストール手順)

5.Redmineでリポジトリを覗き、チケット番号を確認
-(参考:Win7にBitnami RedmineをインストールしGitリポジトリを覗く)

詳細

1.仮想マシンにUbuntuServerをインストール

RedmineとGitのホストになる仮想マシンを作る。
私はWindowsで作業中にエラーが出て行き詰ったので、
途中からUbuntuでインストールを行った。
ここでSSHサーバーが動作してるか確認してもいい。

a)Ubuntu本体をインストール

UbuntuServerのCDイメージをここから持ってくる。
https://www.ubuntu.com/download/server
download.png

VietualBoxを起動し「新規」をクリックする。
vbstart.png

今回名前:RMServer,タイプ:Linux,バージョン:Ubuntu(64-bit)とした。
machinename.png

メモリはデフォルトの1Gのままとする。
memory.png

ハードディスクを作成する。
harddisk.png

ディスクはデフォルトのVDI形式。
disktype.png

容量はデフォルトの可変。
variable.png

ディスク最大サイズはデフォルトの8Gから10Gに増加。
USBメモリに余裕があれば大きくすれば良いと思う。
携帯しないのであればできるだけ大きくとってもいいかも?
disksize.png

仮想マシンができたので起動する。
bonemec.png

初回は光学ドライブを選択できるので、Ubuntu-16.04.2-server-amd64.isoをマウントした。

言語を選ぶ。
どうせあまり見ないだろうからデフォールトの英語にする。
sellang1.png

UbuntuServerのインストールを選ぶ。
instserver.png

ブート不可と表示が出て作業が行き詰まった。
(行き詰まらなければWindowsで引き続きインストール作業していい。)
unabletoboot.png

NTFSでフォーマットしたUSBメモリにフォルダ
VirtualBoxを作り、その中にC:ドライブのユーザーの
下にあったRedmineServerという仮想ディスクの
ファイルなどが入っているフォルダをコピーする。
(UbuntuDesktop16.04-64bitへ作業を引き継ぐため。)
copyhdd.png

実マシンをUbuntuDesktop16.04-64bitで再起動する。
UbuntuのVirtualBoxにてWindowsの時と同様に仮想マシンを作る。
その時、ハードディスクは「すでにある仮想ハードディスクファイルを使用する」を
選択し、ファイルの場所はUSBメモリにコピーした物を指定する。
(図中の場所:/windows/~はUSBメモリに作ったNTFSの領域)
hddplace.png

「光学ドライブ」をクリックしてダウンロードした
Ubuntu-16.04.2-server-amd64.isoをマウントする。
setsvrcd.png

今回はインストールが進む。言語は英語を選択する。
seleng.png

国と地域を選択する。
selcnt.png

キーボードの自動選択はなしで進める。
keyautdet.png

キーボードの国を選択する。
selkeycnt.png

キーボードのレイアウトを選択する。
keylayout.png

今回、マシンの名前は"RedmineServer"とした。
hostname.png

今回、管理者の名前は"Redmine Server"とした。
realname.png

今回、アカウントのユーザーネームは"rms"とした。
acntname.png

今回、パスワードは"redmine"とした。
paswd1.png

パスワードの確認にも"redmine"を入力する。
paswd.png

パスワードが弱いというワーニングが出るが、構わず使用。
weakpwd.png

今回、ホームディレクトリを暗号化するかには「しない」とした。
encrypt.png

地域の確認がある、ここは大連なので、アジア/ハルピンと検出された。
timezone.png

今回、パーテーションはデフォルトの全ディスクをLVMにするを選択。
partition.png

インストールするパーテーションを選択する。(1つしかないが)
selpat.png

ディスク書き込みの確認がある。
LVMok.png

今回、サイズは最大のmaxとした。
sizemax.png

ディスクに変更を書き込む確認がある。
changedsk.png

今回、プロキシ設定はなしとした。
proxy.png

今回、自動アップデートはなしとした。(内部で使うため)
upgrades.png

一緒に OpenSSH server をインストールするとチェックした。
checkssh.png

GRUBブートローダを書き込むか確認がある。
grubboot.png

インストールが終わると、インストールメディア取り外し確認がある。
timetoboot.png

終了後ログイン名"rms",パスワード"redmine"でログインしてみる。
firstboot.png

'/etc/init.d/ssh status'と打ってSSHサーバが動作してるか見てみる。
checksshrun.png

Windowsで仮想マシンが作れる場合は、以下のエクスポート~
インポートの作業は不要。
「b)ログイン前にIPアドレスを表示させる」の直前で行う
仮想マシンのネットワーク設定へ進む。

仮想マシン->ACPIシャットダウンと選び、仮想マシンを止める。
stopvm.png

ファイル->仮想アプライアンスのエクスポートを選ぶ。
exportap.png

「次へ」をクリックする。
export2.png

ファイル選択をクリックし、NTFSフォーマットのUSBメモリを指定する。
selexport.png
export4.png

「エクスポート」をクリック
export5.png

エクスポートしたアプライアンスRedmineServerがUSBメモリの
VirtualBoxフォルダの外にあるのを確認してフォルダ内の
RedmineServerフォルダを消去する。
(フォルダ名=仮想マシン名で、重複を許さないため。)

実マシンをWindowsで再起動する。
Windows側のVirtualBoxの仮想マシンを消去する。
(VirtualBoxが仮想マシン名の重複を許さないため。)
仮想マシンを右クリックし、除去を選択する
delmchine1.png

「すべてのファイルを削除」を選択する。
delmchine2.png

ファイル->環境設定とクリックし、デフォルトの仮想マシンフォルダを
ユーザーの下の VirtualBox VMs から USBメモリのVirtualBoxにする。
chgenv1.png
chgenv2.png

ファイル->アプライアランスのインポートを選択する。
inport1.png

ファイルの選択をクリックする。
inport2.png

先ほどUbuntuで保存したUSBメモリ内のRedmineServer.ovaを選択する。
inport3.png

次へをクリックする。
inport4.png

インポートをクリックする。
chgname.png

仮想マシンをクリックしてから「起動」をクリックすると、
32bitのでインストールできなかったのに32bitのでも起動する。

仮想マシン->設定->ネットワークとクリックし、
割り当てを「ホストオンリーアダプター」とする。
(LANに対して通信を開かず独り占めする。)
hostonly2.png

b)ログイン前にIPアドレスを表示させる

ホストに接続するためには、ホストのIPアドレスが必要だ。
それを調べるためだけにホストへログインするの面倒である。

まず、標準の表示を退避する。
mvetcissue.png

スクリプトを書く。
show-ip-address.png

実行できるようにして、所定の場所に移動する。
excutable.png
placefile.png

起動すると、ログイン前にIPアドレスが表示される。
dispip.png

2.UbuntuServerにBitnamiのRedmineをインストール

ここでRedmineが自動起動するか確認してもいい。

a)Redmineをインストール

インストーラはここRedmine Installersから持ってくる。
https://bitnami.com/stack/redmine/installer#linux
dwldlnx.png

ダウンロードしたインストーラは仮想マシンのHDDファイルが
入ったのとは別のファイル転送用USBメモリに入れておく。
(フォーマットはFAT32でもよい)

マウント用フォルダを作り、読み書き可能にする。
mountusbd.png

USBメモリを仮想マシンに挿入する。
(誤って仮想マシンのHDDファイルが入ったUSBメモリを指定すると厄介な事になるので注意)
insertusb.png

挿入されるとこんな表示がる。
insertusb2d.png

USBメモリをマウントする。
mountusbd.png

インストーラをコピーし、実行する。
インストール時に使用する言語を聞いてくる。
cprunlng.png

今回は英語にした。
インストールするコンポーネントを選ぶ。
Gitをインストールする。
今回、インストールフォルダは/opt/redmineとした。
seldir.png

ユーザー名を入力、今回はbitnamiとした。
メールアドレスを入力、今回はbitnami@example.comとした。
ユーザーアカウント名を入力、今回はuserとした。
パスワードを入力(8文字以上)、今回はadministratorとした。
(このパスワードはMySQLのrootユーザのパスワードにもなる)
Redmineのデフォルト言語を選定、今回は英語とした。
メールによる設定補助はなしとした。
インストールの確認がある。
fnlcfm2.png

こんなインストール終了が表示される。
instfns.png

この時、仮想マシンのIPアドレス(192.168.56.103)のページをローカルPCで
開くと、Bitnamiのスタックがインストールできた表示が出る。
instfns2.png

しかし、sudo rebootとか打って仮想PCを再起動するとページが
見つからなくなった。
起動スクリプトを実行するとサービスが始まり、再びページが見つかる。
自動的にRedmineが立ち上がる場合は b) を飛ばして、次の
「3.SSHの鍵を作り、所定の場所へ作成した鍵を格納」へ進む。
mnustart.png

b)自動実行を設定

シェルスクリプトを書いて所定の場所に格納する。

まずスクリプトを書く。
startscr.png

処理をする。
startproc.png

仮想マシンを再起動してもログインする前にRedminが
起動する事をローカルから確認する。
Gitを使わないのであれば、ここまででよい。
(その場合、Bitnamiの仮想マシン用Redmineでもよい)

c)Gitにコミットするチケットを作り、その番号を記録

実マシン(ローカル)のWebブラウザからRedmineへアクセスする。
中央のAccess Redmineをクリックする。
startstp1.png

ログインをクリックする。
(この時点ではOSの言語だが、ログインすると指定した英語になる。)
homepage.png

インストールで指定したユーザー名:user、
パスワード:administratorでログインする。
login.png

管理から言語をかえる。
Administration->settings->Displayで表示させる。
rmlang.png

適当なプロジェクトを作る。
project.png
rmprj2.png

適当なチケットを発行する。
ticket.png
rmtkt2.png
rmtkt3.png

3.SSHの鍵を作り、所定の場所へ作成した鍵を格納

GitがSSHを必要とするため、この記事が書かれている。
本来、WinBashの公開鍵をSSHサーバのauthorized_keysに
加えるべきだが、この方法でも動いた。

a)仮想マシンでSSH鍵を作る

仮想マシンで"ssh-keygen -t rsa"と打ってSSH鍵ペアを作る。
今回、ディレクトリ変更なし、パスフレーズなし。
sshkeygen.png

b)公開鍵をauthorized_keysにリネーム

更に属性を変更する。
sshkeyren.png

c)秘密鍵を共有フォルダを通しユーザーの下の.sshフォルダに置く

今回は転送用USBメモリを通して仮想マシンからローカルPCへコピーした。
sshkeycpy1.png

転送用のUSBメモリをアンマウントする。
sshkeycpy15.png
sshkeycpy16.png

ローカルPCにGit for Windowsをインストールしてあると、Windows、USERS、「ユーザー名」の下に.sshフォルダが有り、中にid_rsaが既に有るかもしれない。
もし有ったら、これをid_rsa.bakにリネームし、仮想マシンの秘密鍵を置く。
sshkeycpy25.png

無ければ、Git BASHで入ったところの下に.sshフォルダを作り、秘密鍵を置く。
(Windowsでは".ssh"という名のフォルダを作りにくい)
saversa.png

4.Gitのリポジトリを作り、変更してpush

a)仮想マシンにGitリモートリポジトリ作成

ディレクトリ/gitrepoを作り、書き込み可能にする。
そこに移動してベアーリポジトリtutorial.gitを作る。
gitinit.png

b)ローカルPCに作業リポジトリを作り、クローン

Git CMDでc:ドライブの直下にworkフォルダを作りクローンする。
作業を継続するか尋ねられるので、yesと入力する。
空のリポジトリがコピーされたとの表示が出る。
gitcln2.png

失敗するとこんな表示が出る。
sshfail1.png

そんな時はPuTTYなんかでSSH通信をチェックしてもいい。
putty.png

.sshフォルダのknown_hostsを消したらクローンできた事もあった。

c)変更を加えてコミット、そしてプッシュ

ローカルPCでtutorialのディレクトリに移る。
変更を加えてgit addする。
ユーザのメールアドレスと名前を登録する。
コミットしてプッシュする。
cmtpsh.png

5.Redmineでリポジトリを覗き、チケット番号を確認

プロジェクトのリポジトリを設定してチケット番号が有る事を確認する。

先程作成したプロジェクトを選ぶ。
selprj.png

設定->リポジトリ->新しいリポジトリとクリック。
setrpo.png

管理システム:Git,識別子:tutorial,パス:/gitrepo/tutorial.gitとする。
newrpo.png

リポジトリが追加される。
識別子をクリックする。
setfns.png

リビジョンが表示され、コミット時のメッセージが見える。
チケット番号をクリックすると、チケットが見える。
tktlnk.png

6.その他

VirtualBoxでRedmineを動かす方がVirtualPCでやった時より
手間がかかるが、CPU負担が軽微。
仮想HDDのファイルを入れたUSBメモリはUbuntuDesktopと
VirtualBoxがインストールしてある。
これが有ると、VirtualBoxがインストールされていない
PCでもUSBメモリから起動して、Redmineが使用可能。
本来はRedmineとGitのバックアップデータだけをUSBメモリで
持ち運べばいいんだろうが、仮想マシンのハードディスクを
持ち運ぶ方がまだ便利だ。(仮想マシンの起動が面倒だが)
USBは挿すのが面倒なので、Redmineの様なITSは
ポケットWiFiルータかスマホと一体化するといいと思う。
(もちろん無料で)

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