ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Anton Farygin <rider@altlinux.com>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: Re: [devel] web packaging: init!
Date: Mon, 20 Sep 2004 14:43:42 +0400
Message-ID: <414EB45E.4080405@altlinux.com> (raw)
In-Reply-To: <414E4D8A.4090404@syktsu.ru>

Vladimir Lettiev пишет:
> Илья Евсеев пишет:
> 
>>    Всем привет!
>> Поразмыслив над упаковкой IlohaMail (Web-mail приложение для SMTP, 
>> POP3 и IMAP), я пришёл к следующим заключениям.
>>
>> ПЕРВОЕ. Каталог /var/www/html предназначен для данных, а не для 
>> программ. Не имеет смысла пихать туда программу, чтобы в каждый её 
>> подкаталог тут же записывать .htaccess "Deny from all". По умолчанию 
>> IlohaMail ставится %libexecdir/%name, т.е. в /usr/lib/%name. Вот пусть 
>> она там и сидит, а на один-единственный её подкаталог с Веб-формами 
>> будет указывать симлинк ФС или (лучше) alias/vhost Апача.
> 
> 
> /var/www предназначен для веб-приложений, а на веб-сервере я даже выношу 
>  /var/www как отдельную партицию. Поэтому мне удобнее было бы плясать от 
> /var/www:
> /var/www/webapps - каталог для веб-приложений (данные и скрипты)
> /var/www/vhosts - каталог для виртохостов.
> /etc/httpd/addon-modules.d/ - каталог для всех настроек (alias, access и 
>  т.д.)
> 
>> ВТОРОЕ. Поскольку /usr содержит константные данные, 
>> %libexecdir/%name/conf должен быть не каталогом с настройками, как это 
>> сделано у IlohaMail по умолчанию, а симлинком на определённый Альтом 
>> каталог %apache_addconfdir/%name, где и будут лежать настройки.
> 
>  > Обычно делают почему-то ровно наоборот: настройки сваливают в 
> %apache_datadir, хотя, как следует из имени макроса, им там совершенно 
> не место, и из %apache_addconfdir делают на него симлинк.
> 
> s/%libexecdir/%libdir/ ?
> По идее для данных, программ не зависящих от платформы предназначен 
> /usr/share/%name , а для файлов конфигурации идеален /etc. Вы фактически 
> устанавливаете веб-приложение как обычную программу.
> 
>>
>> ТРЕТЬЕ. Если теперь поддерживается conf/addon-modules.d/*.conf 
>> (кстати, а макрос %apache_??? этому соответствует какой?), то в этот 
>> каталог должен помещаться файл %name.conf с <Directory> Order 
>> Allow,Deny; Allow from 127.0.0.1 </Directory>, чтобы:
>> а) не открывать сервис в сеть без подготовки (по аналогии с 
>> xinetd.conf и xinetd.d/*);
>> б) заставить сисадмина заглянуть в него и, возможно, что-то исправить: 
>> сделать доступ только из Интранета, только по HTTPS, только для 
>> отдельных пользователей и т.д.
>> В conf-файле должен быть Alias, указывающий на /usr/lib/%name, но 
>> _закомментированный_, потому что специфичным для программы алиасом мы 
>> громко сообщаем, что у нас установлена эта программа, чем облегчаем 
>> работу потенциальным взломщикам.
>> Кроме того, пользователи вряд ли захотят набирать 
>> your.host.ru/addon-modules/imp/ или .../ilohamail, а потребуют 
>> host.domain.ru/mail (на такое имя каталога ни у какого конкретного 
>> пакета прав претендовать, по-моему, нет, поэтому нужен ещё один 
>> _закомментированный_ Alias) или mail.domain.ru (который к тому же 
>> зависит от имени хоста/сети, т.е. должен быть назначен сисадмином, а 
>> не сценарием установки). Поэтому тут же в %name.conf должен быть 
>> закомментированный VirtualHost.
> 
> 
> в conf/addon-modules.d/ кладётся файл настройки для вашего 
> веб-приложения. Там всё и определяется, какие alias'ы, как разруливаются 
> права доступа и т.д. Виртохосты невозможно сделать без участия админа, 
> так что вы правы, - можно дать лишь закомментированный пример, но вот 
> хоть какой-то работающий вариант нужен, просто сделать его доступным 
> лишь для 127.0.0.1.
> 
> Вы постоянно упоминате IMP. Так я вам скажу - 
> your.host.ru/addon-modules/horde/imp/ набирать не надо. В файле 
> конфигурации апаче этот путь выпрямляется до your.host.ru/horde/imp/. 
> Файлы .htaccess лежат там, поскольку они есть в исходном тарболе 
> приложения и нужны не более чем "на всякий пожарный", поскольку все 
> права доступа жёстко забиваются в файле конфигурации для апаче. Доступ 
> также по умолчанию только с `hostname -i`.
> 
>> Вопрос: будет ли собранный по этим правилам пакет принят нашим 
>> неформальным Web Development Team как корректный? Имеет ли смысл 
>> распространять эту практику на прочие пакеты с Веб-приложениями?
>>
> Пока нету никакой полиси и стандарта все делают кто как умеет... :(
> 

IMHO нужно кому-то все-таки написать policy и оформить его в пакет, 
также как было сделано с python, kernel, perl и т.д.

Просьба только не забывать про сложности, связанные с обновлением 
использующих SQL сервер приложений. (главный вопрос - как менять 
структуру базы данных при обновлении приложения).

Rgds,
Rider


  reply	other threads:[~2004-09-20 10:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-19  0:16 Илья Евсеев 
2004-09-19  8:02 ` Ivan Fedorov
2004-09-20  3:24 ` Vladimir Lettiev
2004-09-20 10:43   ` Anton Farygin [this message]
2004-09-20 18:24     ` Денис Смирнов
2004-10-01 10:22 ` [devel] " Michael Shigorin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=414EB45E.4080405@altlinux.com \
    --to=rider@altlinux.com \
    --cc=devel@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git