ejabberd we FreeBSD
Ongiś pisałem o instalacji ejabberd na Ubuntu. Teraz przyszła pora na parę słów nt. sadzania pod FreeBSD.
Nie ma instalatora binarnego dla FreeBSD, ale od czego są porty? ;] Ok, ejabberd wymaga interpretera erlang. Też go można zainstalować, ale… Jest właśnie jedno „ale”: podstawowy pakiet lang/erlang wymaga instalowania diablo-jdk. Tylko po co instalować cały DK, skoro zdecydowana większość instalujących potrzebuje go tylko do odpalenia ejabberd.
Jest za to lang/erlang-lite, który w zupełności wystarczy do uruchomienia serwera. Standardowo: make install clean w katalogu erlanga, drugi raz w ejabberd i wszystko powinno się zainstalować.
Oprócz opisanej już przeze mnie konfiguracji musimy jeszcze wykonać parę czynności.
Po pierwsze, edycja /etc/rc.conf. Dopisujemy linijkę:
ejabberd_enabled="YES"
Teraz przechodzimy do katalogu, w którym ejabberd trzyma swoją konfigurację (/usr/local/etc/ejabberd). Zanim przejdziemy do edycji ejabberd.conf, musimy utworzyć certyfikat SSL. Dlaczego? Bo część serwerów w ogóle odrzuca połączania nieszyfrowane.
Zgodnie z oficjalną instrukcją, generujemy certyfikat:
openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout privkey.pem -out server.pem
openssl rsa -in privkey.pem -out privkey.pem
cat privkey.pem >> server.pem
rm privkey.pem
I teraz konfiguracja w ejabberd.cfg.
{listen, [{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
starttls, {certfile, "/home/ejabberd/server.pem"}]},
{5223, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
tls, {certfile, "/home/ejabberd/server.pem"}]},
...
]}.
{s2s_use_starttls, true}.
{s2s_certfile, "/home/ejabberd/server.pem"}.
Ważne: ścieżki do certyfikatów muszą być bezwzględne.
To chyba tyle, instalowałem pod FreeBSD 6.2.
[…] się zdarza, czasem (albo i trochę częściej ;]) poeksperymentuje. Jakiś czas temu instalowałem ejabberd pod FreeBSD. Instaluję ejabberd z portów, podczas kompilacji ujrzałem komunikat, o którym wcześniej nigdy […]