[devel] I: Замечания к webpolicy

Vladimir V. Kamarzin =?iso-8859-1?q?vvk_=CE=C1_altlinux=2Eru?=
Пт Июн 6 13:43:08 MSD 2008


>>>>> On 06 Jun 2008 at 14:59 "AA" == Aleksey Avdeev writes:

>>> 2. Доступ к HTML документам
>>>
>>> HTML документы для приложений хранятся в /usr/share/doc/$package и
>>> доступны по адресу http://localhost/doc/<package>/<filename>
>> 
>> Не знаю даже что и сказать. :) Это у нас вообще не регламентировано.
>> Должны ли все веб-сервера предоставлять доступ к /usr/share/doc из коробки?
>> Мне кажется что нет.

AA>   +1
AA>   Но иметь подпакеты, предоставляющие такой доступ к html документации
AA> -- полезно. В смысле: пакет сам несёт свою html документацию (или имет
AA> подпакет для этой цели) + есть подпакет настраивающий веб-сервер на
AA> доступ к ней.

Если бы у нас документация ложилась в /usr/share/doc/package (без version), то
можно было бы просто обязать майнтейнеров в каком-нибудь policy укладывать
html-документацию в /usr/share/doc/<package>/html, тогда бы никакие доп.пакеты
не понадобились.

Если не убирать version? можно сделать хитро - html-документацию укладывать в
какой-нибудь /usr/share/html-docs/<package>, а в оригинальный
/usr/share/doc/<package>-<version>/ класть симлинк
html -> /usr/share/html-docs/<package>

>>> 3. Доступ к изображениям.
>>>
>>> Рекомендуется хранить изображения в /usr/share/images/$package и
>>> доступ к ним должен производить через альяс /images/
>>> Например http://localhost/images/<package>/<filename>
>> 
>> А оно надо? Вынуждает майнтейнера на дополнительную возню.
AA>   Полезно: для данного каталога можно сделать индивидуальные настройки
AA> (например механизмы кешерования и пр.) с учётом того что в нём статика
AA> (и часто объёмная).

Ну я бы всё-таки не стал делать этот пункт обязательным. Что-то сходу не
вспомнил даже, какие веб-приложения таскают кучу графики в images.

>>> 4. Document Root
>> 
>>> Для Веб-Приложений следует стараться избегать хранения файлов в
>>> Document Root. Вместо этого надо использовать директорию
>>> /usr/share/doc/<package> и зарегистрировать приложение через пакет
>>> doc-base. Если доступ к Document Root
>>> неизбежен, используйте /var/www как Document Root.
>>> Это может быть символической ссылкой на месторасположение файлов, где
>>> системный администратор разместил настоящий Document Root.
>> 
>> Вообще бред какой-то. Пихать рабочий код приложения в /usr/share/doc - даже
>> сложно представить, как такое могло придти кому-то в голову.
AA>   В нашем случаи /usr/share/<package> выглядит логичнее...

Для readonly data именно так, см. опять же
http://webapps-common.alioth.debian.org/draft/html/ch-issues.html

А ежели веб-приложение должно писать куда-то внутри своих внутренностей во
время работы, придётся его патчить, чтобы перенести такие директории куда-то в
другое место, типа /var/lib/<name>. В общем распила не избежать :)

Возможно, стоит предусмотреть два варианта:
- полностью распиливать приложение, как написано в debian web policy
- плюхать целиком в /var/www/webapps/<name>

т.е. не делать распил _обязательным_. Е?

-- 
vvk



Подробная информация о списке рассылки Devel