Koozali.org: home of the SME Server

Wildfire Server HowTo:

dswillia

Wildfire Server HowTo:
« on: April 06, 2006, 04:31:33 PM »
Ok, here is a quick howto on installing Jive Softwares XMPP Server on SME 7.x.  The Software can be downloaded from jivesoftware @ http://www.jivesoftware.org.  Goto the website and download wildfire_2_5_1.rpm.  To install the server type the command:

rpm -ivh wildfire_2_5_1.rpm

The server will be installed in the /opt/wildfire directory.  To start the server for the first time type the command:

/opt/wildfire/bin/wildfire start

(If you want to autostart the server on boot, just include the previous line in the /etc/rc.local file.  There maybe a better way of doing this, I just don't know it)

Once the server has started open a webbrowser and goto http://<your server>:9090

Follow the wizard for installation, for ease of installation, use the embedded database.  Mysql works as well, however you must first configure SME to listen for local connections, this can be done by issuing the following:

config setprop mysqld LocalNetworkingOnly no
signal-event post-upgrade
signal-event reboot

Create you Admin account using the wizard and login.  Thats it.  You now have a working XMPP (Jabber) Server.

dswillia

Wildfire Server HowTo: Auto Account Creation
« Reply #1 on: April 06, 2006, 04:50:25 PM »
Part 2:  Automagicly creating user accounts

There are a couple different ways to do this, Wildfire supports LDAP connections, however as of SME version 6.0 the the LDAP database did not support authentication so I do not believe this is an option.  That being said if I am wrong or it has changed in 7.x please let me know.

The second way of doing it by using the pop3 auth code in the wildfire.xml file.  This will create a user on the wildfire server whenever a user with a local email account logs into the server.  To accomplish this you need to edit the wildfire.xml file:

pico /opt/wildfire/conf/wildfire.xml


This first thing you will need to do is create a new admin account, the wildfire server auto creates one and this causes a problem when using pop3 auth.  To create a new user account find the line in the xml file that says:

<--  <authorizedUsernames></authorizedUsernames> -->

Change this to:

<authorizedUsernames>USERNAME</authorizedUsernames>[/b]

Insert an active account that you want to have admin rights in the USERNAME area.  This account must exist on your server.

Now, we add the pop3 auth code, goto bottom of the xml file to where you see: (approx Line 70)

 <!-- End example LDAP settings -->

Insert the following after the above line:

<!-- Example POP3 Authentication-->
  <provider>
   <auth>
<className>org.jivesoftware.wildfire.auth.POP3AuthProvider</className>
    </auth>
    <user>
<className>org.jivesoftware.wildfire.user.POP3UserProvider</className>
    </user>
  </provider>
  <pop3>
    <host>Insert Host Here</host>
    <domain>your domain.com</domain>
    <authRequiresDomain>false</authRequiresDomain>
    <ssl>false</ssl>
  </pop3>
  <!-- End example POP3 Authentication-->

Once you have changed your host and domain, save the xml and restart the server.

/opt/wildfire/bin/wildfire stop
/opt/wildfire/bin/wildfire start

Now login to the admin interface http://servername:9090 with the user you specified.  If all is configured correctly you should be able to login.  If successful, any user that tries to sign in with a jabber client will automagicly get created a jabber user account.

thelinuxfr

Wildfire Server HowTo:
« Reply #2 on: April 22, 2006, 07:39:45 PM »
Hi,

And for configuration of PyMSN and wildfire?
And l'install of SME 7?

Thx

drlizau

Wildfire server
« Reply #3 on: May 06, 2006, 08:56:22 AM »
I'd recommend this as an easy to install jabber server.
If you are going to use it across the internet, then a few ports need opening. Forward ports 5222, 5223 and 5269 to localhost, and the port you chose for file transfer if needed.

If, as I did, you installed and configured remotely, then you will need to open 9090 UDP to use the admin web interface. Close this port when the job is done.

drlizau

erratic behaviour
« Reply #4 on: May 17, 2006, 11:16:25 PM »
I haven't found this to be a stable running jabber server with it refusing connections form some machines on the LAN. I'm following this up, but if I can't get it working reliably I will remove and replace it.

Offline brianr

  • *
  • 990
  • +2/-0
Wildfire Server HowTo:
« Reply #5 on: June 30, 2006, 03:07:43 PM »
Any news on this? I am just looking for a jabber server for a customer, to run on an SME6.01 system.

What (Windoze) IM client are you using?
Brian j Read
(retired, for a second time, still got 2 installations though)
The instrument I am playing is my favourite Melodeon.
.........

drlizau

Wildfire Server HowTo:
« Reply #6 on: June 30, 2006, 10:48:24 PM »
It's still installed, and behaving itself. When it wouldn't behave, I would look at the logs and it would go properly again. Then I started leaving a machine logged on continuously and it has run properly although sometimes no one is logged on.
For Windows clients I use Psi.

Offline wifinetguy

  • **
  • 37
  • +0/-0
    • http://www.astechnologysolutions.com
Wildfire Server HowTo:
« Reply #7 on: July 01, 2006, 05:58:15 AM »
I've just installed Wildfire version 3.0.0 on SME 7RC3 and it seems to be working fine so far. Having a little problem with auto-registering users but for those already in the system, all is good so far. Just FYI...for what it's worth.

Offline Franco

  • *
  • 1,171
  • +0/-0
    • http://contribs.org
Wildfire Server HowTo:
« Reply #8 on: July 02, 2006, 06:17:21 AM »
I installed 3.0 with mysql and asterisk integration, works as advertised!
Thanks!

sebastian_sw

Wildfire Server HowTo:
« Reply #9 on: July 06, 2006, 08:16:09 PM »
I also installed Wildfire 3.0 and works fine.

Can someone point me how to start the service when the server reboots?

Many Thanks

Seb.-

drlizau

Wildfire Server HowTo:
« Reply #10 on: July 07, 2006, 11:09:28 PM »
I don't remember what I have done, but from jivesoftware.org

If you would like to install Wildfire as a service, two scripts are provided in the bin/extra directory:
redhat-postinstall.sh -- automatically installs Wildfire as a service on Red Hat. It does so by creating a "jive" user and then copying the wildfired script to your init.d directory. This script must be run as root. Please see the comments in the script for additional information.
wildfired -- script to run Wildfire as a service. You must manually configure this script. See the comments in the script for additional details.

sebastian_sw

Wildfire Server HowTo:
« Reply #11 on: July 13, 2006, 04:16:59 PM »
Quote from: "drlizau"
I don't remember what I have done, but from jivesoftware.org

If you would like to install Wildfire as a service, two scripts are provided in the bin/extra directory:
redhat-postinstall.sh -- automatically installs Wildfire as a service on Red Hat. It does so by creating a "jive" user and then copying the wildfired script to your init.d directory. This script must be run as root. Please see the comments in the script for additional information.
wildfired -- script to run Wildfire as a service. You must manually configure this script. See the comments in the script for additional details.


Tryed the Steps discribed in the scripts, but without luck, maybe im mistaken something.

What i done was:
1- ./redhat-postinstall.sh
2- chmod +x /opt/wildfire/bin/wildfire
3- cd /etc/rc6.d
4- ln -s ../init.d/wildfired $90wildfired

When reboot, the service never starts - any suggestions?

Thanks

Seb.-

Offline ldkeen

  • *
  • 403
  • +0/-0
Wildfire Server HowTo:
« Reply #12 on: July 14, 2006, 11:46:48 AM »
Quote from: "sebastian_sw"

3- cd /etc/rc6.d
4- ln -s ../init.d/wildfired $90wildfired

When reboot, the service never starts - any suggestions?


SMEServer starts in run level 7, so that command probably should be:
Code: [Select]
#cd /etc/rc7.d
#ln -s /etc/rc.d/init.d/wildfired S90wildfire

Note also that it should be a capital S in front of the symlink name NOT a $ .
Regards Lloyd

Offline william_syd

  • *****
  • 1,608
  • +0/-0
  • Nothing to see here.
    • http://www.magicwilly.info
Wildfire Server HowTo:
« Reply #13 on: July 14, 2006, 12:44:17 PM »
From the SME developer manual....

Make sure you have a script that takes start/stop commands.

I don't use wildfire but from the post I gather that the script is titled wildfired.

Copy wildfired from the wildfire/bin/extra directory to /etc/rc.d/init.d/

This will be your starting point.

Code: [Select]
/etc/rc.d/init.d/wildfired

Modify /etc/rc.d/init.d/wildfired as per the instructions at the start of the script. Disregard the following part of those instructions-

Code: [Select]
# This script should be copied into /etc/init.d and linked into
# your default runlevel directory.
# You can find your default runlevel directory by typing:
# grep default /etc/inittab
#
# Link to the directory like follows
# cd /etc/rc<num>.d
# ln -s ../init.d/wildfired $90wildfired
#


then we give SME control over it

Code: [Select]
ln -s /etc/rc.d/init.d/e-smith-service /etc/rc7.d/S90wildfired

we then need a database entry to determine if it should start or not

Code: [Select]
/sbin/e-smith/db configuration set wildfired service status enabled

then do the SME tango

Code: [Select]
/sbin/e-smith/signal-event console-save
/sbin/e-smith/signal-event post-upgrade


and finally reboot

Code: [Select]
/sbin/e-smith/signal-event reboot

See how that goes. I don't use it myself.
Regards,
William

IF I give advise.. It's only if it was me....

Offline jmarcosm

  • ***
  • 59
  • +0/-0
Wildfire Server HowTo:
« Reply #14 on: July 14, 2006, 04:06:55 PM »
I followed your instructions and @ when the system start, I can see service wilfire [ok] , but when i try to connect to the admin page, doesn´t work.

I observe when I start wilfire manually the following message:

Starting wildfire

no hup: se añade la salida a <<nohup.out>> (translation: the output is append  to <<nohup.out>>

If have to press the enter key to obtain again the prompt.
If I don´t press the enter key , wildfire never start!

What do you thinK?

Regards Marcos
...

Offline william_syd

  • *****
  • 1,608
  • +0/-0
  • Nothing to see here.
    • http://www.magicwilly.info
Wildfire Server HowTo:
« Reply #15 on: July 14, 2006, 05:13:22 PM »
Quote from: "jmarcosm"
I followed your instructions and @ when the system start, I can see service wilfire [ok] , but when i try to connect to the admin page, doesn´t work.

I observe when I start wilfire manually the following message:

Starting wildfire

no hup: se añade la salida a <<nohup.out>> (translation: the output is append  to <<nohup.out>>

If have to press the enter key to obtain again the prompt.
If I don´t press the enter key , wildfire never start!

What do you thinK?

Regards Marcos


Marcos,

I don't use Wildfire (yet).

Has it ever worked for you when started from

/opt/wildfire/bin/wildfire start

?
Regards,
William

IF I give advise.. It's only if it was me....

Offline jmarcosm

  • ***
  • 59
  • +0/-0
Wildfire Server HowTo:
« Reply #16 on: July 14, 2006, 10:04:41 PM »
I login as root , then I run from /opt/wildfire/bin/wildfire start, and the wildfire server works perfect. ! , if I reboot , even that I can see in the console "service wildfire start [ok]" , the server doesn't work.

Any clues?
...

Offline william_syd

  • *****
  • 1,608
  • +0/-0
  • Nothing to see here.
    • http://www.magicwilly.info
Wildfire Server HowTo:
« Reply #17 on: July 15, 2006, 06:21:53 AM »
I've had a play..

wildfire runs as the user you have logged in as  eg. root

wildfired attemps to run wildfire as user jive.

When run as user jive lots of java/database errors are generated.

To get wildfired to work I made a few changes...


Code: [Select]
#!/bin/sh

# wildfired
#
# chkconfig: 2345 20 80
# description: Used to start and stop the wildfire XMPP server
#
# Script used to start wildfire as daemon
# The script has currently been tested on Redhat Fedora Core 3,
# but should theoretically work on most UNIX like systems
#
# before running this script make sure $WILDFIRE_HOME/bin/wildfire is
# executable by the user you want to run wildfire as
# (chmod +x $WILDFIRE_HOME/bin/wildfire)
#
# This script should be copied into /etc/init.d and linked into
# your default runlevel directory.
# You can find your default runlevel directory by typing:
# grep default /etc/inittab
#
# Link to the directory like follows
# cd /etc/rc<num>.d
# ln -s ../init.d/wildfired $90wildfired
#

# Set this to tell this script where wildfire lives
# If this is not set the script will look for /opt/wildfire, then /usr/local/wildfire
#export WILDFIRE_HOME=

# If there is a different user you would like to run this script as,
# change the following line
#export WILDFIRE_USER=jive

# -----------------------------------------------------------------

# If a wildfire home variable has not been specified, try to determine it
#if [ ! $WILDFIRE_HOME ]; then
# if [ -d "/opt/wildfire" ]; then
# WILDFIRE_HOME="/opt/wildfire"
# elif [ -d "/usr/local/wildfire" ]; then
# WILDFIRE_HOME="/usr/local/wildfire"
# else
# echo "Could not find Wildfire installation under /opt or /usr/local"
# echo "Please specify the Wildfire installation location in environment variable WILDFIRE_HOME"
# exit 1
# fi
#fi


function execCommand() {
OLD_PWD=pwd
       cd /opt/wildfire/bin
# cd $WILDFIRE_HOME/bin
CMD="./wildfire $1"
        $CMD
# su -c "$CMD" $WILDFIRE_USER &
cd $OLD_PWD
}


start() {
execCommand "start"
}

stop() {
execCommand "stop"
}


case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage $0 {start|stop}"
exit 1
esac

exit 0


I've basically hardcoded the user as root and and the location of wildfire as /opt/wildfire/bin/ and commented out the bit where it tries to determine the wildfire home directory.

The

Code: [Select]
nohup: appending output to nohup.out'

message appears normal for the nohup command. The nohup.out file lives in opt/wildfire/bin and is empty.

All the above was done at the command line. I'll now try to get it to start at boot time.

Note also I have not connected a jabber client only just using the admin web page.

Log files are your friend.
Regards,
William

IF I give advise.. It's only if it was me....

Offline william_syd

  • *****
  • 1,608
  • +0/-0
  • Nothing to see here.
    • http://www.magicwilly.info
Wildfire Server HowTo:
« Reply #18 on: July 15, 2006, 06:30:43 AM »
One other thing..

I run SME in server only mode behind a Smoothwall firewall.

SME lives on the Orange net with a 192.168.2 subdomain.

My desktop lives on the Green net with a 192.168.1 subdomain.

For SME to allow access to the wildfire admin console I had to add my desktops IP to SME via the Server Manager 'Local Networks' page.

Hmm Hope I used the correct terms above. I'm new to all this.
Regards,
William

IF I give advise.. It's only if it was me....

Offline william_syd

  • *****
  • 1,608
  • +0/-0
  • Nothing to see here.
    • http://www.magicwilly.info
Wildfire Server HowTo:
« Reply #19 on: July 15, 2006, 09:52:59 AM »
I now appear to have it running at boot time.

Follow the steps outlined in my first post but use the modified wildfired.

I also modified wildfire. Look for a line starting with nohup. It is near the end.

Insert

Code: [Select]
>>/opt/wildfire/bin/nohup.out

at the end of the line but before the & .

To stop it starting at startup do this..
Code: [Select]
/sbin/e-smith/db configuration setprop wildfired service status disabled

To stop it manually
Code: [Select]
/etc/rc7.d/S90wildfired stop

To start it manually
Code: [Select]
/etc/rc7.d/S90wildfired start

See how all that goes.

Remember, it will be running as root.
Everything assumes it is installed in /opt/wildfire/

Get /opt/wildfire/bin/extra/wildfired working before making it autostart.

Check info.log located in /opt/wildfire/logs . If you don't see something similar to
Code: [Select]
2006.07.15 16:33:51 Started server (unencrypted) socket on port: 5269
2006.07.15 16:33:51 Started plain (unencrypted) socket on port: 5222
2006.07.15 16:33:54 Started SSL (encrypted) socket on port: 5223
2006.07.15 16:33:54 Publish-Subscribe domain: pubsub.192.168.2.10
2006.07.15 16:33:54 Multi User Chat domain: conference.192.168.2.10
2006.07.15 16:33:54 Wildfire 3.0.1 [Jul 15, 2006 4:33:54 PM]
2006.07.15 16:34:02 Admin console listening at:
  http://192.168.2.10:9090
  https://192.168.2.10:9091

it ain't going to work.
Regards,
William

IF I give advise.. It's only if it was me....

Offline billi

  • *
  • 46
  • +0/-0
    • http://applitec.net
Wildfire Server HowTo:
« Reply #20 on: July 16, 2006, 10:01:52 AM »
I too had the start up at a reboot problem. The script that starts wildfire does not allow  it to be run without $1 to be defined. Not being very good at shell scripting I googled the  for a solution and came across this site

http://www.stclair.k12.il.us/tech/meetings/wildfireinstall.htm

Is basically said to write a script file that contained the following.
______________________________
#!/bin/sh

/opt/wildfire/bin/wildfire start
_______________________________

It replaced the info in the /etc/rc.d/init.d/wildfired created as stated in ealier posts in this thread.
It starts the service as root but for now that will have to do

Offline william_syd

  • *****
  • 1,608
  • +0/-0
  • Nothing to see here.
    • http://www.magicwilly.info
Wildfire Server HowTo:
« Reply #21 on: July 16, 2006, 12:08:32 PM »
I too don't know mush about scripting. The little I do now comes from looking at other peoples script and reading documentation.

Docs for Init(start-up scripts) here..

Code: [Select]
/usr/share/doc/initscripts-7.93.24.EL

However that is for a stock linux distro. Your init script then has to be used as per the SME developer docs...

http://mirror.contribs.org/smeserver/contribs//gordonr/devguide/html/devguide.html#AEN2105

Basically you need a script that takes start/stop commands.

You then link it to /etc/rc.d/init.d/e-smith-service which will put the start command in at boot time.
Regards,
William

IF I give advise.. It's only if it was me....

Offline jmarcosm

  • ***
  • 59
  • +0/-0
Wildfire Server HowTo:
« Reply #22 on: July 17, 2006, 11:28:51 PM »
I´m not a SME or linux expert but I findout a couple of things:

1) I found some files inside the opt/wildfire/ .... directories with owner root even if I aready  executed the redhut -postinstali.sh script. I no remeber which file (plese search yourself). I guess this is the reason why wildfired doesn't run well with the user jive , and runs perfect with root.

2) I don´t know exactly how the sme start scrips works (S90wildfired) but if I run S90wildfired the script ask for (start|stop) . Looks like this script doesn´t "send" the command start to the wildfired script. If I run manualy the wildfired script ( wildfired start ) everything works. On the other hand if I check with the command /sbin/e-smith/db configuration getprop wildfire status , the answer is alway "enable" even if I stop the service with wildfired stop.
My humble opinion is that there is something wrong in the "connection" between S90wildfired and the script wildfired.

Any comments / clues?

Marcos
...

Offline william_syd

  • *****
  • 1,608
  • +0/-0
  • Nothing to see here.
    • http://www.magicwilly.info
Wildfire Server HowTo:
« Reply #23 on: July 18, 2006, 09:57:34 AM »
I'm currently rebuilding my SME and intend to put as little as possible on it. I'll probably only add ALSA sound, fetchmail (for multiple ISP's) and VMware server. Any additional stuff will go into a Centos 4.3 text based VM.

I can't really help with your problem except to read the SME documentation.

Regarding your points,

1. I think that redhat script is bad on a SME box. It uses 'adduser' from the command line to create a jive user. Maybe a SME guru can give more details.

2. Again, the developer docs will explain where the 'start' command will come from. A quote from the manual (slightly modified)..
Code: [Select]
If your package implements a server or daemon, you will probably want it to be started automatically when the system boots.

The SME Server boots in runlevel 7, so you can get an idea of the startup processes by listing the contents of /etc/rc.d/rc7.d.

These are similar to the init scripts you may be familiar with from other Linux systems, with one important differnce. Instead of pointing to scripts within /etc/rc.d/init.d, all of those init entries are links to /etc/rc.d/init.d/e-smith-service. This is a wrapper which checks the configuration database to see if the service is supposed to be running and if so, starts the service from /etc/rc.d/init.d/whatever.

So for example, you might have:

S90wildfired -> /etc/rc.d/init.d/e-smith-service

The e-smith-service script looks up the name it was invoked with (S90wildfired), drops the prefix (leaving wildfired), checks the configuration database for the "wildfired" service, then if it's supposed to run, does:

/etc/rc.d/init.d/wildfired start


Starting or stopping any service will not affect the database. It works the other way. The database will determine if e-smith-service is allowed to start the service at boot time.
Regards,
William

IF I give advise.. It's only if it was me....

Offline william_syd

  • *****
  • 1,608
  • +0/-0
  • Nothing to see here.
    • http://www.magicwilly.info
Wildfire Server HowTo:
« Reply #24 on: September 03, 2006, 07:55:17 AM »
I've just put a basic cut'npaste Wildfire how-to together here

http://no.longer.valid/phpwiki/index.php/How-To%20install%20Wildfire%20IM%20server

If you use it, let me know how it goes.
Regards,
William

IF I give advise.. It's only if it was me....

sebastian_sw

Wildfire Server HowTo:
« Reply #25 on: January 10, 2007, 01:30:06 AM »
Hi guys,

Im trying to install the wildfire on my SME7.0 and running with some problems regarding POP3 auth i assume.

This is what i did

1.# /opt/wildfire/bin/wildfire start
2. http://<your server>:9090 and set all the setup wizard with the embedded DB
3. Edit /opt/wildfire/conf/wildfire.xml from:

<-- <authorizedUsernames></authorizedUsernames> -->
To
<authorizedUsernames>admin</authorizedUsernames>

And added

<!-- Example POP3 Authentication-->
<provider>
<auth>
<className>org.jivesoftware.wildfire.auth.POP3AuthProvider</className>
</auth>
<user>
<className>org.jivesoftware.wildfire.user.POP3UserProvider</className>
</user>
</provider>
<pop3>
<host>My Host</host>
<domain>My Domain</domain>
<authRequiresDomain>false</authRequiresDomain>
<ssl>false</ssl>
</pop3>
<!-- End example POP3 Authentication-->

Now im able to log on to http://server:9090 with admin password without a problem.

BUT when i try to log users within the Jabber clients i get rejected.

The Jabber Clients (Pandion) where working finewith other SME Box.

These are my Wildfire Loggs when try to log a client:

2007.01.09 21:23:32 [org.jivesoftware.wildfire.auth.POP3AuthProvider.authenticate(POP3AuthProvider.java:153)]
javax.mail.AuthenticationFailedException: authorization failed
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:146)
at javax.mail.Service.connect(Service.java:275)
at org.jivesoftware.wildfire.auth.POP3AuthProvider.authenticate(POP3AuthProvider.java:149)
at org.jivesoftware.wildfire.auth.AuthFactory.authenticate(AuthFactory.java:156)
at org.jivesoftware.wildfire.net.SASLAuthentication.doPlainAuthentication(SASLAuthentication.java:339)
at org.jivesoftware.wildfire.net.SASLAuthentication.handle(SASLAuthentication.java:175)
at org.jivesoftware.wildfire.net.SocketReadingMode.authenticateClient(SocketReadingMode.java:117)
at org.jivesoftware.wildfire.net.BlockingReadingMode.readStream(BlockingReadingMode.java:136)
at org.jivesoftware.wildfire.net.BlockingReadingMode.run(BlockingReadingMode.java:62)
at org.jivesoftware.wildfire.net.SocketReader.run(SocketReader.java:123)
at java.lang.Thread.run(Unknown Source)


Any Clue?

Many Thanks
Seb.-