[devel] Re: apache2, apache1, /var/www (was: /srv)
Michael Shigorin
=?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Чт Май 20 18:04:36 MSD 2004
On Thu, May 20, 2004 at 05:06:51PM +0400, Yury Konovalov wrote:
> > Это понятно, так я (ниже) и предлагаю вытянуть максимум
> > независимостей в отдельный *-devel.
> <skipped>
> > %apache_datadir %_var/www
> > %apache_htdocsdir %apache_datadir/html
> > %apache_cgibindir %apache_datadir/cgi-bin
> > %apache_webmaster webmaster
> На мой взгляд это уже специфичные вещи.
Нет, ну переименовать их в httpd_* или еще как более нейтрально,
понятное дело.
> Я исхожу из того, что разные ветки апачей не должны иметь один
> и тот-же htdocsdir (какой апач наполнит его, если у каждого
> свой контент для этого?) и cgibindir также имеет пару cgi,
> предоставляемых самим апачем.
Насколько понимаю, "свой" (неразделяемый) контент, по-хорошему --
исключение из правила.
Опять же может иметь смысл держать его тоже в /usr/share -- это
нечто неизменяемое, в конце концов.
> На сколько я понимаю, предлагается более тесная интеграция
> апачей, предполагающая объединение контентов и разделения
> общего docroot. В свою очередь, предлагаю так далеко не идти
> сходу, и для начала определить простую схему при которой апачи
> смогут сосуществовать.
А потом с ней героически сражаться? ;-)
См. mod_ssl.spec свежего разлива. А ведь тривиальная вещь,
казалось бы...
> Это, например, может выглядеть так:
> /var/www/
> |
> -apache1/
> |
> -html/
> -cgi-bin/
> -manual/
> -addon1/
> -addon2/
Что здесь? (ну manual понятно, хотя и он у нас обычно жил
симлинком под html)
> -apache2/
> |
> -html/
> -cgi-bin/
> -manual/
> -addon1/
> -addon2/
И чем отличается то, что здесь?
Бишь если я собираю webalizer -- куда он кладет свой контент?
(собирать два webalizer просто так -- не буду :)
> -shared-cgis/
> |
> -mailman
> -one_more_apache_favour_ignoring_project
А не большинство ли их такое? И нет ли смысла тогда здвать это
просто cgi-bin/ ? :)
Опять же, разделяемый html -- это то, на что (сейчас) заряжен
default vhost. Было бы разумно вообще исключить запись туда
вебмастером (права+README) и тут же "удобнизировать" создание
нормального виртхоста -- в т.ч. дефолтного, но не здесь, в
пакетной местности.
> -vhosts/
> |
> -vhost1/
> |
> -htdoc/
> -log/
> -cgi/
> -vhost2/
> ...
Тут вопросов нет.
> > > Все, что специфично для данной версии Apache - manual,
> > > default docroot, доки модулей, специфицные cgi и т.п.
> > А у нас есть настолько специфичные cgi, или речь о том, чтобы
> > обеспечить эту возможность? Просто получается множество
> За то, что уже есть в сизифе не скажу (там просто не откуда
> взяться apache2-specific пакетам:), но я знаю такие пакеты,
> которые будут предоставлять cgi, зависящие от модулей,
> имеющихся только во втором апаче (WebAuth/WebKDC как пример).
С другой стороны -- и что плохого, если они окажутся в
разделяемом cgi-bin? Максимум взорвется не под тем (и то уже дав
намек требованием "того").
> > мощностью Nflavour x Nvirthost.
> Я бы учёл, что на практике:
> 1) Apache2 на данный момент решение скорее дополнительное к Apache1.
Да, но уже не единственное. Сам тоже собираюсь все boa опакетить
:)
> 2) из первого вытекает, что большинство хостеров будут
> использовать A2 в проксируемом посредством A1 режиме (что по
> умолчанию действует в моем пакете почти также как и в
> apache-mod_perl)
А, вот как. Не учел.
Т.е. именно одновременная работа...
> 3) В свою очередь, из второго вытекает, что A2 будет
> действовать лишь для малой части виртхостов (или даже части
> контента виртхоста), а центральный cgi-bin дотачивается
> по-месту. Т.е мы здесь все-равно не угадаем.
Ммм.... хорошо. А наблюдались несовместимые снизу вверх CGI?
> > > Вообщем все то, что попадет туда само-сабой, если изменить
> > > apache_home.
> > Э, не. Тогда туда и разделяемого много упадет.
> Можно сказать, что это даже хорошо -- пусть сначала пакет
> осознает свой контент разделяемым. Так постепенно все
> образуется и не будет резких изменений. Я имею ввиду, что
> пакеты(основанные на apache), даже без внесения изменений будут
> собираться под A1, пока мантейнер не решит, что можно
> предоставлять что-либо в %srv_dir
Кажется, потерял контекст, но имелось в виду, что сейчас скорее
типично использование /var/www, нежели %_apache/home:
RPM/SPECS/classic> grep var/www * | cut -f1 -d: | uniq | wc -l
29
RPM/SPECS/classic> grep %apache_home * | cut -f1 -d: | uniq | wc -l
3
(это apache, packhouse, phpPgAdmin)
Т.е. 1) дело не в макросах :-) и 2) незачем априори полагать, что
софт является apache1-specific.
В последнем могу быть неправ.
> > > > Кстати, тут еще Большаков справшивал про макросы сегодня в
> > > > свете желания собрать tclhttpd. Т.к. "общей частью" вопроса
> > > > я тут вижу не виртхосты как таковые, подумал -- может, это
> > > > httpd-common и httpd-devel?
> > > > Вопрос чуть ли не вкуса, но чтоб уж потом не трогать.
> > > Тут мне не совсем понятно -- эти пакеты будут предоставлять
> > > макросы для обоих версий apache?
> > Частично. Каждый апач может носить с собой оставшуюся часть
> > сугубо своих макросов.
> Это пересекается со сказанным в начале.
Да, конечно. Особенно с учетом того, что я *подразумевал* там
замену apache обобщенным httpd :-)
> Здесь только хотелось сказать, что на данный момент, если
> отказаться от идеи одного docroot'а, следует определить тот
> список макросов, достаточный для сборки модулей, и использовать
> одинаковые имена, при взаимно вытесняющих -devel.
А что тогда делать с webalizer? ;-)
Просто когда народ очень так интересовался, почему mod_perl так
экстравагантно заведен -- я подумал-подумал, чего может стоить
его вытаскивание из-под этой схемы (даже если течь не будет и
вообще все замечательно теперь), и объявил, что делать этого в
1.3.x -- не собираюсь.
Соответственно если apache2 будет этаким довеском, то когда ему
придет времябыть _платформой_ -- изначальная завязка на
"неполноценность" и обособленность может сыграть злую шутку.
Хочется по возможности избежать в его будущем нетривиальных
скриптов по обеспечению миграции и продумывания ночами
%triggerpostun...
> > > Я себе это представлял так: при сборке модуля, например,
> > > под apache1 - в buildreq указывается apache-devel, а при
> > > желании собрать под apache2 - соответственно apache2-devel.
> > > Devel-пакеты должны выпихивать друг-друга ибо макросы
> > > должны быть одноименные для упрощения "кросапачной:)"
> > > сборки.
> > Ммм... угу. Но модули и контент-часть -- штуки разные по
> > степени зависимости от сервера/версии.
> Иногда и с модулями идёт контент, который зависит от версии A.
Кстати, можно пример? (документация не в счет, с ней понятно)
> > Если забегать в раздел мыслей по web packaging policy, то мне
> > очень нравится размещение скриптов под /usr/share и
> > подцепление их или алиасами, или симлинками. Особенно в
> > свете +/- распухшего хостинга с приличной дупликацией кода,
> > который не изменяется per-instance, но порой дыряв и хорошо
> > бы, чтобы его можно было обновлять одним махом.
> Да - это конечно мечта, но пока у меня нет чёткого
> представления. Похоже, на данном этапе это скорее усложнение.
А посмотрите дебиановские пакеты.
Там есть и, например, возможность сказать, в какую именно БД
ходить создавать штатные базы, и это очень симпатичная
автоматизация нудной и тупой "деятельности".
> > Здесь для меня главный вопрос именно с выделением
> > неизменяемой части (остальное симлинкуется куда-нибудь в
> > /var), а также с определением реально неизменяемой части.
> Да в этом все и дело.
Оно, конечно, per-webpackage, но...
Хотя с другой стороны -- если бы rpm2 ориентировался на ситуацию
"все равно все будут хачить по месту", так бы он и остался таром
на стероидах -- большим, но глупым.
Так что будем ориентироваться на mature web software. Пилимое
(плохое) -- в конце концов, руками по старинке разложить можно,
раз все равно пилить.
> По моим наблюдениям, админы часто переносят содержимое
> web-пакетов в свой каталог, где хачат напильниками и
> выкладывают. Видимо уже есть "доточенные" вэб-пакеты,
> обновление которых на 99% пройдёт без негативных последствий --
> их и искать.
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20040520/61953ab6/attachment-0001.bin>
Подробная информация о списке рассылки Devel