仕事柄、色々なバージョンのAipoをインストールしたVirtualBOX上で動くCentOSイメージを用意することが多くあります。
Sourceforgeから各バージョンのインストーラーをダウンロードしてインストールコマンドを実行してもいいのですが、毎回やるのは結構手間なので、1コマンドで動く環境が用意できれば便利そうです。
Vagrantを使ってAipoのインストール環境を作ってみようと思います。
CentOS7にAipo8.1.1インストール済環境を用意する
install_aipo8110.sh
Aipoインストール関連の処理を1スクリプトにまとめておきます。
#!/bin/bash yum install -y gcc nmap lsof unzip readline-devel zlib-devel wget cd /usr/local/ wget -P /usr/local/ --trust-server-names "https://osdn.jp/frs/redir.php?m=iij&f=%2Faipo%2F64847%2Faipo-8.1.1-linux-x64.tar.gz" tar -xvzf aipo-8.1.1-linux-x64.tar.gz cd aipo-8.1.1-linux-x64 sh installer.sh /usr/local/aipo/bin/startup.sh
Vagrantfile
変更のある箇所は変数化しておきます。CentOS7は公式のBOXがあるので、それをベースにイメージを構築します。
なお、Vagrantの場合、ネットワークアダプタの1つめはNATになるようです。
Aipoの場合、eth0からIPアドレスを取得してアクセスURLとしているので、起動スクリプトに表示されるURLはNAT経由でのアドレスで表示されますが、実際はブリッジアダプタ経由のIPアドレスでアクセス可能です。
VAGRANTFILE_API_VERSION = "2" IMAGE_NAME = "centos7-aipo8.1.1" AIPO_INSTALL_SCRIPT = "../install_aipo8110.sh" IP_ADDRESS = "192.168.1.100" IMAGE_BOX = "centos/7" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = IMAGE_BOX config.vm.provider :virtualbox do |vb| vb.name = IMAGE_NAME end config.vm.network "public_network", ip: IP_ADDRESS, bridge: "en0: Wi-Fi (AirPort)" config.vm.synced_folder "../vagrant_share", "/vagrant_data" config.vm.provision "shell", :path => AIPO_INSTALL_SCRIPT end
さてあとはAipoのアップデート検証用に、少し古いバージョンの構築手順も用意しておきます。
CentOS6にAipo6.0.1インストール済環境を用意する
install_aipo6010.sh
Aipoインストール関連の処理を1スクリプトにまとめておきます。Aipo6.0.1は32bitのみの対応となっているため、ld-linux.so.2もインストールしておきます。
#!/bin/bash yum install -y gcc nmap lsof unzip readline-devel zlib-devel wget yum install -y ld-linux.so.2 cd /usr/local/ wget -P /usr/local/ --trust-server-names "https://osdn.jp/frs/redir.php?m=jaist&f=%2Faipo%2F60145%2Faipo6010ja_linux.tar.gz" tar -xvzf aipo6010ja_linux.tar.gz tar -xvzf aipo6010.tar.gz cd /usr/local/aipo/bin sh installer.sh sh ./startup.sh
Vagrantfile
変更のある箇所は変数化しておきます。CentOS6は公式のBOXが無いので最もダウンロード数が多いものをベースにしました。
VAGRANTFILE_API_VERSION = "2" IMAGE_NAME = "centos6-aipo6.0.1" AIPO_INSTALL_SCRIPT = "../install_aipo6010.sh" IP_ADDRESS = "192.168.1.102" IMAGE_BOX = "puphpet/centos65-x64" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = IMAGE_BOX config.vm.provider :virtualbox do |vb| vb.name = IMAGE_NAME end config.vm.network "public_network", ip: IP_ADDRESS, bridge: "en0: Wi-Fi (AirPort)" config.vm.synced_folder "../vagrant_share", "/vagrant_data" config.vm.provision "shell", :path => AIPO_INSTALL_SCRIPT end
これでそれぞれ
vagrant up
でAipoインストール済環境が構築されます。
https://github.com/YoshiteruIwasaki/DevOps