aplikacje WWW
Tomasz Kłoczko
kloczek w rudy.mif.pg.gda.pl
Sob, 18 Sty 2003, 21:39:07 CET
On Sat, 18 Jan 2003, Jacek Rembisz wrote:
> On Sat, Jan 18, 2003 at 07:28:39PM +0100, Jacek Konieczny wrote:
>
> Chyba pora na podsumowanie :)
>
> 1. Aplikacje WWW lądują w %{_datadir} i/lub %{_libdir} przy czym
>
> > Podział pomiędzy %{_datadir} i %{_libdir} powinien odbywać się wg. zasad
> > określonych przez FHS. To znaczy: do %{_datadir} rzeczy niezależne od
> > architektury (czyli skrypty oraz dane), a do %{_libdir} zależne od
> > architektury.
>
> 2. Pakiet przychodzi z odpowiednim dla aplikacji plikiem konfiguracyjnym
> który ląduje w /etc/httpd/conf.d, jego nazwa rozpoczyna się od
> cyferek by łatwo kontrolować kolejność ładowania.
>
> Kloczek napisał w tym wątku, że mapowanie ma być domyślnie zakomentowane,
> a pakiet w %post powinien wypisywać co należy zrobić by aktywować
> aplikację (jeśli dobrze zrozumiałem). Nie do końca się z tym zgadzam.
> Prosty user czyli /me wolał by zobaczyć: "now go to
> http://127.0.0.1/squirrelmail/ and enjoy" a nie długi elaborat o tym
> co też ja muszę odkomentować, żeby wreszcie zadziałało. Z drugiej
> strony.... Rzecz jest trochę podobna do /etc/rc.d/init.d/
To co napisałeś nie stoi w sprzeczności z tym co do tej pory padło :)
To jest ładne rozwiniecie całości choć:
1) ze względów bezpieczeństwa dodałbym żeby owo mapowanie było z
obostrzeniem dostępu było robione tylko wtedy kiedy jest zainstalowany
dpowiedni moduł .. zdaje sie mod_access albo jakoś tak (czyli bedzie
musiało być to ujęte w ifmodule) bo zdaje się że indianin bez
odpowidniego wsparcia modułem nie jest w stanie tego sam zrobić,
2) takie mapowanie powinno być możliwe do centralnego wyłącznia (np.
poprzez zmienną w /etc/sysconfig/httpd i domyślnie powinno byc to
wyłączone. W sumie jezlei dałoby się własnie tu umieścić przełącznik od
tego to mógłby wbyć tu też pzrełacnik od mapowanai tego do publicznego
dostępu .. dla tych co by sobie tego rzyczyli :)
3) mapwanie powinno być robione jednak na jakiś template url typu np.
http://localhost/test/<foo> czy http://localhost/apps/<foo> (to drugie
wydaje się przyjemniejsze :)
Jeżeli założyć że wsystkie tego typu mapowanai inicjalnie są na
powyższe to nie musiałby być wykonywane oboszrenia per aplikcja bo centralnie w
httpd.conf moznaby to przełączać przez:
<Location /apps>
Order deny,allow
Deny from all
Allow from localhost
</Location>
Z tym że musiałby to wpaść z bardzo wysokim priorytetem
(001def_apps_access.conf czy 001def_apps_access.conf o ile przymiemy
trzy cyfry mumeru) żeby zamykało w owej klatce wszystkie aplikacje
których konfiguracja nie byłaby zminiana. Tym samym nie będzie tu
potrzebny przełącznik w /etc/sysconfig/httpd bo to chyba będzie lepsze :)
Dzieki wydzieleniu tego w osobny plik powinno być to prośxiej dostępne.
Wogóle jeszcze co do punktu 3 to właśnie nasuwa mi się na czoło to że w
sumie przy okazji przejścia na używanie /etc/httpd/conf.d/ możnaby
przecież wogóle nie mieć /etc/httpd/httpd.conf i/lub plik ten mógłby
zawierać tylko info w komentarzu o tym że właściwa konfiguracja
pokawałkowana według konktretnego opisanego shematu jest w
/etc/httpd/conf.d/ (widać już gdzie możemy juz zacżąć kompletować opis
tych regół jakie próbujemy skompletować w tym wątku .. oczywiśxcie
taka powielona informacja o tym powinan trafić też do mana :).
W tym sensie zbliżyłoby się to mocno do tego co mamy w przypadku crond (co
Byłoby bardzo dobre) gdzie nie mamy w sumie /etc/crontab bo jest on tylko
spójnym kawałekiem całej konfiguracji w /etc/cron.d/crontab :). Dzięki
powtórzeniu tego podejścia w indianinie zarządzanie aplikacjami i nie
tylko nie jest tu niczym szczególnym bo _cała_ konfigurcja będzie mogła
być robiona według jednego spójnego schematu :)
W sumie (jako jeszcze jedna konsekwencja powyższego) .. także cała obecnie
dostępna konfiguracja z obecnego httpd.conf mogłaby ulec częściowemu
pokawałkowaniu .. co powinno pomóc w zarządzaniu całą konfiguracją jako
taką upraszajać ja do poszukiwanai elemetów konfiguracji tylko w "jednym
miejscu" czyli w katalogu, a nie pliku i dodatkowo w plikach w jakimś
katalogu.
> A czy nie wystarczy poprostu wykonać lub nie restartu apacha?
>
> 3. Zasoby przygotowujemy pod apache'a.
>
> 4. Będą problemy (raczej do rozwiązania) z aplikacjami, które
> modyfikują swoje skrypty i co gorsza tworzą nowe (phorum tak się
> zachowuje). /usr powinien być tylko do odczytu. Konsekwentnie te
> kawałki aplikacji trzeba by umieszczać w /var/lib co skomplikuje
> pliki konfiguracyjne i będzie wymagało wniknięcia w kod aplikacji
> ze strony budowniczego pakietu.
> 5. W przypadku kilku wirtualek mogą powstawać różne ciekawostki
> przyrodnicze, szczerze mówiąc średnio to sobie wyobrażam, ale
> chyba warto spróbować :)
Każda aplikacja powinna być przygotowana do pracy z wirtualkami (jednak).
Do tego potrzebne jest w sumie też poprana współpraca z remapowaniami.
Można zaznaczać w BTS informacje o tym wszystkim co w tym przeszkadza.
Powinniśmy także informacje o tym zgłaszać maintainerowi żeby spróbował
rozwiazać to.
To powinno być poprostu traktowane jako błąd i w związku z tym nie
powinniśmy szykować jakiegoś spec podejścia żeby obsługiwać tego typu
przypadki.
Co do remapowania konfiguracji aplikacji to może też przydałoby się mieć
jakieś teplate podejście (?).
> Są jeszcze jakieś uwagi, propozycje, wątpliwości?
Chyba elemety regół są już w miare kompletne :)
Choć .. może jeszcze ktoś coś wymyśli/doda (?) :_)
kloczek
--
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*
Więcej informacji o liście dyskusyjnej pld-devel-pl