Установка на Ubuntu 16.04

В инструкции все команды по умолчанию выполняются от имени пользователя root.

Обновление ОС

apt-get -y update
apt-get -y upgrade

Устанавливаем Postgresql

Настраиваем локаль ru_RU:

locale-gen ru_RU.UTF-8
dpkg-reconfigure locales


export LC_ALL="ru_RU.UTF-8"

echo export LC_ALL="ru_RU.UTF-8" >> ~/.bashrc

apt-get -y install postgresql unzip

В процессе установки будет создан новый пользователь postgres.

Переключаемся на пользователя postgres:

su postgres

Создадим нового пользователя scuser (владельца базы данных Severcart PostgreSQL) из командной оболочки psql:

psql
CREATE USER scuser WITH PASSWORD '123456';

Создаём базу данных severcart:

CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=scuser CONNECTION LIMIT=-1 template=template0;

UPDATE pg_database SET datcollate='ru_RU.UTF-8', datctype='ru_RU.UTF-8' WHERE datname='severcart';

Для выхода из оболочки psql набираем:

\q

Возвращаемся к пользователю root:

su -

Устанавливаем пакет virtualenv

apt-get -y install python-virtualenv

Создаём виртуальное окружение

virtualenv --distribute -p /usr/bin/python3 /var/venv/

mkdir -p /var/venv/severcart/

Скачиваем и распаковываем пакет Severcart

Скачиваем самый свежий файл *.zip архива с официального сайта продукта.

Сайт перенаправит на облачный хостинг файлов

Далее распаковываем архив в каталог /var/venv/severcart

unzip 1_X_X.zip -d /var/venv/severcart

Установка зависимостей

Активируем виртуальное окружение:

source /var/venv/bin/activate

Далее запускаем файл

python3 /var/venv/severcart/tkinstaller/install.py

В ходе установки будет произведена установка зависимостей, миграция схемы базы данных, создание администратора severcart.

Установка и настройка Nginx

Отключаем службу apache2 и её автозагрузку:

service apache2 stop
systemctl disable apache2
apt-get -y install nginx supervisor

Заменяем содержимое файла /etc/nginx/sites-available/default следующим:

server {
    listen 80;
    server_name 0.0.0.0; #либо ip, либо доменное имя
    access_log  /var/log/nginx/severcart_access.log;
    error_log  /var/log/nginx/severcart_error.log;

    location /static/ {
        root /var/venv/severcart/;
        expires 30d;
    }

    location /media/ {
        root /var/venv/severcart/;
        expires 30d;
    }

    location / {
        proxy_pass http://127.0.0.1:9000;
        proxy_set_header Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Активируем автозагрузку nginx и supervisord.

systemctl enable supervisor

systemctl enable nginx
chmod 755 -R /var/venv/severcart/
chown nobody:nogroup -R /var/venv/severcart/

Чтобы приложение автоматически запускалось после перезагрузки, необходимо настроить supervisor. Для этого создадим конфигурационный файл:

cd /etc/supervisor/conf.d/
touch severcart.conf

В файл записываем:

[program:severcart]
command=/var/venv/bin/gunicorn conf.wsgi_prod:application -c /var/venv/severcart/conf/gunicorn.conf.py
directory=/var/venv/severcart
user=nobody
autorestart=true
redirect_stderr=true

Активируем конфигурацию:

supervisorctl reread
supervisorctl update
supervisorctl status severcart
supervisorctl restart severcart

Перезагружаем сервер Nginx:

service nginx restart

Далее проверяем в браузере открытие страницы. Если увидите приглашение ввести логин и пароль, значит установка успешно завершена.

Внимание!!! После успешно установки программы пароль пользователя PostgreSQL scuser рекомендуется поменять на более стойкий. Инструкция по смене пароля здесь.

Если установить приложение не получается, то свяжитесь с тех. поддержкой info@severcart.ru.