# groonga - An open-source fulltext search engine and column store.

- 日本語

# 2.3. Debian GNU/Linux

This section describes how to install Groonga related deb packages on Debian GNU/Linux. You can install them by `apt`.

We distribute both 32-bit and 64-bit packages but we strongly recommend a 64-bit package for server. You should use a 32-bit package just only for tests or development. You will encounter an out of memory error with a 32-bit package even if you just process medium size data.

## 2.3.1. stretch

New in version 7.0.5.

Add the Groonga apt repository.

/etc/apt/sources.list.d/groonga.list:

    deb [signed-by=/usr/share/keyrings/groonga-archive-keyring.gpg] https://packages.groonga.org/debian/ stretch main
    deb-src [signed-by=/usr/share/keyrings/groonga-archive-keyring.gpg] https://packages.groonga.org/debian/ stretch main

Install:

    % sudo wget -O /usr/share/keyrings/groonga-archive-keyring.gpg https://packages.groonga.org/debian/groonga-archive-keyring.gpg
    % sudo apt update
    % sudo apt install -y -V groonga

Note

`groonga` package is the minimum set of fulltext search engine. If you want to use Groonga for server use, you can install additional preconfigured packages.

There are two packages for server use.

- groonga-httpd (nginx and HTTP protocol based server package)

- groonga-server-gqtp (GQTP protocol based server package)

See Server section about details.

If you want to use MeCab as a tokenizer, install groonga-tokenizer-mecab package.

Install groonga-tokenizer-mecab package:

    % sudo apt install -y -V groonga-tokenizer-mecab

If you want to use `TokenFilterStem` as a token filter, install groonga-token-filter-stem package.

Install groonga-token-filter-stem package:

    % sudo apt install -y -V groonga-token-filter-stem

There is a package that provides Munin plugins. If you want to monitor Groonga status by Munin, install groonga-munin-plugins package.

Install groonga-munin-plugins package:

    % sudo apt install -y -V groonga-munin-plugins

There is a package that provides MySQL compatible normalizer as a Groonga plugin. If you want to use that one, install groonga-normalizer-mysql package.

Install groonga-normalizer-mysql package:

    % sudo apt install -y -V groonga-normalizer-mysql

Note

If you use systemd as init, current version of Groonga does not support to register start-up service automatically during installation. If you want to register groonga-httpd/groonga-server-gqtp as a automatic start-up service, please execute the following commands:

For groonga-httpd:

> % sudo systemctl enable groonga-httpd

For groonga-server-gqtp:

> % sudo systemctl enable groonga-server-gqtp

## 2.3.2. Build from source

Install required packages to build Groonga for Debian jessie:

    % sudo apt-get install -y -V  wget tar build-essential pkg-config zlib1g-dev libmsgpack-dev libzmq3-dev libevent-dev libmecab-dev liblz4-dev

Install required packages to build Groonga for Debian stretch:

    % sudo apt-get install -y -V  wget tar build-essential pkg-config zlib1g-dev libmsgpack-dev libzmq3-dev libevent-dev libmecab-dev liblz4-dev libzstd-dev

Download source:

    % wget https://packages.groonga.org/source/groonga/groonga-9.0.2.tar.gz
    % tar xvzf groonga-9.0.2.tar.gz
    % cd groonga-9.0.2

Configure (see configure about `configure` options):

    % ./configure

Build:

    % make -j$(grep '^processor' /proc/cpuinfo | wc -l)

Install:

    % sudo make install