Hatena::ブログ(Diary)

四角革命前夜

2013年04月18日(木)

Vagrantを使ってみたよ

ちょっと前に知ったVagrantを使ってみました。

RhodeCodeを入れるための環境を作りたくて、ちょうど使う機会ができたという感じ。

環境:Ubuntu 12.04 LTS 64bit


rubyのインストール

Rubyが入っていなかったのですが、rbenvとruby-buildが入っていたのでRubyをインストールします。

$ rbenv install 2.0.0-p0
$ rbenv global 2.0.0-p0

vagrantのインストール

$ gem install vagrant
$ rbenv rehash

rbenvなのでrehashしないとvagrantコマンドが使えません。

プラグインを入れるとrehashする手間がなくなるんだったかな?


Ubuntuのインストール

$ vagrant box add UbuntuServer http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box

でUbuntu Serverのイメージを持ってきます。


$ vagrant box list
UbuntuServer

でリストが見れます。


$ vagrant init
$ ls
Vagrantfile

Vagrantfileっていう設定ファイル的なものがカレントディレクトリに生成されます。

これを編集すると設定が変えられるみたい。


$ vagrant run

でVMの起動。


$ vagrant ssh

このサブコマンドを見て初めて意味がわかったというか……

まったくVirtualBoxが表に出てこないので、このコマンドでSSHでつなぎます。


あとは普通に普段SSHで作業しているようにすればよいかと。

またVM作ってインストールしなきゃなーとか考えなくていいから、とっても手軽!

もっと早く使えばよかった!

Ubuntu日本語版のデスクトップ仮想ディスクイメージなら仮想ハードディスクイメージのダウンロード | Ubuntu Japanese Teamにあるし、Ubuntu様々という感じになってきた!


参考:

no title

2012年08月21日(火)

VirtualBoxにインストールしたUbuntuのPostgreSQLにnode.jsからアクセスするまで

基本的にPostgreSQLの設定のメモなお話。RDB苦手っぷりを発揮しております。

環境:Ubuntu 12.04 LTS 64bit / node.js 0.8.7 / npm 1.1.52?


node.jsからpgモジュールでアクセスするコード

node.jsからpgでPostgreSQLにアクセスするコードを書いて実行したのですがアクセスできず。

app.js
var pg = require('pg'),
    client = new pg.Client('pg://username:password@localhost:5432/dbname');

client.connect();
client.query('SELECT * FROM table;', function (err, result) {
  if (err) throw err;
  console.dir(result);
  client.end();
});

localhost:5432となっているのは、ゲストの5432をポートフォーワーディングしてるからです。


PostgreSQLの設定を変更する

原因はただ単にPostgreSQLの設定で、他からのアクセスを許可していなかっただけという……

設定の変更は以下の通り。


/etc/postgresql/9.1/main/pg_hba.conf
host dbname username 0.0.0.0/0 trust

を追加します。セキュリティ的にアレな気がしますが……


/etc/postgresql/9.1/main/postgresql.conf

listen_addresses = '*'

を追加します。コメントアウトされてるところがあるので、そこに書いても良いかも。


再起動

$ service postgresql restart

kill -HUPだと再起動せずに変更を反映できるとかなんとかありましたけど、よくわからないのでとりあえず再起動を。


一応これで動くみたい。

2012年08月07日(火)

ファイヤーウォールのせいだと思った?残念!SSHの設定でした!

VirtualBoxにインストールしたUbuntuのネットワーク設定をNATにしてポートフォーワーディングの設定でホストポートを2222に、ゲストポートを22にして設定したのにホストから

$ ssh -p 2222 sasaplus1@127.0.0.1
Received disconnect from Too many authentication failures for sasaplus1

でアクセスできない!


で、いろいろ探した結果がこれ。

ssh - Too many authentication failures for *username* - Super User

404 Not Found


どうするかって言うと

$ ssh -o "PubkeyAuthentication no" -p 2222 sasaplus1@127.0.0.1

ってやって公開鍵認証を無効化するといいみたい。~/.ssh/configにいろいろ書いてたせいなのかな。


最初、ufwのせいかと思ったけど違った。

2012年01月16日(月)

LinuxMint12にSSH経由でVirtualBoxをインストール

$ wget http://download.virtualbox.org/virtualbox/4.1.8/virtualbox-4.1_4.1.8-75467~Ubuntu~oneiric_amd64.deb
$ sudo dpkg -i ./virtualbox-4.1_4.1.8-75467~Ubuntu~oneiric_amd64.deb
libqt4-openglが無いと怒られる

$ sudo apt-cache search libqt4-opengl
この名前であった

$ sudo apt-get install -y libqt4-opengl
libqt4-openglのインストールが終わるとVirtualBoxもインストールされる

あとはVBoxManageとかでいじれるはず!

あ、でもOSを入れる時はクライアントにRDPとかVNCでアクセスしないとか……


Linuxだとrdesktopってコマンドが、Windowsだとファイル名を指定して実行からmstscでRDPのクライアントが使えるみたい。