# 5.1. Server packages

The package `groonga` 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)

There is the reason why groonga supports not only GQTP but also two HTTP server packages. GQTP - Groonga Query Transfer Protocol is desined to reduce overheads and improve performance. But, GQTP is less support of client library than HTTP protocol does. As HTTP is matured protocol, you can take advantage of existing tool and there are many client library (See related projects for details). If you use `groonga-httpd` package, you can also take benefits of nginx functionality.

We recommend to use `groonga-httpd` at first, because it provides fullfilling server functionality. If you have performance issues which is derived from protocol overheads, consider to use `groonga-server-gqtp`.

> Note

> In the previous versions, there is a `groonga-server-http` package (simple HTTP protocol based server package). It is now marked as obsolete, please use `groonga-httpd` packages instead. `groonga-server-http` package became a transitional package for `groonga-httpd`.

## 5.1.1. groonga-httpd

`groonga-httpd` is a nginx and HTTP protocol based server package.

Preconfigured setting:

Item | Default value
--- | ---
Port number | 10041
Access log path | /var/log/groonga/httpd/acccess.log
Error log path | /var/log/groonga/http-query.log
Database | /var/lib/groonga/db/*
Configuration file | /etc/groonga/httpd/groonga-httpd.conf

### 5.1.1.1. Start HTTP server

Starting groonga HTTP server(Debian/Ubuntu/CentOS):

    % sudo service groonga-httpd start

Starting groonga HTTP server(Fedora):

    % sudo systemctl start groonga-httpd

### 5.1.1.2. Stop HTTP server

Stopping groonga HTTP server(Debian/Ubuntu/CentOS):

    % sudo service groonga-httpd stop

Starting groonga HTTP server(Fedora):

    % sudo systemctl stop groonga-httpd

### 5.1.1.3. Restart HTTP server

Restarting groonga HTTP server(Debian/Ubuntu/CentOS):

    % sudo service groonga-httpd restart

Restarting groonga HTTP server(Fedora):

    % sudo systemctl restart groonga-httpd

## 5.1.2. groonga-server-gqtp

`groonga-server-gqtp` is a GQTP protocol based server package.

Item | Default value
--- | ---
Port number | 10043
Process log | /var/log/groonga/groonga-gqtp.log
Query log | /var/log/groonga/gqtp-query.log
Database | /var/lib/groonga/db/*

Configuration file for server setting (Debian/Ubuntu):

    /etc/default/groonga/groonga-server-gqtp

Configuration file for server setting (CentOS):

    /etc/sysconfig/groonga-server-gqtp

### 5.1.2.1. Start GQTP server

Starting groonga GQTP server(Debian/Ubuntu/CentOS):

    % sudo service groonga-server-gqtp start

Starting groonga GQTP server(Fedora):

    % sudo systemctl start groonga-server-gqtp

### 5.1.2.2. Stop GQTP server

Stopping groonga GQTP server(Debian/Ubuntu/CentOS):

    % sudo service groonga-server-http stop

Stopping groonga GQTP server(Fedora):

    % sudo systemctl stop groonga-server-gqtp

### 5.1.2.3. Restart GQTP server

Restarting groonga HTTP server(Debian/Ubuntu/CentOS):

    % sudo service groonga-server-gqtp restart

Restarting groonga HTTP server(Fedora):

    % sudo systemctl restart groonga-server-gqtp

## 5.1.3. groonga-server-http

`groonga-server-http` is a simple HTTP protocol based server package.

> Note

> `groonga-server-http` package is the transitional package since Groonga 4.0.8. Please use `groonga-httpd` instead.

Preconfigured setting:

Item | Default value
--- | ---
Port number | 10041
Process log | /var/log/groonga/groonga-http.log
Query log | /var/log/groonga/http-query.log
Database | /var/lib/groonga/db/*

Configuration file for server setting (Debian/Ubuntu):

    /etc/default/groonga/groonga-server-http

Configuration file for server setting (CentOS):

    /etc/sysconfig/groonga-server-http

### 5.1.3.1. Start HTTP server

Starting groonga HTTP server(Debian/Ubuntu/CentOS):

    % sudo service groonga-server-http start

Starting groonga HTTP server(Fedora):

    % sudo systemctl start groonga-server-http

### 5.1.3.2. Stop HTTP server

Stopping groonga HTTP server(Debian/Ubuntu/CentOS):

    % sudo service groonga-server-http stop

Stopping groonga HTTP server(Fedora):

    % sudo systemctl stop groonga-server-http

### 5.1.3.3. Restart HTTP server

Restarting groonga HTTP server(Debian/Ubuntu/CentOS):

    % sudo service groonga-server-http restart

Restarting groonga HTTP server(Fedora):

    % sudo systemctl restart groonga-server-http