個人かつローカルで使ってるALMinium環境があるんですが、いい加減古いのでバージョンアップ。
宝の持ち腐れですが、ALMinium環境は完全に一人で使ってます。
チームで使うと効果的なんでしょうけど、一人でもExcelで課題管理するより数倍効率良いです。
参考サイト
ALMiniumをバックアップ、バージョンアップ、リストア
環境
旧環境
OS: VirtualBox上でCentOS6.2(どうやってインストールしたかは忘れた。ISOからかなぁ?)
ALMinium: バージョンはよくわからず、2013年9月頃にインストールしたものらしいです。
Redmine: 2.3.1.stable
Host OS:Winodws 7
VMからHostOS(win7)のフォルダをマウントしてバックアップ先としています。
新環境
OS: Vagrant + VirtualBox(on Windows 7) + Ubuntu16.04
ALMinium: ayapapa版ALMiniumの最新版を使います。
Redmine: 3.4
Host OS:Winodws 7
いまどきDockerじゃねーの?って気もしますが、Win7でDocker tools使って(一人用とはいえ)本番環境作るのはちょっと怖い気がします。
バージョンアップ方法
まっさらな環境(VM)を作ってデータを移行します。
出来ればプロビジョンでさっくり再構築できるようにしたいので、なるべくコマンドラインで作業します。
新環境構築(OS)
VirtualBoxやVagrantは事前にインストール済み。
ssh接続できるツールがあると良いと思います。git bashが入ってたのでこちらを利用。
Ubuntu16.04
vagrantでさっくり作ります。
1
2
3
|
$ mkdir c:\var\alm
$ cd c:\var\alm
c:\var\alm$ vagrant init bento/ubuntu-16.04
|
gitで構成管理します。.gitignoreを追加して。
1
2
3
|
c:\var\alm$ git init
c:\var\alm$ git add .
c:\var\alm$ git commit -am "Init"
|
後は随時コミットしていきます。
ネットワーク(暫定)
旧環境と同じIPを使いたいところですが、セットアップ中はプライベートアドレスを使います。
Vagrantfileに
1
|
config.vm.network "private_network", ip: "192.168.33.18"
|
を追記。
IPアドレスはプライベートアドレスならなんでもいいんじゃないすかね。
起動と確認
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
c:\var\alm$ vagrant up
c:\var\alm$ vagrant ssh
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-116-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
0 packages can be updated.
0 updates are security updates.
#ネットワークが外までつながってるか確認
vagrant@vagrant:~$ curl www.google.com
<!doctype html><html itemscope="" itemtype
... だー ...
vagrant@vagrant:~$
|
sshでもチェック。
1
2
3
4
|
$ ssh vagrant@192.168.33.18
vagrant@192.168.33.18's password: #初期パスワードは vagrant
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-116-generic x86_64)
...
|
作業用ユーザー追加
旧環境ではadminというユーザー名で作業したたんで、同じに作ります。
1
2
3
|
vagrant@vagrant:~$ PASSWORD=$(perl -e 'print crypt("some_password", "\$6\$". crypt(rand, rand 100));')
vagrant@vagrant:~$ sudo useradd -m -s /bin/bash -k /etc/skel -p $PASSWORD admin
vagrant@vagrant:~$ sudo gpasswd -a admin sudo
|
ssh接続の設定
旧環境から /home/admin/.ssh/authorized_keysの内容をVagrantフォルダ以下の適当なファイル(c:\var\alm\admin\authorized_keysにしました)にコピーします。
今回は $cat /home/admin/.ssh/authorized_keys して、PC上のエディタでコピペ。
そしたら新環境に取り込みます。
1
2
3
4
|
vagrant@vagrant:~$ sudo -u admin mkdir /home/admin/.ssh
vagrant@vagrant:~$ sudo -u admin cp /vagrant/admin/authorized_keys /home/admin/.ssh/
vagrant@vagrant:~$ sudo chmod 600 /home/admin/.ssh/authorized_keys
vagrant@vagrant:~$ sudo chmod 700 /home/admin/.ssh
|
その後sshクライアントで、旧環境の設定をコピーして接続できるはず。
ssh コマンドだったら ~/.ssh/configを編集ですな。
sshdサーバの設定
鍵認証必須にします。
1
2
3
4
5
6
|
#バックアップ
vagrant@vagrant:~$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.`date +%s`.bck
#変更
vagrant@vagrant:~$ sudo sed -r -i "s/^#?(PasswordAuthentication) yes/\1 no/" /etc/ssh/sshd_config
#反映 sshD じゃないのね
vagrant@vagrant:~$ sudo service ssh restart
|
スクリプト
ここまでの作業をスクリプト化しました。
Vagrantfileに
1
|
config.vm.provision "shell", path: "provision.sh"
|
すると、プロビジョン時に実行されます。
次にALMiniumのインストールになります。
長くなったんで次に書きます。