Package: drupal6
Version: 6.22-1~bpo60+1
Severity: normal

Summary:
=======================================================================
The deployment of drupal6 in a production environment, that uses
php5-fpm and nginx in different servers, is currently cumbersome due to
dependencies on apache2 or httpd.



Suggested Fix:
=======================================================================
Include php5-fpm as a third option along with apache2 and httpd, and
list them as Recommends and not as Dependencies.




Detailed explanation and Rationale:
=======================================================================

The deployment of drupal6 in a server that will run it using php5-fpm is
cumbersome due to the dependencies on apache2 or httpd. The application
server doesn't need to run that software because it uses a fastCGI
daemon to attend the queries that receives from the front-end servers.
Due to the dependencies referred, nginx was installed and deactivated on
the application server. A somewhat weird behavior of aptitude also
required the installation of apache2 even when nginx was already
installed and it provides httpd. Apache2 and related packages were
removed withotu problems as they were unnecesary.

Those dependencies are unchanged in testing and unstable. php5-fpm is
available in those releases, and probably soon in squeeze-backports.
Therefore dependencies that allow a more straightforward deployment of
drupal6 in a production environment that uses php5-fpm, or some other
application engine, are desirable.

In order to achieve that, it could be considered the inclusion of
php5-fpm as a third option along with apache2 and httpd. It could also
be considered the inclusion of those three packages as recommendations
rather that dependencies, in order to allow an straightforward
deployment of some other software stack, for instance one that uses
uWSGI ( currently available in testing ) as application engine.

The use of advanced application engines and frontends like uWSGI and
nginx is very desirable in production environments, therefore it looks
appropriate to just list as drupal6 recommends some packages that
provide front-end, application containers and back-ends. Currently, the
package lists as recommends some back-end software. The front-ends or
application containers currently listed as dependencies should also be
there.

In that way, a simple "aptitude install drupal6" would continue to
provide a fully functional installation for development or review
purposes, but it would be also possible to use "aptitude
--without-recommends drupal6" for a deployment in an environment that
has a different software stack or a layered design.

A common and recommended practice on the web portals is the deployment
of http and application daemons on different clusters of servers. In our
case, we are currently setting up a cluster of application servers that
will host a web portal. Some of those servers will run drupal6 using
php5-fpm. The publishing stack contains http servers based on nginx at
the front-end layer, application servers based on php5-fpm and
django-fastcgi (pending to be upgraded to uwsgi), and a back-end layer
based on a postgresql database cluster and a NFS file server (pending to
be upgraded to a clustered filesystem).

The deployment of php5-fpm on squeeze required a backport of the 5.4.0-3
version and that was straightforward to build locally. In
http://lists.debian.org/debian-backports-changes/2012/03/msg00803.html
is reported that the maintainer, or another uploader, has already sent a
package that it's currently at the review stage in debian-backports, so
it could be expected to be available at the repositories in a short term.

Therefore the suggested change on dependencies would even be more
appropriate.

-- System Information:
Debian Release: 6.0.4
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'stable-updates')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/1 CPU core)
Locale: LANG=es_VE.UTF-8, LC_CTYPE=es_VE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages drupal6 depends on:
ii  curl                 7.21.0-2.1+squeeze2 Get a file from an HTTP,
HTTPS or
ii  dbconfig-common      1.8.46+squeeze.0    common framework for
packaging dat
ii  debconf [debconf-2.0 1.5.36.1            Debian configuration
management sy
ii  exim4-daemon-light [ 4.72-6+squeeze2     lightweight Exim MTA (v4)
daemon
ii  nginx [httpd]        0.7.67-3+squeeze2   small, but very powerful
and effic
ii  php5                 5.4.0-3~bpo60+1     server-side, HTML-embedded
scripti
ii  php5-gd              5.4.0-3~bpo60+1     GD module for php5
ii  php5-pgsql           5.4.0-3~bpo60+1     PostgreSQL module for php5
ii  postgresql-client    9.1+124~bpo60+1     front-end programs for
PostgreSQL
ii  postgresql-client-9. 9.1.3-2~bpo60+1     front-end programs for
PostgreSQL
ii  wwwconfig-common     0.2.1               Debian web auto configuration

Versions of packages drupal6 recommends:
pn  mysql-server | postgresql     <none>     (no description available)

drupal6 suggests no packages.

-- debconf information excluded

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to