Web Policy

Материал из ALT Linux Wiki
Версия от 15:57, 28 июля 2008; AlekseyAvdeev (обсуждение | вклад) (Import from freesource.info)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


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

  1. CGI-bin файлы:
    • <домен>/cgi-bin/<cgi-файл> -- независимые и самодостаточные cgi-файлы
    • <домен>/<приложение>/cgi-bin/<cgi-файл> -- cgi-файлы приложений с cgi частью выделенной явно
    • <домен>/<приложение>/<cgi-файл> -- cgi-файлы приложений без явного выделения cgi части

Размещение веб-приложений в иерархии файловой системы

  1. CGI-bin файлы:
    • %_libdir/cgi-bin/<имя> - архитектурно зависимые cgi-файлы
    • /usr/share/cgi-bin/<имя> - архитектурно независимые cgi-файлы
    • /usr/share/<имя>/<каталог> - любой уникальный каталог внутри директории веб-приложения
    • /var/www/cgi-bin/<имя>/
      исторически сложившееся место, от которого решено отказаться (?)
  1. Конфигурационные файлы:
    • /etc/<имя>/
  1. Статический и динамический контент:
    • /usr/share/<имя>/
  1. Данные, подвергающиеся модификации со стороны веб-приложения:
    • /var/www/webapps/<имя>/
    • /var/lib/<имя>/
  1. Если распил согласно вышеуказанным пунктам не производится, веб-приложение должно располагаться в /var/www/webapps/<имя>/

Права на конфигурационные файлы и модифицируемый контент

  1. Файлы, содержащую приватную информацию, пароли, и т.п.:
    • 640 root:_webserver
  1. Файлы, содержащую приватную информацию, пароли, и т.п., подлежащие модификации со стороны веб-сервера:
    • 660 root:_webserver
  1. Файлы, подлежащие модификации со стороны веб-сервера:
    • 664 root:_webserver
  1. Директории, подлежащие модификации со стороны веб-сервера:
    • 2770 root:_webserver
    • 2775 root:_webserver

Привязка к различным веб-серверам

  1. Привязки к конкретным веб-серверам должны быть вынесены в отдельные подпакеты.
  2. В понятие "привязка" входят:
    1. Конфигурационные файлы под конкретный веб-сервер
    2. Команды (или файлы с директивами) для активации модулей веб-сервера, необходимые для корректной работы web-приложения.

Привязка к php

  1. Основной пакет, содержащий веб-приложение, должен иметь зависимость на мета-пакет php-движка (Requires: php-engine).
  2. Чтобы избежать зависимости от конкретной major-версии php, зависимости на конкретные модули php должны быть вынесены в отдельные подпакеты. Т.е. если приложение поддерживает и php4, и php5, то зависимости на php-модули следует вынести в подпакеты %name-php4 и %name-php5, где первый подпакет содержит зависимость только на модули php4, а второй - только на php5.


Упаковка веб-приложений для использования на виртуальном хостинге

в архиве mike были дельные предложения по реализации, надо изучить