From Fedora Project Wiki
Line 28: Line 28:
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->


Currently, packages like phpMyAdmin or Mailman requires httpd installed. This is wrong, because they can work properly even with Lighttpd or nginx. They need httpd for following reasons:
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:


# Their 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.
=== Package includes files owned by apache user/group ===
# They contain configuration files just for httpd. Improved packages layout should be introduced to let admin choose if he wants to install configuration files for httpd/lighttpd or for different webserver.
 
# They require mod_php, mod_wsgi or other httpd modules. These dependencies should be moved into server specific subpackage together with the server specific config files.
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.
# They "Requires: php". "php" as dependency is not needed, because of TODO (waiting for rcollect clarification).
 
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):
 
* 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, 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 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 of TODO (waiting for rcollect clarification).


== Benefit to Fedora ==
== Benefit to Fedora ==

Revision as of 09:12, 15 October 2012


Features/WebserverDependency

Summary

Provide a way how to install and use webserver related packages (for example phpMyAdmin or Mailman) with any webserver in Fedora.

Owner

  • Email: jkaluza@redhat.com

Current status

  • Targeted release: [[Releases/<number> | Fedora <number> ]]
  • Last updated: (DATE)
  • Percentage of completion: 0%


Detailed Description

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.

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):

  • 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, 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 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 of TODO (waiting for rcollect clarification).

Benefit to Fedora

  • Ability to install various web applications without pulling httpd as a dependency if it's not needed.
  • Unification of web application packaging.

Scope

How To Test

User Experience

Dependencies

Contingency Plan

Documentation

Release Notes

Comments and Discussion