Differences between revisions 14 and 15
Revision 14 as of 2004-09-24 19:21:47
Size: 2659
Editor: anonymous
Comment:
Revision 15 as of 2004-09-24 19:35:15
Size: 2700
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 53: Line 53:
 * Php PEAR packaging should have a policy  * Php PEAR packaging should have a policy (http://www.madism.org/debian.pear.php)

General ideas from a Web Applications Debian Policy

-- Database

  • Avoid asking root Mysql's password (for local connections)

Posible Solution I: mysql-server (>= 4.0.20-8) now features a debian-sys-maint super user which can setup mysql users and databases.

Posible Solution II: Some sort of ODBC-alike registry of available database engines (which is why it's not ODBC) where we have the configuration for each DB server available to the machine, and when a package is installed, a list of the available database servers comes up and asks "where do you want this?". If there's only one (as there would be by default if you've installed a local {postgresql,mysql}-server) then the question can be skipped and everyone's happy.

  • Avoid asking for admin ("postgresql") password on ["PostgreSQL"] (for local connections)

Idea: Get the ["PostgreSQL"] maintainers to include a similar mechanism to the debian-sys-maint user in ["MySQL"]

  • If the application uses a DB, must configure it.

  • Disallow default username/passwords.
  • When purging the application, prompt if you want to save or delete the DB.
  • Never store root password.

-- Webserver

  • Be able to manage multiple sites with one installation
  • Use vhosts or subdirectories?
  • Avoid questions of which apache are you using.
  • Web apps should not be dependent on apache, but just httpd.
  • Ask Apache people if they have any idea about something

to manage all their variant web servers, so every package could be run on every apache.

-- Filesystem layout

  • Separate static from dynamic data (don't just dump everything somewhere under /var/www/!)
  • fhs-compliant layout for sites, examples of how to seperate the config from the rest of the site. what constitutes something that ought to be in /var/cache, /var/lib
  • /web/mywebapp.example.com --> Just got served from http://mywebapp.example.com

-- PHP

  • Php ought to have a php.d directory

Posible solution: You can put PHP configuration into Apache configuration files

-- Security

  • Separate core code from site-related code.

-- Misc (?WishList)

  • Get a list of different installed web servers, and how to select which ones to target for installation. If there is only one, use it as default. If not prompt the user.

Posible solution: www-ressource that holds all our local/distant dbms ressouce, and web servers.

(same for databases) --> ! not all application are compatible with all the ["DBs"].

  • Debhelper macros for as much as possible.
  • Suggest database-server as new virtual package.