]> granicus.if.org Git - ejabberd/commitdiff
* examples/mtr/*: Example config and scripts for NetBSD (thanks to
authorAlexey Shchepin <alexey@process-one.net>
Thu, 4 Sep 2003 18:17:39 +0000 (18:17 +0000)
committerAlexey Shchepin <alexey@process-one.net>
Thu, 4 Sep 2003 18:17:39 +0000 (18:17 +0000)
Marshall T. Rose)

SVN Revision: 136

ChangeLog
examples/mtr/ejabberd [new file with mode: 0644]
examples/mtr/ejabberd-netbsd.sh [new file with mode: 0644]
examples/mtr/ejabberd.cfg [new file with mode: 0644]

index 0275a27c994e5a420da915275146d5a1cd3067b2..29774dfde7266fde075afdb881d516d052db2fce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-09-04  Alexey Shchepin  <alexey@sevcom.net>
+
+       * examples/mtr/*: Example config and scripts for NetBSD (thanks to
+       Marshall T. Rose)
+
 2003-09-03  Alexey Shchepin  <alexey@sevcom.net>
 
        * src/ejabberd_s2s_in.erl: Fixed "id" attribute processing
diff --git a/examples/mtr/ejabberd b/examples/mtr/ejabberd
new file mode 100644 (file)
index 0000000..2e95ae6
--- /dev/null
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# PROVIDE: ejabberd
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+
+HOME=/usr/pkg/jabber D=/usr/pkg/jabber/ejabberd export HOME
+
+name="ejabberd"
+rcvar=$name
+
+if [ -r /etc/rc.conf ]
+then
+        . /etc/rc.conf
+else
+        eval ${rcvar}=YES
+fi
+
+# $flags from environment overrides ${rcvar}_flags
+if [ -n "${flags}" ]
+then
+        eval ${rcvar}_flags="${flags}"
+fi
+
+checkyesno()
+{
+        eval _value=\$${1}
+        case $_value in
+        [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)       return 0 ;;
+        [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)   return 1 ;;
+        *)
+                echo "\$${1} is not set properly."
+                return 1
+                ;;
+        esac
+}
+
+cmd=${1:-start}
+case ${cmd} in
+force*)
+        cmd=${cmd#force}
+        eval ${rcvar}=YES
+        ;;
+esac
+
+if checkyesno ${rcvar}
+then
+else
+    exit 0
+fi
+
+case ${cmd} in
+start)
+        if [ -x $D/src ]; then
+            echo "Starting ${name}."
+            cd $D/src
+            su jabber -c "/usr/pkg/bin/erl -sname ejabberd -s ejabberd -heart -detached &" \
+                      1>/dev/null 2>&1
+        fi
+        ;;
+stop)
+        echo "rpc:call('ejabberd@`hostname -s`', init, stop, [])." | \
+             su jabber -c "erl -sname ejabberdstop"
+        ;;
+restart)
+        echo "rpc:call('ejabberd@`hostname -s`', init, restart, [])." | \
+             su jabber -c "erl -sname ejabberdrestart"
+        ;;
+*)
+        echo "Usage: $0 {start|stop|restart}"
+        exit 1
+esac
diff --git a/examples/mtr/ejabberd-netbsd.sh b/examples/mtr/ejabberd-netbsd.sh
new file mode 100644 (file)
index 0000000..9896c9b
--- /dev/null
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+echo '1. fetch, compile, and install erlang'
+
+if [ ! pkg_info erlang 1>/dev/null 2>&1 ]; then
+    cd /usr/pkgsrc/lang/erlang
+    make fetch-list|sh
+    make
+    make install
+fi
+if pkg_info erlang | grep -q erlang-9.1nb1; then
+else
+    echo "erlang-9.1nb1 not installed" 1>&2
+    exit 1
+fi
+
+
+echo '2. install crypt_drv.so'
+    
+if [ ! -d    /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib ] ; then
+    mkdir -p /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib
+fi
+if [ ! -f /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib/crypto_drv.so ]; then
+    cp work/otp*/lib/crypto/priv/*/*/crypto_drv.so \
+          /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib
+fi
+
+
+echo '3. compile and install elibcrypto.so'
+
+if [ ! -f /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib/elibcrypto.so ]; then
+cd /usr/pkgsrc/lang/erlang/work/otp_src_R9B-1/lib/crypto/c_src
+ld -r -u CRYPTO_set_mem_functions -u MD5 -u MD5_Init -u MD5_Update \
+   -u MD5_Final -u SHA1 -u SHA1_Init -u SHA1_Update -u SHA1_Final \
+   -u des_set_key -u des_ncbc_encrypt -u des_ede3_cbc_encrypt \
+   -L/usr/lib -lcrypto -o ../priv/obj/i386--netbsdelf/elibcrypto.o
+cc -shared \
+   -L/usr/pkgsrc/lang/erlang/work/otp_src_R9B-1/lib/erl_interface/obj/i386--netbsdelf \
+    -o ../priv/obj/i386--netbsdelf/elibcrypto.so \
+    ../priv/obj/i386--netbsdelf/elibcrypto.o -L/usr/lib -lcrypto
+cp ../priv/obj/i386--netbsdelf/elibcrypto.so \
+           /usr/pkg/lib/erlang/lib/crypto-1.1.2.1/priv/lib
+fi
+    
+
+echo '4. compile and install ssl_esock'
+
+if [ ! -f  /usr/pkg/lib/erlang/lib/ssl-2.3.5/priv/bin/ssl_esock ]; then
+    cd     /usr/pkg/lib/erlang/lib/ssl-2.3.5/priv/obj/
+    make
+fi
+    
+
+echo '5. initial ejabberd configuration'
+    
+cd /usr/pkg/jabber/ejabberd/src
+./configure
+
+
+echo '6. edit ejabberd Makefiles'
+
+for M in Makefile mod_*/Makefile; do
+    if [ ! -f $M.orig ]; then
+        mv $M $M.orig
+        sed -e s%/usr/local%/usr/pkg%g < $M.orig > $M
+    fi
+done
+
+
+echo '7. compile ejabberd'
+
+gmake
+for A in mod_irc mod_muc mod_pubsub; do
+    (cd $A; gmake)
+done
+
+
+echo ''
+echo 'now edit ejabberd.cfg'
+echo ''
+echo 'to start ejabberd: erl -sname ejabberd -s ejabberd'
diff --git a/examples/mtr/ejabberd.cfg b/examples/mtr/ejabberd.cfg
new file mode 100644 (file)
index 0000000..89ca966
--- /dev/null
@@ -0,0 +1,70 @@
+% $Id$
+
+%override_acls.
+
+{acl, admin, {user, "mrose"}}.
+{acl, admin, {user, "test"}}.
+{acl, admin, {user, "mrose", "jabber.dbc.mtview.ca.us"}}.
+{acl, admin, {user, "test", "jabber.dbc.mtview.ca.us"}}.
+
+{acl, jabberorg, {server, "jabber.org"}}.
+{acl, mrose, {user, "mrose", "jabber.dbc.mtview.ca.us"}}.
+
+
+{shaper, normal, {maxrate, 1000}}.
+
+
+{access, disco_admin, [{allow, admin},
+                       {deny, all}]}.
+
+{access, configure, [{allow, admin}]}.
+
+{access, c2s, [{deny, blocked},
+              {allow, all}]}.
+
+
+{access, c2s_shaper, [{none, admin},
+                     {normal, all}]}.
+
+{access, muc_admin, [{allow, admin}]}.
+
+
+{host, "jabber.dbc.mtview.ca.us"}.
+
+{listen, [{5222, ejabberd_c2s,     [{access, c2s},
+                                   {shaper, c2s_shaper}]},
+         {5223, ejabberd_c2s,     [{access, c2s},
+                                   {ssl, [{certfile, "/etc/openssl/certs/ejabberd.pem"}]}]},
+          {5269, ejabberd_s2s_in,  []},
+          {8888, ejabberd_service, [{host,
+                                    "conference.jabber.dbc.mtview.ca.us",
+                                    [{password, "asdqwe"}]}]}
+         ]}.
+
+% This value (5569) is only for debugging, must be 5269
+{outgoing_s2s_port, 5269}.
+
+{modules, [
+           {mod_register,  []},
+           {mod_roster,    []},
+           {mod_privacy,   []},
+           {mod_configure, []},
+           {mod_disco,     []},
+           {mod_stats,     []},
+           {mod_vcard,     []},
+           {mod_offline,   []},
+           {mod_echo,      [{host, "echo.jabber.dbc.mtview.ca.us"}]},
+           {mod_private,   []},
+%          {mod_irc,       []},
+           {mod_muc,       []},
+           {mod_pubsub,    []},
+           {mod_time,      [{iqdisc, no_queue}]},
+           {mod_version,   []}
+          ]}.
+
+
+
+
+% Local Variables:
+% mode: erlang
+% End: