個人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
今回名前:RMServer,タイプ:Linux,バージョン:Ubuntu(64-bit)とした。
ディスク最大サイズはデフォルトの8Gから10Gに増加。
USBメモリに余裕があれば大きくすれば良いと思う。
携帯しないのであればできるだけ大きくとってもいいかも?
初回は光学ドライブを選択できるので、Ubuntu-16.04.2-server-amd64.isoをマウントした。
言語を選ぶ。
どうせあまり見ないだろうからデフォールトの英語にする。
ブート不可と表示が出て作業が行き詰まった。
(行き詰まらなければWindowsで引き続きインストール作業していい。)
NTFSでフォーマットしたUSBメモリにフォルダ
VirtualBoxを作り、その中にC:ドライブのユーザーの
下にあったRedmineServerという仮想ディスクの
ファイルなどが入っているフォルダをコピーする。
(UbuntuDesktop16.04-64bitへ作業を引き継ぐため。)
実マシンをUbuntuDesktop16.04-64bitで再起動する。
UbuntuのVirtualBoxにてWindowsの時と同様に仮想マシンを作る。
その時、ハードディスクは「すでにある仮想ハードディスクファイルを使用する」を
選択し、ファイルの場所はUSBメモリにコピーした物を指定する。
(図中の場所:/windows/~はUSBメモリに作ったNTFSの領域)
「光学ドライブ」をクリックしてダウンロードした
Ubuntu-16.04.2-server-amd64.isoをマウントする。
今回、管理者の名前は"Redmine Server"とした。
今回、ホームディレクトリを暗号化するかには「しない」とした。
地域の確認がある、ここは大連なので、アジア/ハルピンと検出された。
今回、パーテーションはデフォルトの全ディスクをLVMにするを選択。
インストールするパーテーションを選択する。(1つしかないが)
一緒に OpenSSH server をインストールするとチェックした。
インストールが終わると、インストールメディア取り外し確認がある。
終了後ログイン名"rms",パスワード"redmine"でログインしてみる。
'/etc/init.d/ssh status'と打ってSSHサーバが動作してるか見てみる。
Windowsで仮想マシンが作れる場合は、以下のエクスポート~
インポートの作業は不要。
「b)ログイン前にIPアドレスを表示させる」の直前で行う
仮想マシンのネットワーク設定へ進む。
仮想マシン->ACPIシャットダウンと選び、仮想マシンを止める。
ファイル選択をクリックし、NTFSフォーマットのUSBメモリを指定する。
エクスポートしたアプライアンスRedmineServerがUSBメモリの
VirtualBoxフォルダの外にあるのを確認してフォルダ内の
RedmineServerフォルダを消去する。
(フォルダ名=仮想マシン名で、重複を許さないため。)
実マシンをWindowsで再起動する。
Windows側のVirtualBoxの仮想マシンを消去する。
(VirtualBoxが仮想マシン名の重複を許さないため。)
仮想マシンを右クリックし、除去を選択する
ファイル->環境設定とクリックし、デフォルトの仮想マシンフォルダを
ユーザーの下の VirtualBox VMs から USBメモリのVirtualBoxにする。
先ほどUbuntuで保存したUSBメモリ内のRedmineServer.ovaを選択する。
仮想マシンをクリックしてから「起動」をクリックすると、
32bitのでインストールできなかったのに32bitのでも起動する。
仮想マシン->設定->ネットワークとクリックし、
割り当てを「ホストオンリーアダプター」とする。
(LANに対して通信を開かず独り占めする。)
b)ログイン前にIPアドレスを表示させる
ホストに接続するためには、ホストのIPアドレスが必要だ。
それを調べるためだけにホストへログインするの面倒である。
2.UbuntuServerにBitnamiのRedmineをインストール
ここでRedmineが自動起動するか確認してもいい。
a)Redmineをインストール
インストーラはここRedmine Installersから持ってくる。
https://bitnami.com/stack/redmine/installer#linux
ダウンロードしたインストーラは仮想マシンのHDDファイルが
入ったのとは別のファイル転送用USBメモリに入れておく。
(フォーマットはFAT32でもよい)
USBメモリを仮想マシンに挿入する。
(誤って仮想マシンのHDDファイルが入ったUSBメモリを指定すると厄介な事になるので注意)
インストーラをコピーし、実行する。
インストール時に使用する言語を聞いてくる。
今回は英語にした。
インストールするコンポーネントを選ぶ。
Gitをインストールする。
今回、インストールフォルダは/opt/redmineとした。
ユーザー名を入力、今回はbitnamiとした。
メールアドレスを入力、今回はbitnami@example.comとした。
ユーザーアカウント名を入力、今回はuserとした。
パスワードを入力(8文字以上)、今回はadministratorとした。
(このパスワードはMySQLのrootユーザのパスワードにもなる)
Redmineのデフォルト言語を選定、今回は英語とした。
メールによる設定補助はなしとした。
インストールの確認がある。
この時、仮想マシンのIPアドレス(192.168.56.103)のページをローカルPCで
開くと、Bitnamiのスタックがインストールできた表示が出る。
しかし、sudo rebootとか打って仮想PCを再起動するとページが
見つからなくなった。
起動スクリプトを実行するとサービスが始まり、再びページが見つかる。
自動的にRedmineが立ち上がる場合は b) を飛ばして、次の
「3.SSHの鍵を作り、所定の場所へ作成した鍵を格納」へ進む。
b)自動実行を設定
シェルスクリプトを書いて所定の場所に格納する。
仮想マシンを再起動してもログインする前にRedminが
起動する事をローカルから確認する。
Gitを使わないのであれば、ここまででよい。
(その場合、Bitnamiの仮想マシン用Redmineでもよい)
c)Gitにコミットするチケットを作り、その番号を記録
実マシン(ローカル)のWebブラウザからRedmineへアクセスする。
中央のAccess Redmineをクリックする。
ログインをクリックする。
(この時点ではOSの言語だが、ログインすると指定した英語になる。)
インストールで指定したユーザー名:user、
パスワード:administratorでログインする。
管理から言語をかえる。
Administration->settings->Displayで表示させる。
3.SSHの鍵を作り、所定の場所へ作成した鍵を格納
GitがSSHを必要とするため、この記事が書かれている。
本来、WinBashの公開鍵をSSHサーバのauthorized_keysに
加えるべきだが、この方法でも動いた。
a)仮想マシンでSSH鍵を作る
仮想マシンで"ssh-keygen -t rsa"と打ってSSH鍵ペアを作る。
今回、ディレクトリ変更なし、パスフレーズなし。
b)公開鍵をauthorized_keysにリネーム
c)秘密鍵を共有フォルダを通しユーザーの下の.sshフォルダに置く
今回は転送用USBメモリを通して仮想マシンからローカルPCへコピーした。
ローカルPCにGit for Windowsをインストールしてあると、Windows、USERS、「ユーザー名」の下に.sshフォルダが有り、中にid_rsaが既に有るかもしれない。
もし有ったら、これをid_rsa.bakにリネームし、仮想マシンの秘密鍵を置く。
無ければ、Git BASHで入ったところの下に.sshフォルダを作り、秘密鍵を置く。
(Windowsでは".ssh"という名のフォルダを作りにくい)
4.Gitのリポジトリを作り、変更してpush
a)仮想マシンにGitリモートリポジトリ作成
ディレクトリ/gitrepoを作り、書き込み可能にする。
そこに移動してベアーリポジトリtutorial.gitを作る。
b)ローカルPCに作業リポジトリを作り、クローン
Git CMDでc:ドライブの直下にworkフォルダを作りクローンする。
作業を継続するか尋ねられるので、yesと入力する。
空のリポジトリがコピーされたとの表示が出る。
そんな時はPuTTYなんかでSSH通信をチェックしてもいい。
.sshフォルダのknown_hostsを消したらクローンできた事もあった。
c)変更を加えてコミット、そしてプッシュ
ローカルPCでtutorialのディレクトリに移る。
変更を加えてgit addする。
ユーザのメールアドレスと名前を登録する。
コミットしてプッシュする。
5.Redmineでリポジトリを覗き、チケット番号を確認
プロジェクトのリポジトリを設定してチケット番号が有る事を確認する。
管理システム:Git,識別子:tutorial,パス:/gitrepo/tutorial.gitとする。
リビジョンが表示され、コミット時のメッセージが見える。
チケット番号をクリックすると、チケットが見える。
6.その他
VirtualBoxでRedmineを動かす方がVirtualPCでやった時より
手間がかかるが、CPU負担が軽微。
仮想HDDのファイルを入れたUSBメモリはUbuntuDesktopと
VirtualBoxがインストールしてある。
これが有ると、VirtualBoxがインストールされていない
PCでもUSBメモリから起動して、Redmineが使用可能。
本来はRedmineとGitのバックアップデータだけをUSBメモリで
持ち運べばいいんだろうが、仮想マシンのハードディスクを
持ち運ぶ方がまだ便利だ。(仮想マシンの起動が面倒だが)
USBは挿すのが面倒なので、Redmineの様なITSは
ポケットWiFiルータかスマホと一体化するといいと思う。
(もちろん無料で)