SkyOS
Часть III. Koji-hub

Часть III. Koji-hub

Koji-hub является центром всех операций koji. Это сервер XML-RPC, работающий под mod_wsgi в Apache httpd. Koji-hub пассивен в том смысле, что он принимает только вызовы XML-RPC и использует демоны сборки и другие компоненты для инициирования связи. Koji-hub является единственным компонентом, который имеет прямой доступ к базе данных и является одним из двух компонентов, которые имеют доступ для записи в файловую систему.


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


/etc/koji-hub/hub.conf /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/kojihub.conf /etc/httpd/conf.d/ssl.conf (при использовании аутентификации ssl)

Установить koji-hub


Установите пакет koji-hub вместе с mod_ssl:

# yum install koji-hub mod_ssl

Требуемая конфигурация


/etc/httpd/conf/httpd.conf


Веб-сервер apache имеет два места, в которых он устанавливает максимальное количество запросов, которые сервер будет обрабатывать до перезапуска сервера. Интерфейс xmlrpc в kojihub - это приложение на python, и процессы могут иногда становиться невероятно большими, если они не получают достаточно памяти. В результате настоятельно рекомендуется установить оба экземпляра MaxRequestsPerChild в httpd.conf на что-то разумное, чтобы предотвратить перегрузку и сбой сервера (при 100 процессы httpd вырастут до размера резидентного набора около 75 МБ перед повторным вызовом) ,


< IfModule prefork . c > ... MaxRequestsPerChild 100 < IfModule worker . c > ... MaxRequestsPerChild 100

/etc/httpd/conf.d/kojihub.conf


Пакет koji-hub предоставляет этот файл конфигурации. Вам нужно будет изменить его в зависимости от вашего типа аутентификации. Инструкции содержатся в файле и должны быть простыми для выполнения. /etc/httpd/conf.d/ssl.conf


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


SSLCertificateFile /etc/pki/koji/certs/kojihub.crt SSLCertificateKeyFile /etc/pki/koji/private/kojihub.key SSLCertificateChainFile /etc/pki/koji/skyos_ca_cert.crt SSLCACertificateFile /etc/pki/koji/skyos_ca_cert.crt SSLVerifyClient require SSLVerifyDepth 10

/etc/koji-hub/hub.conf


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


DBName = koji DBUser = koji DBPass = mypassword DBHost = db.example.com KojiDir = /mnt/koji LoginCreatesUser = On KojiWebURL = http://kojiweb.example.com/koji

Если koji-hub работает на том же сервере, что и база данных koji, то для DBHost должно быть установлено значение 127.0.0.1


Конфигурация аутентификации


/etc/koji-hub/hub.conf


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

Для ProxyDN должно быть задано DN сертификата kojiweb. Точный формат зависит от вашей версии mod_ssl.


Для mod_ssl <2.3.11 используйте:

DNUsernameComponent=CN ProxyDNs =/C=US/ST=Massachusetts/O=Example Org/OU=kojiweb/CN=example/emailAddress = example@example.com

Однако, для mod_ssl> = 2.3.11 используйте:

DNUsernameComponent=CN ProxyDNs=CN=example.com,OU=kojiweb,O=Example Org,ST=Massachusetts , C=US
Заметка: Более подробную информацию об этом изменении формата, включая обработку специальных символов, можно найти в документации Apache mod_ssl.

Скелет файловой системы Koji


Выше в файле kojihub.conf мы устанавливаем KojiDir в /mnt/koji . По определенным причинам, если вы измените это, вы должны сделать символическую ссылку из /mnt/koji на новое местоположение (примечание: это ошибка и должна быть исправлена ​​в конце концов). Однако, прежде чем другие части коджи будут работать должным образом, нам нужно создать каркасную структуру файловой системы для коджи, а также сделать файловую область, принадлежащую apache, чтобы интерфейс xmlrpc мог писать в нее по мере необходимости.

cd / mnt mkdir koji cd koji mkdir { packages , repos , work , scratch , repos-dist } chown apache.apache *

Конфигурация SELinux


Если работает в принудительном режиме


вам нужно будет разрешить apache подключаться к серверу postgreSQL вам нужно будет разрешить apache записывать некоторые файлы на диск

Даже если вы в данный момент не работаете в режиме Enforcing, все равно рекомендуется настроить параметры SELinux, чтобы в будущем не возникало проблем с SELinux, если режим Enforcing будет включен позже.

root@localhost$ setsebool -P httpd_can_network_connect_db=1 allow_httpd_anon_write=1 root@localhost$ chcon -R -t public_content_rw_t /mnt/koji/*

Если вы разместили /mnt/koji на общем ресурсе NFS, вам также может потребоваться установить httpd_use_nfs . Проверьте свою конфигурацию. Теперь вы можете перезапустить apache, и у вас должна быть хотя бы минимальная операция. Пользователь с правами администратора должен иметь возможность подключаться через клиента командной строки, добавлять новых пользователей и т. Д. В это время можно предпринять начальные административные действия, такие как добавление пользователей и хостов в базу данных koji. Поэтому нам понадобится работающий клиент для тестирования.


14:59

Комментарии

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