SkyOS →
Часть 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 > < IfModule worker . c > ... MaxRequestsPerChild 100 IfModule >
/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. Поэтому нам понадобится работающий клиент для тестирования.
Комментарии