summaryrefslogtreecommitdiff
path: root/ejabberd.html
diff options
context:
space:
mode:
Diffstat (limited to 'ejabberd.html')
-rw-r--r--ejabberd.html22
1 files changed, 11 insertions, 11 deletions
diff --git a/ejabberd.html b/ejabberd.html
index b758e77..910db7b 100644
--- a/ejabberd.html
+++ b/ejabberd.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang=en>
<head>
- <title>XMPP Server (ejabberd) &ndash; LandChad.net</title>
+ <title>ejabberd (an XMPP Server) &ndash; LandChad.net</title>
<meta charset="utf-8"/>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel='stylesheet' type='text/css' href='style.css'>
@@ -9,14 +9,14 @@
<link rel='alternate' type='application/rss+xml' title='Land Chad RSS' href='/rss.xml'>
</head>
<body>
- <header><h1>XMPP Server (ejabberd)</h1></header>
+ <header><h1>ejabberd (an XMPP Server)</h1></header>
<nav></nav>
<main>
<img class=titleimg src="pix/xmpp.svg" alt="XMPP logo and icon">
<p>
- <a href="https://ejabberd.im">Ejabberd</a> is a server for the XMPP protocol written in Erlang.
+ <a href="https://ejabberd.im">Ejabberd</a> is a server for the XMPP protocol written in Erlang.
It's easier to configure and setup than <a href="xmpp.html">Prosody</a> due to having most of its modules built-in and pre-configured by default.
</p>
@@ -25,7 +25,7 @@
<p>
Ejabberd presumes that you have already created all the <strong>required and optional subdomains</strong> for its operation prior to running it.
</p>
-
+
<p>Depending on the usecase, you may need any or all of the following domains for XMPP functionality:<p>
<ul>
<li><strong>example.org</strong> - Your XMPP hostname</li>
@@ -34,13 +34,13 @@
<li><strong>proxy.example.org</strong> - For SOCKS5 proxy support</li>
<li><strong>pubsub.example.org</strong> - For publish-subscribe support</li>
</ul>
-
+
<p>This guide will assume <strong>all these subdomains</strong> have been created.</p>
<h2>Installation</h2>
<p>Ejabberd is available in the Debian repositories:</p>
<pre><code>apt install ejabberd</code></pre>
-
+
<h2>Configuration</h2>
<p>The ejabberd server is configured in <code>/etc/ejabberd/ejabberd.yml</code>. Changes are only applied by restarting the ejabberd daemon in systemd:</p>
<pre><code>systemctl restart ejabberd</code></pre>
@@ -53,7 +53,7 @@
<h3>Certificates</h3>
<p>Unlike <a href="https://prosody.im">Prosody,</a> ejabberd doesn't come equipped with a script that can automatically copy over the relevant certificates to a directory where the ejabberd user can read them.</p>
-
+
<p>One way of organizing certificates for ejabberd is to have them stored in <code>/etc/ejabberd/certs</code>, with each domain having a separate directory for both the fullchain cert and private key.</p>
<p>Using certbot, this process can be easily automated with this one-liner:</p>
@@ -76,9 +76,9 @@ certbot --nginx -d $DOMAIN certonly; mkdir /etc/ejabberd/certs/$DOMAIN; cp /etc/
user: <strong>admin</strong></code></pre>
<p>This would make <strong>admin@example.org</strong> the user with administrator privileges.</p>
-
+
<h3>Message Archives</h3>
-
+
<p>The ejabberd server supports keeping archives of messages through its <code>mod_mam</code> module. This can be enabled by uncommenting the following lines:</p>
<pre><code>mod_mam:
@@ -124,7 +124,7 @@ certbot --nginx -d $DOMAIN certonly; mkdir /etc/ejabberd/certs/$DOMAIN; cp /etc/
<h3>Configuring ejabberd to use PostgreSQL</h3>
<p>Finally, add the following configuration to <code>ejabberd.yml</code>:</p>
-
+
<pre><code>sql_type: pgsql
sql_server: "localhost"
sql_database: <strong>"ejabberd"</strong>
@@ -142,7 +142,7 @@ sql_password: <strong>"psql_password"</strong></code></pre>
<p>To begin using ejabberd, firstly start the ejabberd daemon:</p>
<pre><code>systemctl restart ejabberd</code></pre>
-
+
<p>Then, using <code>ejabberdctl</code> as the ejabberd user, register the admin user which is set in <code>ejabberd.yml</code>:</p>
<pre><code>su -c "ejabberdctl register <strong>admin example.org password</strong>" ejabberd</code></pre>