From: Vladimir Lettiev <crux@syktsu.ru> To: ALT Devel discussion list <devel@altlinux.ru> Subject: Re: [devel] web packaging: init! Date: Mon, 20 Sep 2004 07:24:58 +0400 Message-ID: <414E4D8A.4090404@syktsu.ru> (raw) In-Reply-To: <E1C8pNE-000AUn-00.ilya_evseev-mail-ru@f29.mail.ru> Илья Евсеев пишет: > Всем привет! > Поразмыслив над упаковкой 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>
next prev parent reply other threads:[~2004-09-20 3:24 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 [this message] 2004-09-20 10:43 ` Anton Farygin 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=414E4D8A.4090404@syktsu.ru \ --to=crux@syktsu.ru \ --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