diff options
| author | Luke Smith <luke@lukesmith.xyz> | 2022-04-03 22:27:22 -0400 |
|---|---|---|
| committer | Luke Smith <luke@lukesmith.xyz> | 2022-04-03 22:27:22 -0400 |
| commit | 457f0f3a4953081900730d94b89fbc79e6ec8199 (patch) | |
| tree | fd8cee6e6f9d7ebaa5941fcc016a4a36cf546f76 /ejabberd.html | |
| parent | 609cd93cc8f4582f72888f93d25c5603d0a9e64c (diff) | |
ejabberd/prosody changes
Diffstat (limited to 'ejabberd.html')
| -rw-r--r-- | ejabberd.html | 22 |
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) – LandChad.net</title> + <title>ejabberd (an XMPP Server) – 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> |
