Transport MSN dla ejabberd

W związku z tym, że w AIESEC ogólnie obowiązującym komunikatorem jest MSN Messenger a ja nie lubię instalować nic co jest produkcji pewnej firmy z Redmond postanowiłem dodać transport MSN do serwera jabbera na CzLUG-u. No to do roboty:

1. Instalujemy PyMSNt wraz z biblioteką python-imaging (na szczęście tym razem jest w repozytorium debiana):
root@valkiria# apt-get install pymsnt python-imaging

2. Konfiguracja transportu jest banalnie prosta i sprowadza się do uzupełnienia kilku dyrektyw w XML-owym pliku /etc/pymsnt.conf.xml

  • <jid>msn.server.com</jid>
  • <host>127.0.0.1</host>
  • <discoName>MSN Transport</discoName>
  • <reactor>pool</reactor>
  • <mainServer>127.0.0.1</mainServer>
  • <port>5347</port>
  • <sercret>tajnehasło</secret>
  • <lang>pl</lang>
  • <webside>http://www.server.com</webside>

Reszta ustawień pozostaje domyślna.

3. Teraz pozostało nam ostatecznie dopisać transport do ejabberd w pliku /etc/ejabberd/ejabberd.cfg dopisujemy:

% MSN Transport
{5347, ejabberd_service, [{host, "msn.server.com",
[{password, "tajnehasło"}]}]},


4. Po zrestartowaniu serwera i transportu powinniśmy w przeglądarce usług widzieć nowy transport.

Transport GG i ejabberd

Od dłuższego czasu przymierzałem się do postawienia na naszym CzLUG-owym serwerze transportu Gadu-Gadu - jggtrans. Oczywiście w standardowym repozytorium paczki z jggtrans nie ma, więc jak na prawdziwego debianowca przystało (nie jestem developerem, niestety). Ciekawy opis instalacji i konfiguracji można znaleźć na stronie ejabberd. Poniżej przedstawiam sposób na transport po debianowemu:

1. Ściągamy i rozpakowujemy źródła jggtrans:
sor@valkiria:~/src$ wget http://jggtrans.jajcus.net/downloads/jggtrans-2.2.2.tar.gz && tar zxf jggtrans-2.2.2.tar.gz

2. Teraz musimy stworzyć pliku debianowe:
sor@valkiria:~/src/jggtrans-2.2.2$ dh_make -e majtajner@domena.pl -f ../jggtrans-2.2.2.tar.gz

3. Teraz wystarczy wszystko skonfigurować:
sor@valkiria:~/src/jggtrans-2.2.2$ ./configure --prefix=/usr

4. Musimy odpowiednio wyedytować pliki .debian/control oraz .debian/changelog. Dodatkowo musimy zmienić prefix w Makefile z prefix = /usr na prefix = ${DESTDIR}/usr

5. Pozostaje tylko zbudować i zainstalować paczkę deb:
sor@valkiria:~/src/jggtrans-2.2.2$ dpkg-buildpackage -rfakeroot -sgpg

root@valkiria:/home/users/sor/src# dpkg -i jggtrans_2.2.2-1_amd64.deb


6. Instalacja paczki nie stworzy nam wszystkich wymaganych katalogów i plików startowych, więc o to musimy zatroszczyć się sami:
root@valkiria:~# mkdir /var/lib/jabber /var/lib/jabber/gg.domena.pl && chown -R ejabberd:ejabberd /var/lib/jabber && chmod 750 /var/lib/jabber/gg.domena.pl

Skromny plik /etc/init.d/jggtrans:
#!/bin/sh

CONFIG_FILE=/etc/ejabberd/jggtrans.xml
USER=ejabberd
GROUP=ejabberd
PID_FILE=/var/lib/jabber/ggtrans.pid

case "$1" in
start)
echo -n "Starting Gadu-Gadu Jabber transport"
/usr/sbin/jggtrans -u $USER -g $GROUP $CONFIG_FILE
echo "."
;;
stop)
echo -n "Stopping Gadu-Gadu Jabber transport"
if [ -f $PID_FILE ]; then
kill `cat $PID_FILE`
fi
echo "."
;;
restart)
$0 stop
$0 start
;;
force-reload)
$0 restart
;;
*)
echo "Usage: $0 start|stop|restart|force-reload"
exit 1
;;
esac


7. Konfiguracja jest banalna, ściągamy plik i umieszczamy go w /etc/ejabberd. Musimy zmienić w nim odpowiednie dyrektywy, np:
<connect>
<ip>127.0.0.1</ip>
<port>5237</port>
<secret>scisletajnehaslo</secret>
</connect>

<service jid="gg.domena.pl"/>

<spool>/var/lib/jabber/spool/gg.domena.pl/</spool>


8. Teraz wystarczy dodać transport do ejabbera, w pliku /etc/ejabberd/ejabberd.cfg dopisujemy w sekcji listen:
% GG Transport
{5237, ejabberd_service, [{host, "gg.domena.pl",
[{password, "scisletajnehaslo"}]}]},


9. Na koniec wystarczy przeładować ejabbera oraz uruchomić jggtrans:
root@valkiria:~# /etc/init.d/ejabberd restart && /etc/init.d/jggtrans start
W pliku /var/log/messages powinniśmy obserwować co się dzieje, ja musiałem dodać jeszcze do jggtrans.xml dodatkowe serwery:
<servers>
<hub tls="no"/>
<server tls="no">217.17.45.143</server>
<server tls="no">217.17.45.144</server>
<server tls="no">217.17.45.145</server>
<server tls="no">217.17.45.146</server>
<server tls="no">217.17.45.147</server>
<server tls="no">217.17.41.92</server>
<server tls="no">217.17.41.93</server>
<server tls="no">217.17.41.85</server>
<server tls="no">217.17.41.83</server>
<server tls="no">217.17.41.88</server>
<server tls="no">217.17.41.84</server>
<server tls="no">217.17.41.86</server>
<server tls="no">217.17.41.87</server>
</servers>

10. W wyszukiwarce usług powinien pojawić się transport Gadu-Gadu: gg.domena.pl, po dodaniu go do naszego rostera powinniśmy mieć możliwość kontaktowania się z naszymi "niewiernymi" znajomymi.

Paczkowanie EKG2

Jako, że w Debianie Etch nie ma EKG2 w repozytorium (jest natomiast w gałęzi experimental, opiekunem tej paczki EKG2 jest Marcin Owsiany). Oczywiście użytkownicy bez EKG2 żyć nie mogą więc postanowiłem jako dobry admin zrobić paczkę, gdyż to mniejszy problem przy uaktualnieniach a poza tym, prawdziwi debianowcy ze źródeł nie instalują :P Niby proste ale pojawia się problem - No UI-PLUGIN! Oczywiście wsparcie dla unicode odrzuciłem po wielu próbach, gdyż jak sami developerzy EKG2 piszą jest to rzecz eksperymentalna, poza tym używanie unicode powoduje wiele znanych błędów (których nie powinno się raportować).

Oto sposób na paczkę deb:
1. Ściągamy źródła
sor@valkiria:~/src/$ wget http://pl.ekg2.org/ekg2-0.1.1.tar.gz
(current się nie kompiluje) i rozpakowujemy:
sor@valkiria:~/src$ tar zxf ekg2-0.1.1.tar.gz
2. Instalujemy libncurses5-dev, libssl-dev, python-dev, libsqlite3-dev, libgadu-dev, libgnutls-dev, dh-make, fakeroot
3. Za pomocą dh_make tworzymy wszystkie potrzebne pliki do stworzenia paczki
sor@valkiria:~/src/ekg2-0.1.1$ dh_make -e maintajner@jakas.domena.pl -f ../ekg2-0.1.1.tar.gz
4. Edytujemy pliki .debian/control oraz .debian/changelog
5. Konfigurujemy i budujemy dziada
sor@valkiria:~/src/ekg2-0.1.1$ ./configure --without-gtk --prefix=/usr && make
6. Teraz sprawdzamy, czy nasz ekg2 działa poprawnie:
sor@valkiria:~/src/ekg2-0.1.1$.ekg/ekg2
7. Jeżeli tak to pozostaje nam zrobić paczkę:
sor@valkiria:~/src/ekg2-0.1.1$ dpkg-buildpackage -rfakeroot -nc -sgpg
(jeżeli nie mamy klucza GPG to ostatnią opcję można pominąć).
8. Zbudowany pakiet (o ile działa) wrzucamy do naszego własnego repozytorium.

Takim oto sposobem mamy paczkę z EKG2, w moim wypadku pod architekturę amd64.

Nowy zarząd CzLUG

Dzisiaj na Walnym zebraniu CzLUG odbyło się głosowanie nad nowym zarządem, od dzisiaj nie jestem już prezesem Grupy i nawet mi z tym dobrze. Mam nadzieję, że nowy zarząd popchnie Grupę do przodu i coś ciekawego uda się w między czasie zorganizować i uda się nawrócić dużą ilość społeczeństwa na Wolne oraz Otwarte Oprogramowanie. Życzę nowemu Zarządowi wielu sukcesów a ze swojej strony poszerzę zakres usług świadczonych przez nasz serwer.

Jogger podejście #2

Od dzisiaj zaczynam nowego joggera, poprzedni mi się nie podobał a na jog poświęcony jednemu tematowi nie mam czasu tak więc nowa odsłona będzie poświęcona Linuksowi, głównie konfiguracją różnych usług, żeglarstwu, szantom oraz działalności CzLUG-u.