Open solohan83 opened 3 years ago
Add enabled repo list:
$ sudo dnf repolist
Updating Subscription Management repositories.
repo id repo name
epel Extra Packages for Enterprise Linux 8 - x86_64
epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
nodesource Node.js Packages for Enterprise Linux 8 - x86_64
passenger passenger
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
satellite-tools-6.8-for-rhel-8-x86_64-rpms Red Hat Satellite Tools 6.8 for RHEL 8 x86_64 (RPMs)
yarn Yarn Repository
$ sudo yum install nginx-mod-http-passenger
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 56 kB/s | 2.4 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 65 kB/s | 2.8 kB 00:00
Red Hat Satellite Tools 6.8 for RHEL 8 x86_64 (RPMs) 48 kB/s | 2.1 kB 00:00
Error:
Problem: package nginx-mod-http-passenger-6.0.8-1.el8.x86_64 requires nginx = 1:1.14.1, but none of the providers can be installed
- cannot install the best candidate for the job
- package nginx-1:1.14.1-9.module+el8.0.0+4108+af250afe.x86_64 is filtered out by modular filtering
- package nginx-1:1.14.1-8.module+el8+2505+fe936cef.x86_64 is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
Testing with a clean ubi8 container, I'm still seeing Nginx 1.14 as the default Nginx. I see in your output is filtered out by modular filtering
how was that done?
Hi,
Good catch on the modular filtering part!
After I spending some more time on this, I believe I have a better understanding of what is going on.
First, to answer your question of how modular filtering is done:
Second, I am not sure how UBI8 container handles it, as I personally never used it, but only full blown RHEL8 OS. (Yes, I am old school :) )
3rd, I was mistaken that nginx 1.14 is no longer provided. As RHEL 8.3, it seems it is proving 3 versions of nginx:
# yum module list nginx
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 58 kB/s | 2.4 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 69 kB/s | 2.8 kB 00:00
Red Hat Satellite Tools 6.8 for RHEL 8 x86_64 (RPMs) 50 kB/s | 2.1 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64
Name Stream Profiles Summary
nginx mainline common nginx webserver
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Name Stream Profiles Summary
nginx 1.14 [d] common [d] nginx webserver
nginx 1.16 [e] common [d] nginx webserver
nginx 1.18 common [d] nginx webserver
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
We have enabled 1.16 at one point for the repo, as 1.14 is considered exposing too many issues and vulnerabilities.
- name: Reset the nginx module stream for RHEL8
shell: dnf module reset nginx -y
- name: Enable the nginx 1.16 app module stream for RHEL8
shell: dnf module enable nginx:1.16 -y
Now, to the question:
If I would like to use nginx-mod-http-passenger version 6.0.8 for Nginx 1.16 or even 1.18 on RHEL 8, what is the best way of doing it?
Thanks.
hmm I wonder if we can create module streams for passenger to match the nginx module streams... of course they don't exist in el7 so it might be tough.
Anyway, for now the best approach depends a bit on what kind of setup you have. If you have one server that you don't tear down and rebuild a lot then building an nginx module would probably be easiest, if you have several servers or rebuild a lot then you'll probably want to make your own rpm. I can provide some guidance either way if you let me know which is a better fit.
Thanks for the respond.
If there is a possibility that make the streamers to support the versions of Nginx provided by Redhat AppStream in the next release(6.0.9?), I am willing to wait.
For us, Nginx 1.14 is an unusable version, and it is our best interest to have the package provided from the vendor through the official repo.
If the possibility of making it happen is not feasible in the near future, I will start look into the route of using Apache instead of Nginx, as a quick test seems there is only one version of Apache is provided, and mod_passenger was installed no problem. Not sure how much the application will like it though.
That depends if I'm able to get module streams working in our repo. I honestly do not know what that will require so I can't promise it'll make the next release.
got more info in https://github.com/phusion/passenger/issues/2431
we switched to the newest nginx module stream in 6.0.18, still don't support multiple versions but at least it's not super old
Please follow the steps below if you have found an issue with Passenger, or would like to request a feature.
Post to Stack Overflow instead if you are not sure, or if you have a question about your configuration.
Issue report
When try to yum install nginx-mod-http-passenger, it fails as it is asking for nginx 1.14, which is not provided in RHEL8 any more
Question 1: What is the problem?
Fresh install of RHEL8, enable passenger repo, and then try to install nginx-mod-http-passenger.
Question 2: Passenger version and integration mode:
Your answer:
open source 6.0.8
Question 3: OS or Linux distro, platform (including version): Red Hat Enterprise Linux 8 x86_64
Your answer:
Question 4: Passenger installation method:
Your answer: [ ] RubyGems + Gemfile [ ] RubyGems, no Gemfile [ ] Phusion APT repo [X] Phusion YUM repo [ ] OS X Homebrew [ ] source tarball [ ] Other, please specify:
Question 5: Your app's programming language (including any version managers) and framework (including versions):
Your answer:
N/A. Trying to install before application is loaded.
Question 6: Are you using a PaaS and/or containerization? If so which one?
Your answer:
No.
Question 7: Anything else about your setup that we should know?
Your answer:
I have followed documentation below:
https://www.phusionpassenger.com/docs/advanced_guides/install_and_upgrade/nginx/install/oss/el8.html
Previously, I have followed the older document for deploying on RHEL7 and has no problem installing nginx-mod-http-passenger with nginx 1.16, and has application successfully deployed.