Часть II. Предварительные настройки

Часть II. Предварительные настройки

Скопируйте сертификаты в ~ / .koji для kojiadm


Если вы хотите иметь возможность отправлять команды администратора на kojihub, то для этого вам нужно будет использовать вновь созданные сертификаты для аутентификации в хабе. Создайте сертификат пользователя kojiadm, затем скопируйте сертификаты для CA koji и пользователя kojiadmin в ~/.koji :

kojiadm@localhost$ mkdir ~/.koji kojiadm@localhost$ cp /etc/pki/koji/kojiadm.pem ~/.koji/client.crt kojiadm@localhost$ cp /etc/pki/koji/skyos_ca_cert.crt ~/.koji/clientca.crt kojiadm@localhost$ cp /etc/pki/koji/skyos_ca_cert.crt ~/.koji/serverca.crt

Скопируйте /etc/koji.conf в ~ /.koji /config, если вы хотите изменить конфигурацию только текущего пользователя.


PostgreSQL сервер


После того, как схема аутентификации настроена, вам нужно будет установить и настроить сервер PostgreSQL и заполнить базу данных, которая будет использоваться для хранения пользователей koji.


Конфигурационные файлы

/var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/postgresql.conf

Установить PostgreSQL


Установите пакет postgresql-server :

# yum install postgresql-server

Инициализируйте базу данных PostgreSQL:


Следующие команды инициализируют PostgreSQL и запускают службу базы данных

root@localhost$ postgresql-setup initdb root@localhost$ systemctl enable postgresql root@localhost$ systemctl start postgresql

Настройка учетных записей пользователей:


Следующие команды установят учетную запись koji и назначат ей пароль

root@localhost$ useradd koji root@localhost$ passwd koji

Настройте PostgreSQL и заполните схему:


Следующие команды:

  • создадут пользователя koji в PostgreSQL
  • создадут базу данных koji в PostgreSQL
  • установят пароль для пользователя koji
  • выполнят создание схемы koji, используя предоставленный файл /usr/share/doc/koji*/docs/schema.sql

root@localhost$ su - postgres postgres@localhost$ createuser --no-superuser --no-createrole --no-createdb koji postgres@localhost$ createdb -O koji koji postgres@localhost$ psql -c "alter user koji with encrypted password 'mypassword';" postgres@localhost$ logout root@localhost$ su - koji koji@localhost$ psql koji koji < /usr/share/doc/koji*/docs/schema.sql koji@localhost$ exit
Заметка: При вводе команды для импорта схемы psql в новую базу данных важно убедиться, что путь к каталогу /usr/share/doc/koji*/docs/schema.sql остается не полным(*) и не разрешен для конкретной версии koji. В тесте было обнаружено, что когда путь разрешен до определенной версии коджи, тогда не все таблицы создаются правильно

Заметка: При вводе команды для импорта схемы psql в новую базу данных важно убедиться, что вы вошли в систему как владелец базы данных koji. Это гарантирует, что все объекты принадлежат пользователю базы данных koji. Обновления могут быть трудными, если это не было сделано правильно.

Авторизуйте ресурсы Koji-web и Koji-hub


Заметка: В этом примере Koji-web и Koji-hub работают на локальном хосте.
/var/lib/pgsql/data/pg_hba.conf

Эти параметры должны быть действительными и соответствовать конфигурации других служб. Обратите внимание, что используется первая соответствующая строка аутентификации, поэтому эта строка должна быть выше любых других возможных совпадений. Добавлять: #TYPE DATABASE USER CIDR-ADDRESS METHOD host koji koji 127.0.0.1/32 trust host koji koji :: 1 / 128 trust

Также может потребоваться добавить запись для внешнего IP-адреса вашей машины:

host koji koji $IP_ADDRESS/32 trust

Вы также можете использовать доступ к сокету UNIX. Переменная DBHost должна быть не установлена, чтобы использовать этот метод. Добавить:

local koji apache trust local koji koji trust
Заметка: Для принудительного входа в базу данных на основе пароля, измените trust на md5 .
#TYPE DATABASE USER CIDR-ADDRESS METHOD host koji koji 127.0.0.1/32 md5 host koji koji ::1/128 md5 host koji koji $IP_ADDRESS/32 md5

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

root@localhost$ systemctl reload postgresql

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


Первоначальный пользователь-администратор должен быть вручную добавлен в базу данных пользователей с помощью команд sql. После добавления и предоставления привилегий администратора вы можете добавлять дополнительных пользователей и изменять привилегии этих пользователей с помощью административных команд инструмента командной строки koji.


Проверка подлинности через SSL-сертификат


Нет необходимости ни в пароле, ни в принципале Kerberos, так что этого будет достаточно:root@localhost$ su - koji koji@localhost$ psql koji=> insert into users (name, status, usertype) values ('admin-user-name', 0, 0);

Дайте себе разрешения администратора


Следующая команда предоставит пользователю права администратора. Для этого вам необходимо знать идентификатор пользователя.

koji => insert into user_perms ( user_id , perm_id , creator_id ) values ( < id of user inserted above > , 1 , < id of user inserted above > );
Заметка: Если вы не знаете идентификатор пользователя с правами администратора, вы можете получить его, выполнив запрос: koji => select * from users ;

На самом деле вы не можете войти в систему и выполнять какие-либо действия, пока на вашем веб-сервере не запущен и не запущен kojihub. Чтобы добраться до этой точки, вам все равно необходимо выполнить настройку аутентификации и настройку kojihub. Если вы хотите получить доступ к koji через веб-браузер, вам нужно будет его запустить, а так же запустить kojiweb.


Установить базу данных для прослушивания на всех адресах


Служба koji-hub попытается подключиться к серверу базы данных, как вы настроили. Если вы используете системное имя хоста, тогда база данных должна быть доступна по этому адресу. Чтобы настроить это, пожалуйста, выполните следующее:

Отредактируйте /var/lib/pgsql/data/postgresql.conf Установить адрес прослушивания

listen_addresses = '*'

Перезагрузите сервис postgresql

#systemctl перезапустить postgresql
14:45

Комментарии

Нет комментариев. Ваш будет первым!