2014/08/31

Windows 7 Home Premium SP1にVirtualBox 4.3.12とVagrant1.6.3をインストールして仮想環境を構築した時の備忘録

先日、MacへVagrantのインストールの記録を記載しましたが、今回は、Windows 7へのインストール記録です。


先日の記事
Mac OSX 10.9.4にVirtualBoxとVagrantをインストールして仮想環境を構築した時の備忘録

Windowsの環境は、以下の通りです。
  • Windows 7 Home Premium SP1
  • VirtualBox 4.3.12
  • Vagrant1.6.3
  • ruby 2.0.0p481 (2014-05-08) [x64-mingw32]
  • git version 1.9.4.msysgit.0


Vagrant
https://www.vagrantup.com/
vagrant_1.6.3.msi をダウンロードしてインストールしました。



VirtualBox
https://www.virtualbox.org/
VirtualBox-4.3.12-93733-Win.exe をダウンロードしてインストールしました。




あとは、Mac版の時と同様に、すべてコマンドプロンプトの作業です。


作業用のディレクトリを作成して、その中で、centos-6.5の設定を初期化
C:\vagrant\centos65>vagrant init chef/centos-6.5
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

vagrant up で仮想環境の用意と起動
C:\vagrant\centos65>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'chef/centos-6.5'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'chef/centos-6.5' is up to date...
==> default: Setting the name of the VM: centos65_default_1409353869410_68351
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/vagrant/centos65

vagrant ssh で仮想環境に接続します。
C:\vagrant\centos65>vagrant ssh
Last login: Fri Mar  7 16:57:20 2014 from 10.0.2.2
[vagrant@localhost ~]$ ls
[vagrant@localhost ~]$ pwd
/home/vagrant

仮想環境からログアウトします。
[vagrant@localhost ~]$ exit
logout
Connection to 127.0.0.1 closed.


正常に動作するまでに、いくつかのエラーが出ました。



その1 現時点でのVirtualBoxの最新版、VirtualBox 4.3.14では、正常動作しませんでした。




エラー内容
仮想マシン"centos6_default_1409310410014_52475"のセッションを開けませんでした。

The virtual machine 'centos6_default_1409310410014_52475' has terminated unexpectedly during startup with exit code 1.

終了コード : E_FAIL (0x80004005)
コンポーネント: Machine
インターフェース: IMachine {480cf695-2d8d-4256-9c7c-cce4184fa048}

error in super hardened win respawn

対処方法
VirtualBox 4.3.12 を使用する。



その2 使用しているマシンのCPUが、仮想化支援機能に対応しているか、していてもBIOSで仮想化支援機能を有効にしていないと、エラーにて起動しません。


会社で使用しているHP Compaq Elite 8300 SFFのマシンは、仮想化支援機能に対応していますが、BIOSの設定は、デフォルトでは有効になっていません。



エラー内容
ホストマシンの仮想化支援機能(VT-x/AMD-V)が使用できません。
64ビット ゲストOSは64ビットCPUを検出できず、起動できません。

対処方法
BIOSにて、仮想化支援機能を有効にする

自宅のマシンは、マザーボードに、GYGABYTE GA-H97-D3Hを使っています。このボードは、デフォルトで、仮想化支援機能が有効になっているので、何もする必要はありませんでした。

BIOSの設定画面を載せようと思いキャプチャー方法を調べてみると、最近のマザーボードには、簡単にBIOSの設定画面をキャプチャー出来る機能が付いていました。キャプチャーした画像を保存するためにUSBメモリを差します。後は、キャプチャーしたいBIOS画面を表示して、F12キーを押すだけです。USBメモリにキャプチャー画像が保存されています。とっても便利です。


鳴門海峡の渦潮 2014/08/13(水)13時10分頃に上の子が撮影した画像

2014/08/13(水)に鳴門海峡の渦潮を観に行った際、私は、写真や動画をスマホで撮っていたのですが、上の子は、一眼レフのデジタルカメラ「Canon EOS KISS X4」で撮影していました。その写真には、渦潮のダイナミックな動きがよく撮れていました。







2014/08/30

「太戸の滝(岡山市北区牟佐)」に滝の写真を再度撮りに行きました。今回は水量が多かったです。

前回、太戸の滝を撮りに来たときは、滝の水量が少なくて、イメージした滝の写真が撮れませんでした。

前回の記事
「太戸の滝(岡山市北区牟佐)」に滝の写真を撮りに行きました。

今回、水量は多かったのですが、撮影したい構図の中に暗い箇所と、明るい箇所に極端な差がありました。シャッタースピードを遅くして、そういった構図の写真を撮ったことがないので、明るい場所が飛びすぎています。撮影方法を勉強して、また撮りに行きたいと思います。












2014/08/28

Mac OSX 10.9.4にVirtualBoxとVagrantをインストールして仮想環境を構築した時の備忘録

Mac OSX 10.9.4にVagrantで仮想環境を構築した時の記録です。


Mac OSX 10.9.4で、Vagrantで仮想環境を構築するのは、とても簡単でした。Windows7にVagrantの環境を用意した時は、いくつか詰まったところがありましたが、Macでは、詰まるところなく、簡単に構築できました。

仮想環境とは、マックのマシンの中でCentOSを動かしたりできる環境のことです。Windows上で、Debianを動かすことも出来ます。仮想上で、色々なOSの環境を手軽に用意して検証が出来るので、とても便利です。

まず、VirtualBoxとVagrantをインストールします。


VirtualBox
https://www.virtualbox.org/
VirtualBox-4.3.14-95030-OSX.dmg をダウンロードしてインストールしました。



Vagrant
https://www.vagrantup.com/
vagrant_1.6.3.dmg をダウンロードしてインストールしました。



あとは、すべてターミナルの作業で完結します。


作業用のディレクトリを作成して、その中に移動
MacBookAir:vagrant [user name]$ mkdir centos65
MacBookAir:vagrant [user name]$ cd centos65/

centos-6.5の設定を初期化
MacBookAir:centos65 [user name]$ vagrant init chef/centos-6.5
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

vagrant up で仮想環境を立ち上げるタイミングで、chef版のためか
centos-6.5のダウンロード、仮想環境の設定、仮想環境の起動までしてくれます。
MacBookAir:centos65 [user name]$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'chef/centos-6.5' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'chef/centos-6.5'
    default: URL: https://vagrantcloud.com/chef/centos-6.5
==> default: Adding box 'chef/centos-6.5' (v1.0.0) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/chef/centos-6.5/version/1/provider/virtualbox.box
==> default: Successfully added box 'chef/centos-6.5' (v1.0.0) for 'virtualbox'!
==> default: Importing base box 'chef/centos-6.5'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'chef/centos-6.5' is up to date...
==> default: Setting the name of the VM: centos65_default_1409229402124_23165
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/[user name]/Documents/vagrant/centos65

vagrant ssh で仮想環境に接続します。
MacBookAir:centos65 [user name]$ vagrant ssh
Last login: Fri Mar  7 16:57:20 2014 from 10.0.2.2
[vagrant@localhost ~]$ pwd
/home/vagrant

仮想環境からログアウトします。
[vagrant@localhost ~]$ exit
logout
Connection to 127.0.0.1 closed.
MacBookAir:centos65 [user name]$

vagrant halt で仮想環境を終了させます。
MacBookAir:centos65 [user name]$ vagrant halt
==> default: Attempting graceful shutdown of VM...






2014/08/23

鳴門海峡の渦潮を、うずしおクルーズ観光船「日本丸」で観に行きました

鳴門海峡の渦潮をお盆休みに観に行きました


2014/08/13(水)に鳴門海峡の渦潮を観に行きました。うずしおクルーズ観光船「日本丸」に乗りました。事前に渦潮の観れる期待度の高い出航時間を確認しました。この日は、12:50の出航が渦潮の観ることのできる可能性が高いことがサイトに表示されていましたので、その時刻に間に合うように向かいました。

鳴門海峡渦潮観光ならうずしおクルーズ「咸臨丸」

期待以上の渦潮を観ることが出来ました。





その時の渦潮の様子を撮影した動画をYouTubeにアップしました。



うずしおクルーズ観光船は、「咸臨丸」と「日本丸」がありますが、今回は「日本丸」に乗りました。背景に写っているのが、「日本丸」です。出航時には、スタッフのみなさんが大きな手で、お見送りをしてくれます。子どもたちは、船に乗るだけでもテンションが上がるので、大きな渦潮も観れて満足しました。




「日本丸」を降りて、クルーズ乗り場の横にある足湯に浸かりました。無料で足湯を楽しむことが出来ます。真ん中にある大きな足湯は、円形の足湯で、中央に渦が巻いていました。




2年前の渦潮と比べて


2012/10/27(土)に会社の旅行にて、渦潮を観に来ていました。その時は、うずしおクルーズ観光船「咸臨丸」に乗りました。その時は、潮の状態により、あまり大きな渦潮を観ることは出来ませんでした。その時の渦潮の様子を撮影した写真です。





渦潮のできる仕組み

 

渦潮のできる仕組みが、いまいち良く分かっていなかったので、下記のページで出来る仕組みを確認しました。

2014/08/21

Yeomanのインストール記録 Windows Vista SP2に素の状態からのインストール

Yeomanについて


サイト制作のワークフローを効率的に管理できる Yeoman(ヨーマン)をWindows Vista SP2に素の状態からのインストールした時の記録です。 似たような機能をもった roots というツールがありますが、情報量では、Yeomanが圧倒しています。制作のベースとなるファイル群を生成してくれるジェネレーターもYeomanには沢山アップされています。


The web's scaffolding tool for modern webapps | Yeoman

インストール作業の参考にさせていただいたページ


下記のページの内容を基に、インストール作業をしました。
WindowsでYeoman + Reveal.js

インストール記録


Gitも入っていない状態から始めます。
C:\Users\ariki>git --version 'git' は、
内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ
ファイルとして認識されていません。


Gitのインストール

http://git-scm.com/download/win
Git-1.9.4-preview20140815.exeをインストール
インストール時のオプションで、コマンドプロンプトでも使える設定を選びます。

Gitがインストールされたことを確認
C:\Windows\system32>git --version
git version 1.9.4.msysgit.1
なぜか、管理者モードで起動したコマンドプロンプトで無いと、パス無しで、Gitが起動しませんでした。ユーザーの環境変数、システム環境変数も色々変更して、再起動もしてみましたが、パス無しでは、起動しませんでした。原因は分かっていませんが、続けることに問題はないので、進めます。

 
node.jsのインストール

http://nodejs.org/download/
node-v0.10.31-x86.msiをインストール

node と npm がインストールされたことを確認
C:\Users\ariki>node -v
v0.10.31

C:\Users\ariki>npm -v
1.4.23


Yeoman/Grunt/Bowerのインストール
C:\Windows\system32>npm install -g bower grunt-cli yo

Yeoman/Grunt/Bowerがインストールされたことを確認
C:\Users\ariki>yo --version
1.2.1

C:\Users\ariki>grunt --version
grunt-cli v0.1.13

C:\Users\ariki>bower --version
1.3.9

Reveal.jsのジェネレータのインストール

Reveal.jsというプレゼン用のフレームワークのジェネレーターを入れます。
C:\Windows\system32>npm install -g generator-reveal

プロジェクト作成します


C:\yeoman_test>yo reveal
[?] What are you going to talk about? Reveal.js and Yeoman is Awesomeness
[?] What version should we put in the package.json file? 0.0.0
[?] Do you want to use SASS to create a custom theme? This requires you to have
[?] Do you want to use SASS to create a custom theme? This requires you to haveRuby and Sass installed. Yes
[?] Do you want to deploy your presentation to Github Pages? This requires an em
[?] Do you want to deploy your presentation to Github Pages? This requires an empty Github repository. No


Sassを使って、Githubにはdeployしない設定を選択しました。


Gruntでサーバを起動します
C:\yeoman_test>grunt server
Running "server" task

Running "buildIndex" task

Running "sass:theme" (sass) task
Warning:
You need to have Ruby and Sass installed and in your PATH for this task to work.

More info: https://github.com/gruntjs/grunt-contrib-sass
 Use --force to continue.

Aborted due to warnings.
すると、RubyもSassもありませんよ とアラートが出ます。RubyとSassをインストールします。

Rubyのインストール

http://rubyinstaller.org/downloads/
rubyinstaller-2.0.0-p481.exe をインストール
C:\yeoman_test>ruby -v
ruby 2.0.0p481 (2014-05-08) [i386-mingw32]


Sassのインストール
C:\yeoman_test>gem install sass
Fetching: sass-3.4.0.gem (100%)
Successfully installed sass-3.4.0
Parsing documentation for sass-3.4.0
Installing ri documentation for sass-3.4.0
1 gem installed

再度、プロジェクトを作成して、Gruntでサーバを起動します
CC:\yeoman_test>yo reveal

C:\yeoman_test>grunt server
Running "server" task

Running "buildIndex" task

Running "sass:theme" (sass) task
File css/theme.css created.

Running "connect:livereload" (connect) task
Started connect web server on http://localhost:9000

Running "watch" task
Waiting...

ブラウザが表示されます。


スライドショーの追加

別の管理者権限コマンドプロンプトを起動して、スライドを追加するコマンドを実行します。
CC:\yeoman_test>yo reveal:slide "slide title2" --markdown
     info Using Markdown.
     info Appending slides/slide-title2.md to slides/list.json.
   create slides\slide-title2.md

Watch(監視状態)のコマンドプロンプトで自動で処理が動きます。
>> File "slides\list.json" changed.
>> File "slides\slide-title2.md" added.
Running "buildIndex" task

Done, without errors.
Completed in 1.706s at Thu Aug 21 2014 16:28:07 GMT+0900 (東京 (標準時)) - Waiting...
>> File "index.html" changed.
Completed in 0.000s at Thu Aug 21 2014 16:28:07 GMT+0900 (東京 (標準時)) - Waiting...

ブラウザでスライドが追加されていることが確認できます。



公開するHTMLを生成します。
C:\yeoman_test>grunt dist

distフォルダに出力されたフォルダを公開するサーバにアップします。
完成したページはこちら

簡単にベースとなるテンプレートのファイル群が出来て、自動コンパイル、自動プレビューが出来るので、制作効率はとても良いと思います。

2014/08/03

スクレイピングとWebクローリングの出来るフレームワークScrapyをCentOS6で試してみました。

Scrapyは、ウェブサイトをクロールし、そのページから構造化データの抽出が出来ます。高速で高レベルの画面スクレイピング、Webクローリングフレームワークです。Scrapyは全てPythonで書かれています。


http://scrapy.org/

CentOS6にScrapyの環境を用意して、下記の動画のチュートリアルを試しました。


ソースは、下記のページで公開されています。 
Scraping Web Pages With Scrapy 

 このソースで行っているのは、Craigslistの「NPO」のカテゴリで表示されているリストのタイトルと、そのURLを取得するというものです。

Craigslistとは - IT用語辞典 e-Words
実際に処理をする対象のページ 

データを実際に取得して格納をするスクリプト   
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from craigslist_sample.items import CraigslistSampleItem

class MySpider(BaseSpider):
  name = "craig"
  allowed_domains = ["craigslist.org"]
  start_urls = ["http://sfbay.craigslist.org/npo/"]

  def parse(self, response):
      hxs = HtmlXPathSelector(response)
      titles = hxs.select("//span[@class='pl']")
      items = []
      for titles in titles:
          item = CraigslistSampleItem()
          item ["title"] = titles.select("a/text()").extract()
          item ["link"] = titles.select("a/@href").extract()
          items.append(item)
      return items

スクリプトを動かして結果をCSVに保存します。
$ scrapy crawl craig -o items.csv -t csv

2014/08/03 21:20 に実行して保存されたCSVの中身を確認
$ more items.csv
link,title
/sfc/npo/4599976929.html,✦FULL-TIME AND PART-TIME JOBS! EARN AVG OF $11-16/HR
/eby/npo/4599904588.html,█ CAMPAIGN STAFF POSITION to FIGHT FAC
/eby/npo/4599659276.html,"!!!What's in Your Water? Clean Water Action, Now Hiring!!"
/scz/npo/4599590859.html,*I'm an ACTIVIST. What Kind of Progressive Are You? Click To Find Out!
/eby/npo/4599575085.html,▲I'm an ACTIVIST. What Kind of Progressive Are You? Click To Find Out!
/sfc/npo/4599499777.html,FULL-TIME AND PART-TIME JOBS WITH CALPIRG! EARN AVG OF $11-16/HR
/eby/npo/4599307693.html,Join our winning team of rad activists!  PT phone work 12$ hr
/sfc/npo/4599088866.html,Resident Services Coordinator
/sfc/npo/4599069160.html,Stonestown Family YMCA - After School Program Leader
/eby/npo/4599024935.html,▲LGBT EQUALITY SUMMER JOBS W/ADVANCEMENT OPPORTUNITIES  $4700-7500
以下続く

Scrapyを使えば、クローリング、収集したデータの処理、整形まで、複雑な処理が簡単に出来そうです。

人気の投稿 (過去 30 日間)