Попытка соединить PostrgreSQL с моим сервером для создания аутентификации SQL. для SOGo

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

Сначала они хотят, чтобы я создал пользователя базы данных 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;
  }
);

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

Я создал базу данных 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 , так как я думал, что это то, что я должен делать. Вот список отношений:

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

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

1
задан 30 December 2016 в 13:45
2 ответа

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

Обращаю ваше внимание на то, что у вас

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

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

.
-1
ответ дан 3 December 2019 в 23:36

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

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

В вики Debian есть инструкция, как настроить базу данных и вставить логины. Это для mysql, но работает и для postgres. Просто убедитесь, что вы установили для db и владельца таблицы значение 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

2
ответ дан 3 December 2019 в 23:36

Теги

Похожие вопросы