Howto по установке Sentry server в связке с базой PostgreSQL на Debian 8 Jessy
How To Installation Sentry server with a PostgreSQL database on Debian 8 Jessy
Посмотрев документацию можно прийти в ужас. Вот бы разрабы написали ман в виде 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 = '[email protected]' ...... SENTRY_URL_PREFIX = 'http://sentry.host.com' ...... # Будет слать письма от этого аккаунта, подключенного к гуглопочте EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_PASSWORD = 'GMAIL_PASS' EMAIL_HOST_USER = '[email protected]' EMAIL_PORT = 25 EMAIL_USE_TLS = True SERVER_EMAIL = '[email protected]' ......
Поставить фронтенд (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, вы мне очень помогли.