Neo4jをはじめよう - (1) インストール

最近グラフDBが流行の気配を見せているような気がします。ということでNeo4jで遊んでみようと思いますが、まずは環境構築からですね。

今どき遊び用とは言えローカルマシンに素でDB入れるのは抵抗があるので、VagrantでUbuntu14の仮想マシンを作ってそこに入れます。

仮想マシンの構築

Vagrant自体のセットアップは省略します。Vagrantfileは最低限の設定のみで、こんな感じ。

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.network :private_network, ip:"192.168.33.11"
end

ネットワーク経由でNeo4jにアクセスするので、private_networkを設定する必要があります。アドレスは適当に。

Vagrantfileが書けたらうpしましょう。

$ vagrant up

Neo4jのインストール

まずはVMに入る。

$ vagrant ssh

ここから先はVM内で叩くコマンド。

# レポジトリを追加
$ wget -O - http://debian.neo4j.org/neotechnology.gpg.key | sudo apt-key add -
$ sudo sh -c "echo 'deb http://debian.neo4j.org/repo stable/' > /etc/apt/sources.list.d/neo4j.list"

# パッケージリストを更新してインストール
$ sudo apt-get update
$ sudo apt-get install neo4j

ホストOSからもアクセスできるように設定変更

これでNeo4jはインストールできましたが、デフォルトではlocalhostからのアクセスしか受け付けません。

VMではなくホストOSからブラウザや各言語のクライアントライブラリからアクセスするにはリモートからの接続を許可する必要があります。

当たり前ですが本番で何も考えずにリモートアクセスを許可すると大変なことになります。あくまでVMに入れて遊ぶ用の設定ということで。

$ sudo vim /etc/neo4j/neo4j-server.properties

# 下記の行をコメントアウト
org.neo4j.server.webserver.address=0.0.0.0

$ sudo service neo4j-service restart

アクセスできるか確認する

これで、VMに入らずとも手許のブラウザから接続できるようになりました。 お使いのブラウザを開いて http://192.168.33.11:7474/ と叩いてみましょう。

こんな画面が出れば成功です。

f:id:fuyumi3:20150324004650p:plain

次回

PythonクライアントからNeo4jにアクセスし、Twitterのデータを投入してみます。