Использование базы данных на другом хосте

Иногда необходимо разместить базу данных на другом хосте, отдельно от службы Staffcop и веб-интерфейса. Для этого нужно будет проделать такие шаги:

  • Предварительно создать базу данных и все права доступа для пользователя БД (staffcop) на удалённом хосте.

  • Далее, перенести базу на другой хост. Например можно воспользоваться этой статьёй.

  • На сервере со Staffcop - изменить следующие настройки в файле /etc/staffcop/config, нужно указать реквизиты удалённого сервера:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'staffcop',
        'USER': 'staffcop',
        'PASSWORD': '1d6e8d9f8789400fed557937',
        'HOST': '192.168.1.222',
        'PORT': '5432',
    },
}

нужно изменить поля IP-адрес и пароль.

  • В файле /etc/postgresql/11/main/pg_hba.conf добавить доступ, для сервера Staffcop в таком виде:

host    staffcop        staffcop        192.168.0.0/22  trust

Примечание

Путь до базы данных может быть другим, он зависит от версии Postgresql, которую вы использовали!

  • И конечно же проверить работу сервера после переноса базы данных на другой хост.

Для упрощения настройки базы данных на удалённом хосте, можно предварительно установить пакет Staffcop, он сам настроит базу данных и после восстановления резервной копии базы данных с основного хоста, она сразу же будет готов принимать данные с основного сервера. Саму службу Staffcop на локальном хосте можно будет выключить (systemctl disable staffcop) или остановить (systemctl stop staffcop).