zhuk 93e8b4ad0a Fix access rights handling for some items in ejabberd.
Pro-actively fixes the port before espie@ commits his picky pkg_add patch.
2014-01-24 19:05:29 +00:00
..
2013-05-05 16:17:19 +00:00

$OpenBSD: README,v 1.6 2013/05/05 16:17:19 gonzalo Exp $

+-----------------------------------------------------------------------
| Running ${FULLPKGNAME} on OpenBSD
+-----------------------------------------------------------------------

* Migration
  When moving database between machines, or upgrading from 1.1.x to
  2.x.x version you will need to follow the instructions available at
  http://www.ejabberd.im/migrate-host
  Node name is by default set to ejabberd@`hostname -s`


* Configuration
  * DNS
    SRV records for your server can make your life easier. Example
    records:
      _jabber._tcp.example.org.		SRV 5 0 5269 host.example.org.
      _xmpp-server._tcp.example.org.	SRV 5 0 5269 host.example.org.
      _xmpp-client._tcp.example.org.	SRV 5 0 5222 host.example.org.


  * Configuration file
        Set up the hostnames served by the server:
                {hosts, ["example.net", "example.com", "example.org"]}.
        Add administrative user
                {acl, admin, {user, "ermine", "example.org"}}.
        If you want to disallow in-band registration of users:
                {access, register, [{deny, all}]}.
        Users to get notifications about created new accounts:
                {registration_watchers, ["admin1@example.org"]},


* Running
  Control is done using ${TRUEPREFIX}/sbin/ejabberdctl, run it without
  arguments for list of possible commands and flags. It needs to be
  executed as either root or _ejabberd user.

  To start ejabberd at boot time, you may insert the following
  into ${SYSCONFDIR}/rc.local:

    if [ -x ${TRUEPREFIX}/sbin/ejabberdctl ]; then
	echo -n ' ejabberd';   ${TRUEPREFIX}/sbin/ejabberdctl start
    fi


* Administration
  ejabberdctl has some commands for administration of the server. After
  starting ejabberd run ejabberdctl again for the list of options.
  Another possibility, giving you more options, is the web interface,
  available at http://your.server:5280/admin/ where you need to log in
  as a user added to admin acl group, give your full jid and your
  account password


* Using SSL
  The sample configuration enables SSL by default. You just need to
  generate the keys. Note that you should enter your domain name as the
  Common Name for your certificate.
    # openssl req -new -nodes -x509 -newkey rsa:4096 -days 365 \
      -keyout ${SYSCONFDIR}/ejabberd/myserver.pem -out ${SYSCONFDIR}/ejabberd/myserver.pem
    # chown root:_ejabberd ${SYSCONFDIR}/ejabberd/myserver.pem
    # chmod 640 ${SYSCONFDIR}/ejabberd/myserver.pem

  To disable SSL comment out (prepend with %%) lines containing
  'certfile' and the whole block pertaining to port 5223


* Hostname resolving
  As Erlang is rather picky when it comes to resolving the hostname of
  the Jabber server. It requires the machine's shortname to be
  resolveable to the local address. A line such as the following for
  /etc/hosts suffices (make sure my_hostname matches the output of
  `hostname -s`):
  	127.0.0.1       my_hostname

* Epmd
  Epmd is a small name server used by Erlang programs when establishing
  distributed Erlang communications.  ejabberd needs epmd to use
  ejabberdctl and also when clustering ejabberd nodes.  If ejabberd is
  stopped, and there aren't any other Erlang programs running in the
  system, you can safely stop epmd if you want, using this command:
        epmd -kill

  It is strongly recommended to block the port 4369 in the firewall for
  external connections. epmd listens in this port, and usually epmd is
  not needed from outside the machine.