foreman-3.18.1-alt1 Настройка и запуск согласно https://www.altlinux.org/Foreman Запуск сервиса завершается ошибкой: systemd[1]: Starting foreman.service - Foreman... systemd[1]: Starting nginx.service - The nginx HTTP and reverse proxy server... nginx[3681]: nginx: [emerg] cannot load certificate "/etc/foreman/ssl_cert.pem": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/etc/foreman/ssl_cert.pem, r) error:10000080:BIO routines::no such file) nginx[3681]: nginx: configuration file /etc/nginx/nginx.conf test failed systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE systemd[1]: nginx.service: Failed with result 'exit-code'. systemd[1]: Failed to start nginx.service - The nginx HTTP and reverse proxy server. systemd[1]: Dependency failed for foreman.service - Foreman. Ключей, которые прописаны в nginx конфигурации, на самом деле нет: # grep /etc/foreman/ssl_ /etc/nginx/sites-enabled.d/foreman.conf ssl_certificate /etc/foreman/ssl_cert.pem; ssl_certificate_key /etc/foreman/ssl_key.pem; ssl_trusted_certificate /etc/foreman/ssl_cert.pem; # l /etc/foreman/ssl_* ls: невозможно получить доступ к '/etc/foreman/ssl_*': Нет такого файла или каталога Судя по спеку ключи генерируются при установке. В логе /var/log/foreman/key_generation.log такая ошибка: /bin/puppetserver: строка 71: /usr/share/puppetserver/cli/apps/ca: cannot execute: required file not found Файл есть: # l /usr/share/puppetserver/cli/apps/ca -rwxr-xr-x 1 root root 85 авг 29 2025 /usr/share/puppetserver/cli/apps/ca При выполнении команды из спека вручную возникает ошибка: # puppetserver ca setup --certname $(hostname) --subject-alt-names $(hostname) The cadir is currently configured to be inside the /etc/puppet/ssl directory. This config setting and the directory location will not be used in a future version of puppet. Please run the puppetserver ca tool to migrate out from the puppet confdir to the /etc/puppetlabs/puppetserver/ca directory (if haven't changed). Use `puppetserver ca migrate --help` for more info. /usr/lib/ruby/gemie/gems/puppetserver-ca-2.7.0.1/lib/puppetserver/ca/host.rb:83:in `version=': X509_REQ_set_version: passed invalid argument (OpenSSL::X509::RequestError) from /usr/lib/ruby/gemie/gems/puppetserver-ca-2.7.0.1/lib/puppetserver/ca/host.rb:83:in `create_csr' from /usr/lib/ruby/gemie/gems/puppetserver-ca-2.7.0.1/lib/puppetserver/ca/local_certificate_authority.rb:260:in `create_intermediate_cert' from /usr/lib/ruby/gemie/gems/puppetserver-ca-2.7.0.1/lib/puppetserver/ca/action/setup.rb:80:in `generate_pki' from /usr/lib/ruby/gemie/gems/puppetserver-ca-2.7.0.1/lib/puppetserver/ca/action/setup.rb:69:in `run' from /usr/lib/ruby/gemie/gems/puppetserver-ca-2.7.0.1/lib/puppetserver/ca/cli.rb:102:in `run' from /usr/share/puppetserver/cli/apps/ca:5:in `<main>' Регресс относительно версии foreman-3.13.0-alt2 из р11, там ключи создаются: # l /etc/foreman/ssl_* -rw-r----- 1 puppet puppet 3243 мая 14 12:39 /etc/foreman/ssl_key.pem -rw-r----- 1 puppet puppet 2313 мая 14 12:39 /etc/foreman/ssl_cert.pem
Сервис самого foreman в итоге оказывается запущен, но доступен только по http://127.0.0.1:2346. Недоступен прокси, который должен быть запущен на 2345, но не запускается.
(Ответ для Alexander Makeenkov на комментарий #1) > Сервис самого foreman в итоге оказывается запущен, но доступен только по > http://127.0.0.1:2346. Недоступен прокси, который должен быть запущен на > 2345, но не запускается. чтобы онъ сталъ запущенымъ на 2345--мъ порту, нужно запустить nginx см. https://www.altlinux.org/Foreman#%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0
(Ответ для Малъ Скрылевъ на комментарий #2) > чтобы онъ сталъ запущенымъ на 2345--мъ порту, нужно запустить nginx Прочитайте описание бага, пожалуйста.
(Ответ для Alexander Makeenkov на комментарий #3) > (Ответ для Малъ Скрылевъ на комментарий #2) > > чтобы онъ сталъ запущенымъ на 2345--мъ порту, нужно запустить nginx > > Прочитайте описание бага, пожалуйста. я видѣлъ, трѣбованіе запуска nginx къ bug-у не относится
(Ответ для Малъ Скрылевъ на комментарий #4) > трѣбованіе запуска nginx къ bug-у не относится nginx не запускается, потому что ключи, которые прописаны в конфиге, не созданы. Если ожидается, что пользователь должен всё создать и поправить ручками, то зачем это делать в пакете?
Самый простой способ воспроизвести/проверить: 1. Установить foreman: # apt-get install foreman 2. Проверить корректность конфигурации, которую он создал: # nginx -t Получаем ошибку: nginx: [emerg] cannot load certificate "/etc/foreman/ssl_cert.pem": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/etc/foreman/ssl_cert.pem, r) error:10000080:BIO routines::no such file) nginx: configuration file /etc/nginx/nginx.conf test failed В логах: # cat /var/log/foreman/key_generation.log /bin/puppetserver: строка 71: /usr/share/puppetserver/cli/apps/ca: cannot execute: required file not found
(Ответ для Alexander Makeenkov на комментарий #6) > Самый простой способ воспроизвести/проверить: > > 1. Установить foreman: > # apt-get install foreman > А по инструкціи устанавлиали?
(Ответ для Малъ Скрылевъ на комментарий #7) > А по инструкціи устанавлиали? самый первый комментарий в этом баге прочитайте
За создание сертификатов отвечает Puppetserver. На вики https://www.altlinux.org/Puppet внесены уточнения по настройке для p11 и Sisyphus.
(Ответ для Alexander Makeenkov на комментарий #0) > Судя по спеку ключи генерируются при установке. В логе > /var/log/foreman/key_generation.log такая ошибка: > /bin/puppetserver: строка 71: /usr/share/puppetserver/cli/apps/ca: cannot > execute: required file not found Почему вы игнорируете этот факт? Мейнтейнер пакета не в курсе, как собирается его пакет? Смотрим спек https://packages.altlinux.org/ru/sisyphus/srpms/foreman/specfiles/#line-577 ``` %post # ssl key generation puppetserver ca setup --certname $(hostname) --subject-alt-names $(hostname) >> /var/log/foreman/key_generation.log 2>&1 ``` Сразу после установки foreman смотрим в логи и проверяем корректность nginx конфигурации: foreman-3.18.1-alt1 из сизифа: ``` # cat /var/log/foreman/key_generation.log /bin/puppetserver: строка 71: /usr/share/puppetserver/cli/apps/ca: cannot execute: required file not found # nginx -t nginx: [emerg] cannot load certificate "/etc/foreman/ssl_cert.pem": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/etc/foreman/ssl_cert.pem, r) error:10000080:BIO routines::no such file) nginx: configuration file /etc/nginx/nginx.conf test failed ``` foreman-3.13.0-alt2 из р11: ``` # cat /var/log/foreman/key_generation.log The cadir is currently configured to be inside the /etc/puppet/ssl directory. This config setting and the directory location will not be used in a future version of puppet. Please run the puppetserver ca tool to migrate out from the puppet confdir to the /etc/puppetserver/ca directory. Use `puppetserver ca migrate --help` for more info. Generation succeeded. Find your files in /etc/puppet/ssl/ca # nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful ``` (Ответ для pav@altlinux.org на комментарий #9) > На вики https://www.altlinux.org/Puppet внесены уточнения по настройке для > p11 и Sisyphus. В р11 сейчас проблемы с этим нет, она появляется в задании 386648, и я пытаюсь не допустить его прохождения в таком виде, но меня почему-то не слушают и пытаются скрыть проблему костылями через инструкцию по установке (как уже произошло с https://bugzilla.altlinux.org/53391).
(Ответ для Alexander Makeenkov на комментарий #10) > > (Ответ для Alexander Makeenkov на комментарий #0) > > Судя по спеку ключи генерируются при установке. В логе > > /var/log/foreman/key_generation.log такая ошибка: > > /bin/puppetserver: строка 71: /usr/share/puppetserver/cli/apps/ca: cannot > > execute: required file not found > > Почему вы игнорируете этот факт? Мейнтейнер пакета не в курсе, как > собирается его пакет? > > Смотрим спек > https://packages.altlinux.org/ru/sisyphus/srpms/foreman/specfiles/#line-577 > > ``` > %post > # ssl key generation > puppetserver ca setup --certname $(hostname) --subject-alt-names $(hostname) > >> /var/log/foreman/key_generation.log 2>&1 > ``` > То есть вы пытаетесь утверждать, что эти строчки (по созданію ключа, а также первичной самонастройкѣ foreman-а) въ спекѣ не нужны?
(Ответ для Малъ Скрылевъ на комментарий #11) > То есть вы пытаетесь утверждать, что эти строчки (по созданію ключа, а также > первичной самонастройкѣ foreman-а) въ спекѣ не нужны? Нет. Они нужны. Но они не работают и падают с ошибкой. Что приводит к тому, что ключи не создаются.
(Ответ для Alexander Makeenkov на комментарий #12) > (Ответ для Малъ Скрылевъ на комментарий #11) > > То есть вы пытаетесь утверждать, что эти строчки (по созданію ключа, а также > > первичной самонастройкѣ foreman-а) въ спекѣ не нужны? > > Нет. Они нужны. Но они не работают и падают с ошибкой. Что приводит к тому, > что ключи не создаются. а я думаю, что они какъ разъ не нужны, потому что не приводятъ къ гарантированной настройкѣ приложенія, къ которой приводитъ только слѣдованіе инструкціи изъ ссылки въ комментаріи изъ постустановки. А тѣ строчки были только добавлены только для упрощенія оно въ нѣкоторыхъ случаяхъ
(Ответ для Малъ Скрылевъ на комментарий #13) > а я думаю, что они какъ разъ не нужны, потому что не приводятъ къ > гарантированной настройкѣ приложенія, къ которой приводитъ только слѣдованіе > инструкціи изъ ссылки въ комментаріи изъ постустановки. А тѣ строчки были > только добавлены только для упрощенія оно въ нѣкоторыхъ случаяхъ Конечно, проще пользователей отправлять настраивать всё руками, чем исправить то, что работало, а теперь сломалось. (Ответ для Alexander Makeenkov на комментарий #10) > foreman-3.13.0-alt2 из р11: > ``` > # cat /var/log/foreman/key_generation.log > The cadir is currently configured to be inside the /etc/puppet/ssl > directory. This config setting and the directory location will not be used > in a future version of puppet. Please run the puppetserver ca tool to > migrate out from the puppet confdir to the /etc/puppetserver/ca directory. > Use `puppetserver ca migrate --help` for more info. > Generation succeeded. Find your files in /etc/puppet/ssl/ca > > # nginx -t > nginx: the configuration file /etc/nginx/nginx.conf syntax is ok > nginx: configuration file /etc/nginx/nginx.conf test is successful > ``` > скрыть проблему костылями через инструкцию по установке > (как уже произошло с https://bugzilla.altlinux.org/53391).