Fekky Reviant

starting with a doubt then ending with a choice …..

install prosody (jabber server) di openwrt

lets get started…

liat space

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    7.0G    844.4M      5.8G  12% /
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    14.4M      1.7M     12.8M  11% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/sda2                 7.0G    844.4M      5.8G  12% /overlay
overlayfs:/overlay        7.0G    844.4M      5.8G  12% /
/dev/mtdblock2            2.3M      2.3M         0 100% /mnt/mtdblock2

ehemm

root@OpenWrt:~# opkg update;opkg install prosody libexpat

hasil

root@OpenWrt:~# find / -name prosody*
/etc/config/prosody
/etc/init.d/prosody
/etc/prosody
/etc/prosody/prosody.cfg.lua
/overlay/usr/lib/opkg/info/prosody.conffiles
/overlay/usr/lib/opkg/info/prosody.control
/overlay/usr/lib/opkg/info/prosody.list
/overlay/usr/lib/prosody
/overlay/usr/lib/prosody/prosody.version
/overlay/usr/lib/prosody/util/prosodyctl.lua
/overlay/usr/bin/prosodyctl
/overlay/usr/bin/prosody
/overlay/etc/init.d/prosody
/overlay/etc/config/prosody
/overlay/etc/prosody
/overlay/etc/prosody/prosody.cfg.lua
/usr/bin/prosodyctl
/usr/bin/prosody
/usr/lib/opkg/info/prosody.conffiles
/usr/lib/opkg/info/prosody.control
/usr/lib/opkg/info/prosody.list
/usr/lib/prosody
/usr/lib/prosody/prosody.version
/usr/lib/prosody/util/prosodyctl.lua

konfigurasi host, tambahan host “tekdung”, dan allow registration


root@OpenWrt:~# cat /etc/prosody/prosody.cfg.lua
-- Prosody Example Configuration File
-- 
-- Information on configuring Prosody can be found on our
-- website at http://prosody.im/doc/configure
-- 
-- Tip: You can check that the syntax of this file is correct
-- when you have finished by running: luac -p prosody.cfg.lua
-- If there are any errors, it will let you know what and where
-- they are, otherwise it will keep quiet.
--
-- The only thing left to do is rename this file to remove the .dist ending, and fill in the
-- blanks. Good luck, and happy Jabbering!


---------- Server-wide settings ----------
-- Settings in this section apply to the whole server and are the default settings
-- for any virtual hosts

-- This is a (by default, empty) list of accounts that are admins
-- for the server. Note that you must create the accounts separately
-- (see http://prosody.im/doc/creating_accounts for info)
-- Example: admins = { "user1@example.com", "user2@example.net" }
admins = { }

-- This is the list of modules Prosody will load on startup.
-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
modules_enabled = {

	-- Generally required
		"roster"; -- Allow users to have a roster. Recommended ;)
		"saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
		"tls"; -- Add support for secure TLS on c2s/s2s connections
		"dialback"; -- s2s dialback support
		"disco"; -- Service discovery
	
	-- Not essential, but recommended
		"private"; -- Private XML storage (for room bookmarks, etc.)
		"vcard"; -- Allow users to set vCards
	
	-- Nice to have
		"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
		"version"; -- Replies to server version requests
		"uptime"; -- Report how long server has been running
		"time"; -- Let others know the time here on this server
		"ping"; -- Replies to XMPP pings with pongs
		"pep"; -- Enables users to publish their mood, activity, playing music and more
		"register"; -- Allow users to register on this server using a client and change passwords
	
	-- Other specific functionality
		"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
		--"console"; -- Opens admin telnet interface on localhost port 5582
		--"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
		--"httpserver"; -- Serve static files from a directory over HTTP
};

-- These modules are auto-loaded, should you
-- for (for some mad reason) want to disable
-- them then uncomment them below
modules_disabled = {
	-- "presence";
	-- "message";
	-- "iq";
};

-- Disable account creation by default, for security
-- For more information see http://prosody.im/doc/creating_accounts
allow_registration = true;

-- File to write pid in
pidfile = "/var/run/prosody/prosody.pid";
	
-- These are the SSL/TLS-related settings. If you don't want
-- to use SSL/TLS, you may comment or remove this
ssl = {
	key = "/etc/prosody/certs/localhost.key";
	certificate = "/etc/prosody/certs/localhost.cert";
}

-- Errors to syslog
-- All to /var/log/prosody/
log = {
	{ levels = { "error" }; to = "syslog";  };
	{ levels = { "error" }; to = "file"; filename = "/var/log/prosody/prosody.err";  };
	-- Change "info" to "debug" for more verbose logging
	{ levels = { min = "info" }; to = "file"; filename = "/var/log/prosody/prosody.log";  };
}

----------- Virtual hosts -----------
-- You need to add a VirtualHost entry for each domain you wish Prosody to serve.
-- Settings under each VirtualHost entry apply *only* to that host.

VirtualHost "localhost"

VirtualHost "tekdung"
	enable = true
--	ssl = { -- optional
--                key = "/etc/prosody/certs/example.com.key";
--                certificate = "/etc/prosody/certs/example.com.crt";
--                }


VirtualHost "example.com"
	enabled = false -- Remove this line to enable this host

	-- Assign this host a certificate for TLS, otherwise it would use the one
	-- set in the global section (if any).
	-- Note that old-style SSL on port 5223 only supports one certificate, and will always
	-- use the global one.
	ssl = { 
		key = "/etc/prosody/certs/example.com.key";
		certificate = "/etc/prosody/certs/example.com.crt";
		}

------ Components ------
-- You can specify components to add hosts that provide special services,
-- like multi-user conferences, and transports.
-- For more information on components, see http://prosody.im/doc/components

---Set up a MUC (multi-user chat) room server on conference.example.com:
--Component "conference.example.com" "muc"

---Set up an external component (default component port is 5347)
--Component "gateway.example.com"
--	component_secret = "password"

jalankan


root@OpenWrt:~# /etc/init.d/prosody start


**************************
Prosody was unable to find the configuration file.
We looked for: /etc/prosody/prosody.cfg.lua
A sample config file is included in the Prosody download called prosody.cfg.lua.dist
Copy or rename it to prosody.cfg.lua and edit as necewwssary.
More help on configuring Prosody can be found at http://prosody.im/doc/configure
Good luck!
**************************

Still waiting...
Prosody is still not running. Please give it some time or check your log files for errors.

hmm??

root@OpenWrt:~# ls -lsa /etc/prosody/prosody.cfg.lua 
     8 -rw-------    1 root     root          4643 Jan 26 08:26 /etc/prosody/prosody.cfg.lua

whoops..

root@OpenWrt:~# chmod 755 /etc/prosody/prosody.cfg.lua 
root@OpenWrt:~# 
root@OpenWrt:~# /etc/init.d/prosody start
Started
root@OpenWrt:~# 
root@OpenWrt:~# netstat -natp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:5347          0.0.0.0:*               LISTEN      12210/lua
tcp        0      0 0.0.0.0:5222            0.0.0.0:*               LISTEN      12210/lua
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1899/uhttpd
tcp        0      0 0.0.0.0:5269            0.0.0.0:*               LISTEN      12210/lua
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      2065/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1881/dropbear
netstat: /proc/net/tcp6: No such file or directory
root@OpenWrt:~# 

aight, cock ready and set di port 5222

adduser di command line

root@OpenWrt:~# prosodyctl adduser
Usage: /usr/bin/prosodyctl adduser JID
 Create the specified user account in Prosody
root@OpenWrt:~# prosodyctl adduser www
Please specify a JID, including a host. e.g. alice@example.com
root@OpenWrt:~# prosodyctl adduser www@tekdung
Enter new password: 1234

Retype new password: 1234

Unable to store, perhaps you don't have permission?
root@OpenWrt:~# ps x | grep prosody
10942 root      1468 S    grep prosody
22499 prosody   6840 S    lua /usr/bin/prosody
root@OpenWrt:~# head -20  `which prosodyctl`
#!/usr/bin/env lua
-- Prosody IM
-- Copyright (C) 2008-2009 Matthew Wild
-- Copyright (C) 2008-2009 Waqas Hussain
-- 
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--

-- prosodyctl - command-line controller for Prosody XMPP server

-- Will be modified by configure script if run --

CFG_SOURCEDIR='/usr/lib/prosody';
CFG_CONFIGDIR='/etc/prosody';
CFG_PLUGINDIR='/usr/lib/prosody/modules/';
CFG_DATADIR='/etc/prosody/data';

-- -- -- -- -- -- -- ---- -- -- -- -- -- -- -- --

root@OpenWrt:~# ls -ls /etc/prosody/
drwxr-xr-x    4 root     root          4096 Jan 26 08:15 .
drwxr-xr-x    1 root     root          4096 Jan 26 08:15 ..
drwxr-xr-x    2 root     root          4096 Jan 26 08:15 certs
drwxr-xr-x    2 root     root          4096 Jan 25 17:12 data
-rwxr-xr-x    1 root     root          4643 Jan 26 08:26 prosody.cfg.lua
root@OpenWrt:/etc/prosody# chown prosody:prosody $(find -type d)
root@OpenWrt:/etc/prosody# ls -lsa
     4 drwxr-xr-x    4 prosody  prosody       4096 Jan 26 08:15 .
     4 drwxr-xr-x    1 root     root          4096 Jan 26 08:15 ..
     4 drwxr-xr-x    2 prosody  prosody       4096 Jan 26 08:15 certs
     4 drwxr-xr-x    2 prosody  prosody       4096 Jan 25 17:12 data
     8 -rwxr-xr-x    1 root     root          4643 Jan 26 08:26 prosody.cfg.lua
root@OpenWrt:/etc/prosody# 
root@OpenWrt:/etc/prosody# prosodyctl adduser www@tekdung
Enter new password: 1234

Retype new password: 1234

root@OpenWrt:/etc/prosody# 

akhirna -_-’

langsung cuss deh di hape/leptop/dkk, mo create jg bisa
contoh hasil

bon appetite :D

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.