- 1 Features/WebserverDependency
- 1.1 Summary
- 1.2 Owner
- 1.3 Current status
- 1.4 Detailed Description
- 1.5 Benefit to Fedora
- 1.6 Scope
- 1.7 How To Test
- 1.8 User Experience
- 1.9 Dependencies
- 1.10 Contingency Plan
- 1.11 Documentation
- 1.12 Release Notes
- 1.13 Comments and Discussion
Provide a way how to install and use web applications (for example phpMyAdmin or Mailman) with any web server in Fedora.
- Name: Jan Kaluza
- Email: email@example.com
- Targeted release: [[Releases/<number> | Fedora <number> ]]
- Last updated: (DATE)
- Percentage of completion: 0%
Currently, packages like phpMyAdmin or Mailman requires httpd installed. This is wrong, because they can work properly even with Lighttpd or nginx. Following list contains the reasons why the particular package needs httpd and how to fix it:
Package includes files owned by apache user/group
This is needed when files have to be readable by webserver and therefore they have to have proper owner or group. Each webserver in Fedora has its own user/group under which it's running. This should be changed and one group shared by all servers should be introduced.
Web application package maintainer then must use shared group instead of "apache" group.
Package includes httpd configuration files
To move web server related configuration into new subpackage, new packaging layout should be introduced (mailman is used as an example here):
- mailman-core - Contains all mailman files except web server related configurations. This subpackage must not require any web server.
- mailman-httpd (mailman-xxx) - Contains web server related configuration files and must require particular web server.
- mailman - To keep the backward compatibility and upgrade from older versions, main package must require -core and -httpd subpackages.
Maintainer does not have to create config files (and subpackages) for all webservers, but it must be possible to install -core subpackage without any dependency on particular web server, so the administrator can choose and configure the web server himself.
Package requires web server specific modules
If the package requires web server specific modules like mod_wsgi or mod_php, then those dependencies must be moved into web server specific subpackage like described above.
Package "Requires: php"
"php" as dependency is not needed, because too ambiguous (in fact this package is mod_php for apache).
Instead, must requires the used SAPI (mod_php, php-fpm or php-cgi)
Benefit to Fedora
- Ability to install various web applications without pulling httpd as a dependency if it's not needed.
- Maintainers are able to add support for more web servers in their packages.
- Unification of web application packaging.
- Discuss this feature with web servers maintainers in Fedora and get consensus on shared group name, add this group to Fedora and use it in web servers.
- Change configuration of lighttpd and nginx to be able to load config files from particular directory.
- Fix affected packages as described in Details.
List of affected packages in rawhide in October 2012.
How To Test
- Installation of fixed package X should work as before to keep the backward compatibility, but it should install X, X-core and X-httpd packages.
- Installation of X-core must not install "httpd" or another web server.
- Admins are able to install web application without httpd dependency.
- Maintainers are able to add support for more webservers in their packages.
Only those described in Scope.