.. -*- rst -*-

.. highlightlang:: none

.. groonga-include : tutorial01.txt

ネットワークを通じた利用
========================

groongaはネットワークを通じて利用することができます。groonga独自プロトコルもしくはHTTPのどちらかを選択してgroongaを起動することにより、groongaはネットワーク接続を待ち受けます。

groonga専用プロトコルによる通信
-------------------------------

groongaデーモンの起動
^^^^^^^^^^^^^^^^^^^^^

書式 ::

  groonga [-p ポート番号] -d DBパス名

既存のデータベースのフルパス名をDBパス名に指定します。
groongaがデーモンモードで起動し、指定したポート番号でgroongaの専用プロトコルを用いた通信をすることができます。
(ポート番号を省略した場合は10041が使用されます)

実行例::

  % groonga -d /tmp/tutorial.db
  12345
  %

デーモンモードで起動後、プロセス番号が表示されます。

groongaサーバへの接続
^^^^^^^^^^^^^^^^^^^^^

書式 ::

  groonga [-p ポート番号] -c [対象ホスト名またはIPアドレス]

対象ホストで動作しているgroongaサーバに接続します。

対象ホスト名を省略した場合はlocalhostに対して接続し、対象ポート番号を省略した場合は10041ポートに対して接続します。

接続に成功すると対話モードに入り、標準入力からコマンドを読み込んで順次実行します。

.. groonga-command
.. include:: ../example/tutorial02-1.log
.. .. % groonga -c
.. status
.. .. > ctrl-d
.. .. %

groongaデーモンの終了
^^^^^^^^^^^^^^^^^^^^^

groongaデーモンにshutdownコマンドを発行することにより、終了させることができます。

.. groonga-command
.. include:: ../example/tutorial02-2.log
.. .. % groonga -c
.. .. > shutdown
.. .. %

HTTPによる通信
--------------

groongaをHTTP経由で利用したい場合には、HTTPプロトコルモードで起動します。

書式 ::

  groonga [-p ポート番号] -d --protocol http DBパス名

protocolオプションで、groongaが受け付けるプロトコルを指定できます。httpを指定すると、groongaはHTTPプロトコルでの通信を受け付けます。

HTML管理ツール
^^^^^^^^^^^^^^

コマンド実行後、http://[IPアドレスまたはホスト名]:[ポート番号]/ というURLにブラウザからアクセスすると、HTML管理ツールが表示されます。ブラウザは、JavaScriptの実行が有効になっている必要があります。

HTTPでのコマンド実行
^^^^^^^^^^^^^^^^^^^^

groongaがHTTPプロトコルモードで起動されているとき、「/d/コマンド名」というURLにアクセスすると、コマンドを実行することが出来ます。

コマンドのオプションは、HTTPのGETパラメータで渡します。つまり、「?オプション=値&オプション=値 …」という書式になります。

.. groonga-command
.. include:: ../example/tutorial02-3.log
.. .. http://[IPまたはホスト名]:[ポート番号]/d/status
.. .. 実行される処理：
.. status
.. .. 
.. .. http://[IPまたはホスト名]:[ポート番号]/d/select?table=Site&query=title:@this
.. .. 実行される処理：
.. select --table Site --query title:@this


セキュリティ
------------

groongaのネットワークサービスにはは認証機能がありません。誰でもデータベースの内容を閲覧・修正することができます。iptablesなどを用いて、アクセス元IPアドレスを制限することを薦めます。
