(13 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<!-- All fields on this form are required to be accepted by FESCo. | <!-- All fields on this form are required to be accepted by FESCo. | ||
We also request that you maintain the same order of sections so that all of the feature pages are uniform. --> | We also request that you maintain the same order of sections so that all of the feature pages are uniform. --> | ||
<!-- The actual name of your feature page should look something like: Features/Your_Feature_Name. This keeps all features in the same namespace --> | <!-- The actual name of your feature page should look something like: Features/Your_Feature_Name. This keeps all features in the same namespace --> | ||
= Features/WebserverDependency <!-- The name of your feature --> = | = Features/WebserverDependency <!-- The name of your feature --> = | ||
Line 9: | Line 7: | ||
<!-- A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release. --> | <!-- A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release. --> | ||
Provide a way how to install and use | Provide a way how to install and use web applications (for example phpMyAdmin or Mailman) with any web server in Fedora. | ||
== Owner == | == Owner == | ||
Line 28: | Line 26: | ||
<!-- 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. | 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 == | == Benefit to Fedora == | ||
<!-- What is the benefit to the platform? If this is a major capability update, what has changed? If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?--> | <!-- What is the benefit to the platform? If this is a major capability update, what has changed? If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?--> | ||
* Ability to install various web applications without pulling httpd as a dependency. | * 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. | |||
== Scope == | == Scope == | ||
<!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
# 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. | |||
=== Affected packages === | |||
List of affected packages in rawhide in October 2012. | |||
* JSCookMenu | |||
* MochiKit | |||
* RackTables | |||
* ReviewBoard | |||
* WebCalendar | |||
* aeolus-conductor | |||
* apcupsd | |||
* askbot | |||
* bcfg2 | |||
* beacon | |||
* bodhi | |||
* bugzilla | |||
* cacti | |||
* cgit | |||
* checkdns | |||
* ckeditor | |||
* cobbler | |||
* collectd | |||
* cvsweb | |||
* darkserver | |||
* dojo | |||
* dokuwiki | |||
* dspam | |||
* eclipse-phpeclipse | |||
* editarea | |||
* eucalyptus | |||
* freeipa | |||
* gallery2 | |||
* gallery3 | |||
* glpi | |||
* gnome-user-share | |||
* gridsite | |||
* ipcalculator | |||
* ipplan | |||
* koji | |||
* limph | |||
* mailgraph | |||
* mailman | |||
* man2html | |||
* mediawiki | |||
* mediawiki119 | |||
* mimetex | |||
* mojomojo | |||
* moksha | |||
* nagios | |||
* netdisco | |||
* nocpulse-common | |||
* openlayers | |||
* ovirt-engine | |||
* pen | |||
* perl-HTML-Mason | |||
* php-laconica | |||
* php-voms-admin | |||
* phpMyAdmin | |||
* phpPgAdmin | |||
* phpesp | |||
* phpldapadmin | |||
* phplogcon | |||
* phpwapmail | |||
* postgresql-pgpoolAdmin | |||
* poweradmin | |||
* pwauth | |||
* python-django-dajax | |||
* queuegraph | |||
* roundcubemail | |||
* sahana | |||
* ser | |||
* smokeping | |||
* spacewalk-backend | |||
* squirrelmail | |||
* sticky-notes | |||
* sysusage | |||
* unicornscan | |||
* viewmtn | |||
* w3c-markup-validator | |||
* webacula | |||
* webalizer | |||
* websvn | |||
* wordpress | |||
* yawn | |||
* yourls | |||
* zarafa | |||
* zikula | |||
* zoneminder | |||
== How To Test == | == How To Test == | ||
Line 60: | Line 171: | ||
3. What are the expected results of those actions? | 3. What are the expected results of those actions? | ||
--> | --> | ||
* 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. | |||
== User Experience == | == User Experience == | ||
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | <!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | ||
* Admins are able to install web application without httpd dependency. | |||
* Maintainers are able to add support for more webservers in their packages. | |||
== Dependencies == | == Dependencies == | ||
<!-- What other packages (RPMs) depend on this package? Are there changes outside the developers' control on which completion of this feature depends? In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate? Other upstream projects like the kernel (if this is not a kernel feature)? --> | <!-- What other packages (RPMs) depend on this package? Are there changes outside the developers' control on which completion of this feature depends? In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate? Other upstream projects like the kernel (if this is not a kernel feature)? --> | ||
Only those described in Scope. | |||
== Contingency Plan == | == Contingency Plan == |
Latest revision as of 11:08, 15 August 2013
Features/WebserverDependency
Summary
Provide a way how to install and use web applications (for example phpMyAdmin or Mailman) with any web server in Fedora.
Owner
- Name: Jan Kaluza
- 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.
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.
Scope
- 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.
Affected packages
List of affected packages in rawhide in October 2012.
- JSCookMenu
- MochiKit
- RackTables
- ReviewBoard
- WebCalendar
- aeolus-conductor
- apcupsd
- askbot
- bcfg2
- beacon
- bodhi
- bugzilla
- cacti
- cgit
- checkdns
- ckeditor
- cobbler
- collectd
- cvsweb
- darkserver
- dojo
- dokuwiki
- dspam
- eclipse-phpeclipse
- editarea
- eucalyptus
- freeipa
- gallery2
- gallery3
- glpi
- gnome-user-share
- gridsite
- ipcalculator
- ipplan
- koji
- limph
- mailgraph
- mailman
- man2html
- mediawiki
- mediawiki119
- mimetex
- mojomojo
- moksha
- nagios
- netdisco
- nocpulse-common
- openlayers
- ovirt-engine
- pen
- perl-HTML-Mason
- php-laconica
- php-voms-admin
- phpMyAdmin
- phpPgAdmin
- phpesp
- phpldapadmin
- phplogcon
- phpwapmail
- postgresql-pgpoolAdmin
- poweradmin
- pwauth
- python-django-dajax
- queuegraph
- roundcubemail
- sahana
- ser
- smokeping
- spacewalk-backend
- squirrelmail
- sticky-notes
- sysusage
- unicornscan
- viewmtn
- w3c-markup-validator
- webacula
- webalizer
- websvn
- wordpress
- yawn
- yourls
- zarafa
- zikula
- zoneminder
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.
User Experience
- Admins are able to install web application without httpd dependency.
- Maintainers are able to add support for more webservers in their packages.
Dependencies
Only those described in Scope.