Назад | Перейти на главную страницу

Попытка подключить PostgreSQL к моему серверу для создания SQL auth. для SOGo

Мне нужно создать аутентификацию SQL для моей установки SOGo, и я считаю, что настроил все в соответствии с документацией. Они хотят, чтобы я сделал следующее:

1-е они хотят, чтобы я создал пользователя базы данных sogo и схема БД (вот раздел: https://sogo.nu/files/docs/SOGoInstallationGuide.html#_database_configuration) с помощью этих команд:

su - postgres
createuser --no-superuser --no-createdb --no-createrole \
    --encrypted --pwprompt sogo
(specify “sogo” as password)
createdb -O sogo sogo

Затем добавьте следующую строку в postgresql pg_hba.conf файл:

host   sogo   sogo     127.0.0.1/32     md5

И, наконец, измените следующие строки в sogo.conf:

SOGoProfileURL =
    "postgresql://sogo:sogo@localhost:5432/sogo/sogo_user_profile";
OCSFolderInfoURL =
    "postgresql://sogo:sogo@localhost:5432/sogo/sogo_folder_info";
OCSSessionsFolderURL =
    "postgresql://sogo:sogo@localhost:5432/sogo/sogo_sessions_folder";

Затем для актуальной аутентификации мне нужно настроить SOGoUserSources следующим образом:

SOGoUserSources =
(
  {
    type = sql;
    id = directory;
    viewURL = "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view";
    canAuthenticate = YES;
    isAddressBook = YES;
    userPasswordAlgorithm = md5;
  }
);

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

Я создал базу данных sogo, владельцем которой также является sogo, вот мой список баз данных:

 Name     |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
--------------+----------+----------+-------------+-------------+-----------------------
 postgres     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 sogo         | sogo     | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 sogocreatedb | sogo     | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
              |          |          |             |             | postgres=CTc/postgres
 template1    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
              |          |          |             |             | postgres=CTc/postgres

Затем я создал sogo_view table, поскольку я думал, что это то, что я должен делать. Вот список отношений:

List of relations
 Schema |   Name    | Type  | Owner
--------+-----------+-------+-------
 public | sogo_view | table | sogo

Наконец, я создал пользователя в таблице:

 c_uid  | c_name  |  c_password   |  c_cn   |          mail
---------+---------+---------------+---------+-------------------------
 Luciano | Luciano | Something    | Luciano | luciano@something.cz

Но связи все равно не происходит, есть ли у кого-нибудь опыт с этим?

В столбце пароля вы должны установить MD5 вашего пароля. Вставьте такую ​​запись:

INSERT INTO sogo_view VALUES (
  'Luciano', 'Luciano', MD5('Something'),
  'Luciano', 'luciano@something.cz');

В вики Debian есть инструкция, как настроить базу данных и вставить логины. Это для mysql, но работает и для postgres. Просто убедитесь, что вы установили db и table owner на sogo, что вы, по-видимому, и так сделали.

В примере с debian таблица пользователей называется sogo_users вместо того sogo_view. Так что либо переименуйте его в sogo_view в примере ниже или измените конфигурацию SOGo viewURL к .../sogo_users. Вот оригинальный пример Debian:

CREATE TABLE sogo_users (
    c_uid VARCHAR(10) PRIMARY KEY,
    c_name VARCHAR(10),
    c_password VARCHAR(32),
    c_cn VARCHAR(128),
    mail VARCHAR(128));

INSERT INTO sogo_users VALUES ('paul', 'paul', MD5('zxc'), 'Paul Example', 'paul@example.com');
INSERT INTO sogo_users VALUES ('piet', 'piet', MD5('zxc'), 'Piet Jansen', 'piet@example.com');
INSERT INTO sogo_users VALUES ('klaas', 'klaas', MD5('zxc'), 'Klaas van der Zee', 'klaas@example.com');

Ссылка: https://wiki.debian.org/SOGo

Какое точное сообщение об ошибке выдает программа при попытке подключения?

Замечу, что у вас есть

sogocreatedb | sogo | UTF8 | en_US.UTF-8 | en_US.UTF-8 |

в вашем списке баз данных. Вы намеревались создать sogocreatedb база данных?