* [devel] web packaging: init! @ 2004-09-19 0:16 Илья Евсеев 2004-09-19 8:02 ` Ivan Fedorov ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Илья Евсеев @ 2004-09-19 0:16 UTC (permalink / raw) To: devel Всем привет! Поразмыслив над упаковкой IlohaMail (Web-mail приложение для SMTP, POP3 и IMAP), я пришёл к следующим заключениям. ПЕРВОЕ. Каталог /var/www/html предназначен для данных, а не для программ. Не имеет смысла пихать туда программу, чтобы в каждый её подкаталог тут же записывать .htaccess "Deny from all". По умолчанию IlohaMail ставится %libexecdir/%name, т.е. в /usr/lib/%name. Вот пусть она там и сидит, а на один-единственный её подкаталог с Веб-формами будет указывать симлинк ФС или (лучше) alias/vhost Апача. ВТОРОЕ. Поскольку /usr содержит константные данные, %libexecdir/%name/conf должен быть не каталогом с настройками, как это сделано у IlohaMail по умолчанию, а симлинком на определённый Альтом каталог %apache_addconfdir/%name, где и будут лежать настройки. Обычно делают почему-то ровно наоборот: настройки сваливают в %apache_datadir, хотя, как следует из имени макроса, им там совершенно не место, и из %apache_addconfdir делают на него симлинк. ТРЕТЬЕ. Если теперь поддерживается 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. Вопрос: будет ли собранный по этим правилам пакет принят нашим неформальным Web Development Team как корректный? Имеет ли смысл распространять эту практику на прочие пакеты с Веб-приложениями? Благодарю за внимание, Илья Евсеев ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] web packaging: init! 2004-09-19 0:16 [devel] web packaging: init! Илья Евсеев @ 2004-09-19 8:02 ` Ivan Fedorov 2004-09-20 3:24 ` Vladimir Lettiev 2004-10-01 10:22 ` [devel] " Michael Shigorin 2 siblings, 0 replies; 6+ messages in thread From: Ivan Fedorov @ 2004-09-19 8:02 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 676 bytes --] Илья Евсеев пишет: > Кроме того, пользователи вряд ли захотят набирать your.host.ru/addon-modules/imp/ или .../ilohamail, > а потребуют host.domain.ru/mail (на такое имя каталога ни у какого конкретного пакета прав > претендовать, по-моему, нет, поэтому нужен ещё один _закомментированный_ Alias) или mail.domain.ru > (который к тому же зависит от имени хоста/сети, т.е. должен быть назначен сисадмином, а не сценарием > установки). Поэтому тут же в %name.conf должен быть закомментированный VirtualHost. По поводу virtualhosts, я думаю надо сделать папку conf/vhosts.d/, где и складывать описания хостов. У себя я так всегда делаю. Вот все в багзиллу FR написать забываю... [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] web packaging: init! 2004-09-19 0:16 [devel] web packaging: init! Илья Евсеев 2004-09-19 8:02 ` Ivan Fedorov @ 2004-09-20 3:24 ` Vladimir Lettiev 2004-09-20 10:43 ` Anton Farygin 2004-10-01 10:22 ` [devel] " Michael Shigorin 2 siblings, 1 reply; 6+ messages in thread From: Vladimir Lettiev @ 2004-09-20 3:24 UTC (permalink / raw) To: ALT Devel discussion list Илья Евсеев пишет: > Всем привет! > Поразмыслив над упаковкой 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 как корректный? Имеет ли смысл распространять эту практику на прочие пакеты с Веб-приложениями? > Пока нету никакой полиси и стандарта все делают кто как умеет... :( -- С уважением, Владимир Леттиев aka crux <crux@syktsu.ru> ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] web packaging: init! 2004-09-20 3:24 ` Vladimir Lettiev @ 2004-09-20 10:43 ` Anton Farygin 2004-09-20 18:24 ` Денис Смирнов 0 siblings, 1 reply; 6+ messages in thread From: Anton Farygin @ 2004-09-20 10:43 UTC (permalink / raw) To: ALT Devel discussion list 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] web packaging: init! 2004-09-20 10:43 ` Anton Farygin @ 2004-09-20 18:24 ` Денис Смирнов 0 siblings, 0 replies; 6+ messages in thread From: Денис Смирнов @ 2004-09-20 18:24 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1080 bytes --] On Mon, Sep 20, 2004 at 02:43:42PM +0400, Anton Farygin wrote: AF> Просьба только не забывать про сложности, связанные с обновлением AF> использующих SQL сервер приложений. (главный вопрос - как менять AF> структуру базы данных при обновлении приложения). В самописных приложениях я это решал написанием на перле модуля экспортирования всей _информации_ из базы в XML формате (например в /var/lib/%name/database.xml), правда не оформлял это в виде чего-то работоспособного при автоматических обновлениях -- делал скрипты /usr/lib/%name/exportdb и /usr/lib/%name/importdb. Соответственно можно при удалении пакета делать exportdb и убивать базу данных. Естественно _обязательно_ делая ещё и дамп самой базы данных (средствами используемой SQL-базы). При установке, если существует файл /var/lib/%name/database.xml, то натравливать на него importdb. Вопрос только в одном -- как сделать так, чтобы при _обновлении_ файлик сохранялся, и при _удалении_ таки убивался (дабы не замусоривать систему)? -- С уважением, Денис http://freesource.info [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [devel] Re: web packaging: init! 2004-09-19 0:16 [devel] web packaging: init! Илья Евсеев 2004-09-19 8:02 ` Ivan Fedorov 2004-09-20 3:24 ` Vladimir Lettiev @ 2004-10-01 10:22 ` Michael Shigorin 2 siblings, 0 replies; 6+ messages in thread From: Michael Shigorin @ 2004-10-01 10:22 UTC (permalink / raw) To: devel On Sun, Sep 19, 2004 at 04:16:12AM +0400, Илья Евсеев wrote: > Поразмыслив над упаковкой IlohaMail (Web-mail приложение для > SMTP, POP3 и IMAP), я пришёл к следующим заключениям. (я не игнорирую данный тред, просто сейчас не получается _адекватно_ добраться до вопроса...) -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-10-01 10:22 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-09-19 0:16 [devel] web packaging: init! Илья Евсеев 2004-09-19 8:02 ` Ivan Fedorov 2004-09-20 3:24 ` Vladimir Lettiev 2004-09-20 10:43 ` Anton Farygin 2004-09-20 18:24 ` Денис Смирнов 2004-10-01 10:22 ` [devel] " Michael Shigorin
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