Установка сервера Sentry в связке с PostgreSQL

Автор: Admin | 26.10.2015
1 комментарий | 2 857 views

Howto по установке Sentry server в связке с базой PostgreSQL на Debian 8 Jessy
How To Installation Sentry server with a PostgreSQL database on Debian 8 Jessy

sentry_logo

Посмотрев документацию можно прийти в ужас. Вот бы разрабы написали ман в виде howto по установке. Если увидите, можете взять этот :)

Поставить необходимые либы:

apt-get install python-setuptools python-pip python-dev libxslt1-dev libxml2-dev libz-dev libffi-dev libssl-dev libpq-dev

Внести бэкпорты и репы постгре:

echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list
echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" >> /etc/apt/sources.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
apt-get update

Поставить redis-server и postgresql:

apt-get -t jessie-backports install redis-server
apt-get install postgresql-9.4 postgresql-contrib

Создать пользователя с базой для sentry:

/etc/init.d/postgresql restart
su postgres
psql
alter user postgres password 'NEW_PASS_FOR_USER_postgres';
CREATE DATABASE sentry;
CREATE USER sentry WITH password 'PASS_FOR_USER_sentry';
GRANT ALL privileges ON DATABASE sentry TO sentry;
\q

Поставить зависимости для sentry:

easy_install -UZ virtualenv
virtualenv /var/www/sentry/
source /var/www/sentry/bin/activate
easy_install -UZ sentry[postgres]
sentry init /var/www/sentry/sentry.conf.py

Отредактировать конфиг файл sentry:

mcedit /var/www/sentry/sentry.conf.py
......
DATABASES = {
    'default': {
        'ENGINE': 'sentry.db.postgres',

        'NAME': 'sentry',
        'USER': 'sentry',
        'PASSWORD': 'PASS_FOR_USER_sentry',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
......
SENTRY_ADMIN_EMAIL = 'sentry@host.com'
......
SENTRY_URL_PREFIX = 'http://sentry.host.com'
......
# Будет слать письма от этого аккаунта, подключенного к гуглопочте
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'GMAIL_PASS'
EMAIL_HOST_USER = 'sentry@host.com'
EMAIL_PORT = 25
EMAIL_USE_TLS = True
SERVER_EMAIL = 'sentry@host.com'
......

Поставить фронтенд (nginx) и создать конфиг для сайта:

apt-get install nginx-full
mcedit /etc/nginx/sites-available/sentry

server {
  listen   80;
  server_name sentry.host.com;
location / {
  proxy_pass         http://localhost:9000;
  proxy_redirect     off;
  proxy_set_header   Host              $host;
  proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
  proxy_set_header   X-Forwarded-Proto $scheme;
}
}
ln -s /etc/nginx/sites-available/sentry /etc/nginx/sites-enabled/sentry
rm /etc/nginx/sites-enabled/default
/etc/init.d/nginx restart

Инициализировать конфиг sentry. На этом шаге будет предложено создать пользователя. Это надо сделать и дать ему права суперпользователя:

sentry --config=/var/www/sentry/sentry.conf.py upgrade

Поставить supervisor и создать конфиг для запуска sentry-web и sentry-worker:

apt-get install supervisor
mcedit /etc/supervisor/conf.d/sentry.conf

[program:sentry-web]
directory=/var/www/sentry/
environment=SENTRY_CONF="/var/www/sentry/sentry.conf.py"
command=/var/www/sentry/bin/sentry start
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=syslog
stderr_logfile=syslog

[program:sentry-worker]
user=sentry
directory=/var/www/sentry/
environment=SENTRY_CONF="/var/www/sentry/sentry.conf.py"
command=/var/www/sentry/bin/sentry celery worker -B
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=syslog
stderr_logfile=syslog

Добавить сиcтемного пользователя sentry для запуска демона от его имени:

adduser sentry
/etc/init.d/supervisor restart

Сильно помогла данная статья для понимания происхдящего
Официальная документация

Комментарии к посту “Установка сервера Sentry в связке с PostgreSQL

  1. ipipe.ru

    Большое спасибо за отличный пост про установку сервера sentry, вы мне очень помогли.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *