Prosody – serwer XMPP

Z różnych publicznie dostępnych serwerów xmpp korzystałem, lecz niestety żaden nie spełnił całkowicie moich wymagań – postanowiłem więc postawić swój własny.
Nie było to trudne, szczególnie że z pomocą przyszła wiki
Debiana
.
Jednak nie do końca się jej słuchałem…

#aktualnie ten art jest nieaktualny, wersja po angielsku omawia dużo więcej ciekawych aspektów własnego serwera xmpp, robiąc to przy tym dużo dokładniej.

Niektórzy twierdzą, że to bezsensowna pogoń za numerkami,jednak wersja Prosody z repozytorium Debiana była uboższa o pewną funkcję, na której mi zależało(choć teraz nie pamiętam już
o co chodziło 😉 chyba hashowanie haseł – o tym później), więc zamiast instalować prosto z repo, dodałem inne:

echo "deb http://packages.prosody.im/debian stable main" >> /etc/apt/sources.list

Następnie nic innego jak tylko:

aptitude update && aptitude install prosody-0.9 -y 

Już prawie wszystko gotowe!
Generowanie certyfikatu oraz jego podpisanie:

openssl genrsa -out /etc/prosody/certs/serwer.key 4096 &&
openssl req -new -x509 -key /etc/prosody/certs/serwer.key -out /etc/prosody/certs/serwer.crt -days 1095

zdecydowałem się na 4096 bitowy klucz 😉

Teraz pozostają już tylko dwie ważne rzeczy do zrobienia:
utworzenie plików konfiguracyjnych:

/etc/prosody/prosody.cfg.lua

, który jest bogato obkomentowany:

natomiast w /etc/prosody/conf.d nie zapomnijmy stworzyć naszego vhosta:
serwer.cfg.lua:

VirtualHost "host.com"
        ssl = {
                key = "/etc/prosody/certs/example.com.key";
                certificate = "/etc/prosody/certs/example.com.crt";
                }
authentication = "internal_hashed"

oraz dodanie nowego użytkownika:

prosodyctl adduser UserName@serwer && prosodyctl start

I utworzenie jego hasła jeszcze.
I voila! Wszystko powinno brykać jak szalone 😉
Różne ciekawe dane(wiadomości które czekają na usera, hash jego hasła, sól, roster, czyli rzeczy które trzeba zabezpieczyć) możemy podejrzeć w /usr/local/var/lib/prosody, natomiast logi
standardowo znajdują się w /var/log/prosody.

Leave a Reply

Your email address will not be published. Required fields are marked *