Jabber i spółka

Jacek Konieczny jajcus w bnet.pl
Wto, 16 Wrz 2003, 14:43:05 CEST


Cześć

Zrobiłem (wydaje mi się że wreszcie skończyłem) pakiety z serwerami
Jabbera i usługami do niego. Dokładnie to:

jabber-common.spec
jabberd.spec
jabberd14.spec -> jabberd14, jabberd14-server, jabberd14-devel
jabber-mu-conference.spec
jabber-muc.spec
jabber-gg-transport.spec
jit.spec
smst.spec
janchor.spec

Z CVS wyleciały:

jabber.spec - zawierał jabberd w wersji 1.4, który teraz jest
	w jabberd14.spec. Oficjalnym jabberd IMHO powinien jednak
	teraz być jabberd 2.0

jabber-irc-transport.spec - był zależny od jabber-1.4, a poza tym nie
	bardzo działał. Niestety nie ma nic na jego miejsce.

jabber-conference.spec - zależne od jabber-1.4, poza tym przestarzałe.
	Zamiast tego lepiej użyć jabber-mu-conference.


Przy robieniu/poprawianiu pakietów moim priorytetem nie był
bezproblemowy upgrade - w przypadku zmiany jabberd 1.4 na 2.0 to raczej
i tak nie do zrobienia. Dlatego po upgrade starej instalacji jabber*
trzeba wszystko konfigurować od nowa. Największym problemem jest
przeniesienie bazy użytkowników z jabberd 1.4 do 2.0 - nie ma żadnych
istniejących narzędzi - dlatego niektórzy mogą chcieć zainstalować
jabberd14-server zamiast (lub oprócz) jabberd.

Pakiety tworzyłem tak, aby jabberd i wszystkie usługi ruszały od kopa po
zainstalowaniu. Działa wszystko w ramach domeny "localhost"
i z wyłączoną komunikacją z innymi serwerami - gdyż nie ma sposobu na
określenie właściwej domeny, a komunikacja międzyserwerowa z localhost
nie ma sensu. Od kopa nie ruszą usługi wraz z serwerem jabberd14
- w wypadku jego użycia trzeba więcej pokonfigurować ręcznie.

Troche problematyczne okazały się zależności, bo:

1. oficjalnym serwerem ma być jabberd-2.0, ale binarka jabberd14 jest
potrzebna niektórym usługom. Pozatym czasem przydatna może się okazać
instalacja jabberd14 jako serwera

2. wszystkie usługi potrzebują servera, ale niekoniecznie na tej samej
maszynie

3. wszystkie usługi i serwery chodzą z uid jabberd, niektóre z nich
umieją pisać pid tylko z prawami jabberd

4. Usługi łączą się z serwerem przez sieć i autentykują za pomocą 
znanego obu stronom sekretu

Rozwiązałem to następująco:

1. Z jabberd14 powstaje jabberd14 i jabberd14-server - pierwsze zawiera
jedynie binarkę i moduły, drugie konfigurację serwera i skrypty
startowe. jabberd14-server nie jest w konflikcie z jabberd, ale
w domyślnej konfiguracji oba na raz nie będą działać.

2. usługi nie mają zależności od jabberd, ani jabberd14-server

3. zrobiłem pakiet jabber-common, który zakłada odpowiedniego usera
i grupę, zawiera katalog /var/run/jabber, gdzie użytkownik jabber może
pisać oraz /etc/jabber na konfigurację. 

4. jabber-common po zainstalowaniu generuje losowy sekret i zapisuje go
do /etc/jabber/secret (plik czytelny tylko dla roota). Pozostałe pakiety
używają tego pliku do aktualizacji swoich plików konfiguracyjnych.

Niniejszym proszę innych developerów o przyjrzenie się tym pakietom,
a wszystkich zainteresowanych userów o przetestowanie.

Pozdrowienia,
	Jacek



Więcej informacji o liście dyskusyjnej pld-devel-pl