[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