Web Policy
Версия от 19:17, 30 июля 2008; VladimirKamarzin (обсуждение | вклад)
Policy по упаковке веб-приложений
Статус |
Черновик, ведётся вялотекущее обсуждение в devel@ |
Автор(ы) |
vvk, mike, solo |
Обязательно в |
не определено |
Метабаг |
не заведён |
TODO: изучить и адаптировать:
http://webapps-common.alioth.debian.org/draft/html/index.html
http://apsstandard.com/r/doc/package-format-specification-1.0/index.html
Системные веб-приложения и приложения для single-hosting
Размещение веб-приложений в иерархии URL
- CGI-bin файлы:
- <домен>/cgi-bin/<cgi-файл> -- независимые и самодостаточные cgi-файлы
- <домен>/<приложение>/cgi-bin/<cgi-файл> -- cgi-файлы приложений с cgi частью выделенной явно
- <домен>/<приложение>/<cgi-файл> -- cgi-файлы приложений без явного выделения cgi части
Размещение веб-приложений в иерархии файловой системы
- CGI-bin файлы:
- %_libdir/cgi-bin/<имя> - архитектурно зависимые cgi-файлы
- /usr/share/cgi-bin/<имя> - архитектурно независимые cgi-файлы
- /usr/share/<имя>/<каталог> - любой уникальный каталог внутри директории веб-приложения
- /var/www/cgi-bin/<имя>/ исторически сложившееся место, от которого решено отказаться (?)
- Конфигурационные файлы:
- /etc/<имя>/
- Статический и динамический контент:
- /usr/share/<имя>/
- Данные, подвергающиеся модификации со стороны веб-приложения:
- /var/www/webapps/<имя>/
- /var/lib/<имя>/
- Если распил согласно вышеуказанным пунктам не производится, веб-приложение должно располагаться в /var/www/webapps/<имя>/
Права на конфигурационные файлы и модифицируемый контент
- Файлы, содержащую приватную информацию, пароли, и т.п.:
- 640 root:_webserver
- Файлы, содержащую приватную информацию, пароли, и т.п., подлежащие модификации со стороны веб-сервера:
- 660 root:_webserver
- Файлы, подлежащие модификации со стороны веб-сервера:
- 664 root:_webserver
- Директории, подлежащие модификации со стороны веб-сервера:
- 2770 root:_webserver
- 2775 root:_webserver
Привязка к различным веб-серверам
- Привязки к конкретным веб-серверам должны быть вынесены в отдельные подпакеты.
- В понятие "привязка" входят:
- Конфигурационные файлы под конкретный веб-сервер
- Команды (или файлы с директивами) для активации модулей веб-сервера, необходимые для корректной работы web-приложения.
Привязка к php
- Основной пакет, содержащий веб-приложение, должен иметь зависимость на мета-пакет php-движка (Requires: php-engine).
- Чтобы избежать зависимости от конкретной major-версии php, зависимости на конкретные модули php должны быть вынесены в отдельные подпакеты. Т.е. если приложение поддерживает и php4, и php5, то зависимости на php-модули следует вынести в подпакеты %name-php4 и %name-php5, где первый подпакет содержит зависимость только на модули php4, а второй - только на php5.
Упаковка веб-приложений для использования на виртуальном хостинге
требуется обсуждение