Why do we have system-user-wwwrun? It conflict with nginx user:group and is NOT a real dependency of php.
All, Devs, Why do we have the package system-user-wwwrun? Yes it creates the user/group for the webserver to run as, but it totally conflicts with the nginx webserver default nginx:nginx, and there is no requirement that a webserver run as www:wwwrun -- none at all. The downside to this type "nanny" package is it creates confusion on updates suggesting that php must be completely uninstalled if the package system-user-wwwrun or requiring the user to choose "break" php by ignoring some of its dependencies. Running php-fpm under user/group www:wwwrun is NOT a valid php dependency - period. After installing nginx, I configured the web server to run as nginx:nginx based on the default installed nginx user/group. It already creates the nginx user/group, so there is no reason for the system-user-wwwrun dependency on php trying to change that. Now every time I try and update Tumbleweed it tries to uninstall php and I'm forced to choose the false option to "break" php every update. These nanny packages should be optional and NOT a dependency. They can be "Recommended", but dependencies are supposed to be real dependencies not some made up user-preference masquerading as a dependency. Php-fpm does not care what user it runs as. That is a simple 2 line config issue: user = nginx group = nginx So why do we have system-user-wwwrun as a hard php dependency, and why is the user not capable of following the wealth of examples and tutorials out there to set up the server? It just seems this is a totally unnecessary package that causes more problems than it purportedly solves. It creates a circular-dependency hell that shouldn't exist in the first place and screws up updates. -- David C. Rankin, J.D.,P.E.
30.11.2024 16:05, David C. Rankin wrote:
All, Devs,
Why do we have the package system-user-wwwrun? Yes it creates the user/group for the webserver to run as, but it totally conflicts with the nginx webserver default nginx:nginx, and there is no requirement that a webserver run as www:wwwrun -- none at all.
Creating of user does not conflict with anything. If you do not need this user, then do not use this user. You are claiming that "useradd wwwrun" conflicts with nginx. It sounds like your system does not have any other user except "nginx" because these users "conflict" with nginx.
The downside to this type "nanny" package is it creates confusion on updates suggesting that php must be completely uninstalled if the package system-user-wwwrun or requiring the user to choose "break" php by ignoring some of its dependencies. Running php-fpm under user/group www:wwwrun is NOT a valid php dependency - period.
If you bothered to read changelog, you would have found - /var/lib/php is now owned by wwwrun (bug #45360) Yes, it was 10 years ago. It probably no more true (at least, there is no trace of wwwrun in the current php8.spec). In this case just open bug report and ask whether this dependency is still relevant. There is no need to be hysterical about it.
After installing nginx, I configured the web server to run as nginx:nginx based on the default installed nginx user/group. It already creates the nginx user/group, so there is no reason for the system-user-wwwrun dependency on php trying to change that. Now every time I try and update Tumbleweed it tries to uninstall php and I'm forced to choose the false option to "break" php every update.
You decided to outsmart packaging system and now you complain? What harm having the user wwwrun does? Rewind several years and you had this user hard coded in /etc/passwd. Did it also "conflict" with nginx?
These nanny packages should be optional and NOT a dependency.
They cannot be optional. Either package requires this user or not. Yes, sometimes these requirements become outdated and need clean up. Just do it.
They can be "Recommended",
No, they can not.
but dependencies are supposed to be real dependencies not some made up user-preference masquerading as a dependency. Php-fpm does not care what user it runs as. That is a simple 2 line config issue:
user = nginx group = nginx
So why do we have system-user-wwwrun as a hard php dependency, and why is the user not capable of following the wealth of examples and tutorials out there to set up the server? It just seems this is a totally unnecessary package that causes more problems than it purportedly solves. It creates a circular-dependency hell that shouldn't exist in the first place and screws up updates.
On 11/30/24 7:32 AM, Andrei Borzenkov wrote:
You decided to outsmart packaging system and now you complain? What harm having the user wwwrun does? Rewind several years and you had this user hard coded in /etc/passwd. Did it also "conflict" with nginx?
These nanny packages should be optional and NOT a dependency.
They cannot be optional. Either package requires this user or not. Yes, sometimes these requirements become outdated and need clean up. Just do it.
https://bugzilla.opensuse.org/show_bug.cgi?id=1233691 -- David C. Rankin, J.D.,P.E.
participants (2)
-
Andrei Borzenkov
-
David C. Rankin