
Instalasi ejabberd dari sources sudah menyertakan default ssl certificate. Sayangnya certificate ini tidak mencerminkan domain yang melayani jabber. Tulisan ini akan membahas bagaimana membuat self-signed certificate untuk Ejabberd.
Tulisan ini melengkapi tutorial sebelumnya, Membuat Jabber Server menggunakan Ejabberd. Jadi pastikan Anda mengikuti tulisan tersebut sebelum melanjutkan membaca tulisan di bawah ini.
Membuat Self-Signed Certificate
Buat self-signed certificate, dalam contoh di bawah ini di set valid kurang lebih untuk 10 tahun (3650 hari)
openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout privkey.pem -out server.pem
Jika saat membuat certificate Anda set password, maka setiap menjalankan ejabberd, Anda akan diminta memasukkan password untuk certificate tadi, dan tentu saja itu menjadi masalah ketika ejabberd dijalankan otomastis saat boot.
Untuk itu kita perlu buat versi privkey.pem yang tidak mengunakan password. Lalu hasilnya kita masukkan ke berkas server.pem. Lalu mengapa harus digabung? Karena konfigurasi di ejabberd mensyaratkannya begitu. Direktif certifle harus diarahkan ke berkas yang berisikan private key dan certificate.
openssl rsa -in privkey.pem -out privkey.pem.tanpa-password cat privkey.pem.tanpa-password >> server.pem rm privkey.pem
Kemudian salin berkas certificate server.pem ke lokasi instalasi ejabberd.
sudo mv /opt/ejabberd/conf/server.pem /opt/ejabberd/conf/server.pem.orig sudo mv server.pem /opt/ejabberd/conf/server.pem
Dan untuk menerapkan konfigurasi, Anda harus merestart service ejabberd.
sudo /opt/ejabberd/bin/stop sudo /opt/ejabberd/bin/start
Mengaktifkan koneksi SSL di port 5223
Sunting berkas konfigurasi /opt/ejabberd/conf/ejabberd.cfg, cari baris seperti dibawah ini dan sesuaikan seperti contoh di bawah ini.
{5222, ejabberd_c2s, [
{certfile, "/opt/ejabberd/conf/server.pem"}, starttls,
{access, c2s},
{shaper, c2s_shaper},
{max_stanza_size, 65536}
]},
%%
%% To enable the old SSL connection method in port 5223:
%%
{5223, ejabberd_c2s, [
{certfile, "/opt/ejabberd/conf/server.pem"}, tls,
{access, c2s},
{shaper, c2s_shaper},
{max_stanza_size, 65536}
]},Sama seperti di atas, untuk menerapkan konfigurasi yang baru, Anda harus merestart service ejabberd.
sudo /opt/ejabberd/bin/stop sudo /opt/ejabberd/bin/start
Sekarang Anda bisa mengakses jabber server menggunakan TLS di port 5222 atau SSL di port 5223.
Jabber/XMPP Server menggunakan Ejabberd
- Membuat Jabber Server menggunakan Ejabberd
- Membuat Self-Signed Certificate untuk Ejabberd
- Mengkonfigurasi Virtual Hosts di Ejabberd
- Autentikasi Ejabberd menggunakan Account di Zimbra
- DNS SRV record untuk Jabber
