Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
Social Networks The Internet Communications Debian

How To Build an Openfire Chat Server On Debian 5 108

Posted by kdawson
from the take-aim-first dept.
palegray.net writes "Inspired by a recent Ask Slashdot, I've written a step-by-step tutorial for setting up an Openfire server on Debian Linux, for those interested in running their own open source collaboration server. Aimed at those just getting started with collaboration software, the tutorial shows precisely how to get Openfire up and running quickly on a base Debian install, and offers a basic feature tour of the software's plugin and IM gateway functionality."
This discussion has been archived. No new comments can be posted.

How To Build an Openfire Chat Server On Debian 5

Comments Filter:
  • by Anonymous Coward on Friday April 10, 2009 @10:56AM (#27532603)

    These days you make me a VMWare image I can just pop-in and run.

    • by GMFTatsujin (239569) on Friday April 10, 2009 @11:25AM (#27533009) Homepage

      Sorry, that's out of my league. Do you have a how-to on using a vmware image?

    • Re: (Score:1, Redundant)

      Personally, I've never been able to get any virtualisation software to work. Can you give me a How-to on setting one up?

    • by jnetsurfer (637137) on Friday April 10, 2009 @11:56AM (#27533401) Homepage Journal
      I love Virtual Appliances. But HOWTOS are still necessary because I, for one, always question the security/authenticity of 3rd party VMware images. I use them to eval software and, if I like it, create my own appliance so I have full control and know there are no rootkits/backdoors installed...
      • You hit the nail right on the head. I do create VMware and Virtualbox images for various appliance setups, and I share them with friends who know me personally. However, I completely understand admins who wouldn't run something I created in their enterprise, as they have no real assurance that I haven't put something nasty in there (of course I haven't, but they're doing their job by asking questions like that).
    • by fm6 (162816)

      That's fine for a demo. I wouldn't want to run a chat server with hundreds of users that way.

      • That's fine for a demo. I wouldn't want to run a chat server with hundreds of users that way.

        Do you mean you wouldn't run a production server as a VM image or you wouldn't run it using a VM image you did not create yourself? If the former, you should know a lot of servers are moving to running VMs for ease of: scaling, hardware sharing, backups, hardware migration, and cheaper "in the cloud" hosting. Why wouldn't you want to run your production server in a VMWare VM?

        • by fm6 (162816)

          Do you mean you wouldn't run a production server as a VM image or you wouldn't run it using a VM image you did not create yourself?

          The latter. Recall that TPP thought that VM appliances made installation how-tos obsolete. That was the idea I was pooh-poohing.

          As it happens, I'm the documentation lead for a server [sun.com] for which virtualization is very important. A very common use case for this system is "consolidation": you take a rack full of low-end servers each handling a separate application, and convert them all into a single machine running each application in a separate VM. Savings in power and real-estate cost can be enormous. VMware

          • This is something that I'm not understanding about virtualization.

            If you're running 30 different services on 30 different machines, wouldn't it make as much sense to consolidate them to 15 services on each of two modern machines, instead of needing to maintain 30 different virtual machines? That way, you're also getting native performance without the overhead of virtualization.

            On the other hand, in cases where someone is hosting thousands of the same application on individual servers, it makes a lot mo

            • If you're running 30 different services on 30 different machines, wouldn't it make as much sense to consolidate them to 15 services on each of two modern machines, instead of needing to maintain 30 different virtual machines?

              That's something I've always wondered as well. With a virtualised environment, you'd have to keep up the security patches for 30 different environments (among other tasks you'd need to replicate 30 times). Modern OSes *are* capable of running more than one process - stick em all on the

              • Security is a bit part of the equation. If one service gets exploited, you don't lose your whole production environment to some kid in Ukraine who got lucky with a zero-day exploit.

                Security patching can be (and usually is) largely automated, with mail going to folks who monitor patch cycles on the network.
            • by fm6 (162816)

              If you're running 30 different services on 30 different machines, wouldn't it make as much sense to consolidate them to 15 services on each of two modern machines, instead of needing to maintain 30 different virtual machines?

              I asked pretty much the same question when I started working with this hardware.

              In many cases, you could put all 30 in one machine. The machine I described is advertised as supporting 80 virtual machines at once. (This number will go up drastically when the Istanbul [youtube.com]/Hypertransport 3 version is available.) If it can support 80 VMs, it can certainly support 30 services!

              Thing is, IT people don't like to put 30 services on one system. They don't even like to put 2. When a system goes down, they don't want more

    • by rufus t firefly (35399) on Friday April 10, 2009 @01:29PM (#27534485) Homepage
      For the lazy people here, try this one: http://www.vmware.com/appliances/directory/64572 [vmware.com]
  • Something this basic requires a posting on the front of Slashdot? Great choice, kdawson!

    I'll be sure to try and get my article about setting Openfire up on FreeBSD here soon..........

    • by geekmux (1040042) on Friday April 10, 2009 @11:19AM (#27532913)

      Something this basic requires a posting on the front of Slashdot? Great choice, kdawson!

      I'll be sure to try and get my article about setting Openfire up on FreeBSD here soon..........

      Ah, feel free to excuse yourself at anytime if you feel the rest of us are not worthy of your all-knowing power.

      He was merely posting as a response to several queries he had received for the information, and since it's not quite as simple as apt-get to do this, along with the fact that FOSS collaboration tools are gaining popularity in this economy of ever-shrinking budgets, I find it rather relevant.

      • I don't like to add a "me too" but not just 5 days ago I added an "ejabberd" service. Found it to be fairly complicated and problematic. The documentation presumes one would be all knowing on the subject. Transports were complicated, modules assumed I would read the source code to make them work, the included readme files were a little bit circular and devoid of actual configuration information. And the init script that was provided completely failed to do anything at all. It took a few days messing about t

        • You just put a big smile on my face. Your post is the reason I write stuff like this, in spite of those who seem all too willing to decry such efforts. Thanks :).
    • This was a direct response to an Ask Slashdot article a few days ago. The community seemed more than interested to offer tips for what software they advised using, but nobody seemed to offer any concrete installation instructions. The Openfire community documentation is great, but kinda hard to wrap your brain around for Debian installs (mostly because it doesn't cover prerequisites and some other points).
  • very odd (Score:3, Interesting)

    by johnjones (14274) on Friday April 10, 2009 @10:56AM (#27532613) Homepage Journal

    I thought that openfire was a jabber server so when the article states

    "XMPP is also quite stable, at least for my purposes."

    I get really worried about how much the author actually knows about the server...

    realistically I would like to see some mobile jabber clients for things like blackberry

    if anyone knows a free beer version of a jabber client for blackberry let me know
    (I am not interested in webapp's since I like my privacy)

    regards

    John Jones

       

    • Re:very odd (Score:5, Informative)

      by ianfs (236640) <ian@NOsPAm.smallswope.com> on Friday April 10, 2009 @11:07AM (#27532775) Homepage

      FYI - XMPP is the Jabber protocol.

      • Re:very odd (Score:4, Insightful)

        by fuzzyfuzzyfungus (1223518) on Friday April 10, 2009 @11:11AM (#27532815) Journal
        I think that that was grandparent's point: To see somebody write an article on setting up a jabber server, then casually note, near the end, that XMPP seems to work OK for him, as though it were some sort of esoteric peripheral configuration option, tends to cause one's eyebrow to start migrating up the forehead.
        • See my reply to the GP here [slashdot.org]. Thanks :).
          • Fair enough. I'm sorry about the misinterpretation.

            I wonder if, perhaps, that is an artefact of the fact that XMPP is, strictly speaking, derived from jabber, rather than just another name for it. Possibly there are some differences between earlier "jabber" implementations and later "XMPP, informally know as jabber" implementations.
            • That's okay, I went ahead and put a notation in the tutorial to prevent further confusion on the matter :).
            • by Wodin (33658)

              Either that, or it could just mean that Openfire is more focussed on the c2s part of XMPP and what is experimental is the s2s functionality. i.e. the "XMPP" they are calling experimental is under "Experimental Gateways" in the configuration.

    • by janeuner (815461)

      if anyone knows a free beer version of a jabber client for blackberry let me know

      If you had a WinMo or Symbian phone, I could recommend a half dozen different apps. CrapBerry apps? Not so much.

    • Try the Google Talk client (Google Talk is Jabber/XMPP), I don't know if you can connect to non-google servers, but with federation you should be able to talk to people on other servers anyway. Disclaimer: I don't actually have a BlackBerry, but I've heard the client is good.
    • Once again, that section is referring to the inter-server communications.

      The author is saying that even though Openfire lists XMPP server to server communication as experimental it has worked fine for him.
    • I get really worried about how much the author actually knows about the server...

      Hi, I'm the guy that wrote the article. You'll note in the screenshots that under the gateway settings section XMPP is lited as "experimental." I thought it was pretty odd, too. That's why I specifically mentioned the fact that it worked great for me.

  • by Radhruin (875377) on Friday April 10, 2009 @11:03AM (#27532699)

    I work at a small business with 10 or so employees. Recently, people have been getting more and more used to Instant Messaging as a way to provide non-intrusive information that is more instant than email. Lately we've even taken to setting up chat rooms to bring together three or four stakeholders to have a short conversation about something.

    Now, I know XMPP and OpenFire support Multi-User chats, but what about more robust conferencing? The other day, I wanted to send a screenshot of an application I was working on to everyone in the MU chat. From what I could tell, this is not possible in OpenFire, and perhaps not supported in XMPP. Also, it would be great to collaborate on or point to a file that exists in our shared filesystem, which I would think is a fairly common use case, but I could not find a way to do that either.

    So, I suppose what I'm wondering is, are there any solutions similar to Openfire but provide more robust conferencing? It'd be killer to be able to toss revisions around and maybe do some whiteboarding or something...

    And if not, who wants to help me write an XEP that will address these use cases? ;)

    • Re: (Score:3, Informative)

      by jledhead (931970)
      openfire whiteboard - http://www.version2software.com/blog/2007/03/whiteboard-sparkplug-released.html [version2software.com] openfire more robust collaboration - maybe this http://www.igniterealtime.org/community/docs/DOC-1518 [igniterealtime.org] we use openfire+spark with SSO
    • Re: (Score:3, Insightful)

      by Anonymous Coward

      "would be great to collaborate on or point to a file"

      It sounds like you should use a URL.

      • Not if you're in a locked down enterprise that doesn't allow you to just willy-nilly fire up a web server.
        • Every enterprise that I know of has a web browser installed.
          Every web browser that I know of accepts file:// URLs.

          Alternatively, if the OP is in a Windows environment, he can pass around SMB URLs to all participants.

    • It's actually really easy to code. I wrote a multicast file transfer application for distributing games at LAN parties, and it only took me a day or so of perl hacking.

    • Re: (Score:2, Informative)

      by gduquette (173720)

      "The other day, I wanted to send a screenshot of an application I was working on to everyone in the MU chat"

      The Spark client that the same company offers has the ability to send screen-shots, actually you grab any part of the screen you want and send it. That is the one feature that is used a lot where I work.

      • Re: (Score:3, Interesting)

        by Radhruin (875377)
        Right, but unless I'm mistaken, there is no way to send a screenshot to all of the people in a multi-user chat without initiating individual file transfers. Collaboration between two people seems fairly well supported, especially when you include the above-mentioned whiteboard application, but nothing I've found works when you want to collaborate among three or more people.
    • As a potential end user for a small business, Open Fire sounds good. I had never heard (or indeed thought) of such an application. The tag "openfiresucks" concerns me, however.

      I would not be the one to install the server nor would I welcome the need for much maintenance or support. Can anyone tell me the pros and cons?

    • What prevented you from passing around a file:// or CIFS (\\server\sharename) URL to the participants?

    • by Pastis (145655)

      You could use an extra service, such as Dropbox, and place your files there, for them to download them via the $service web interface.

      Not completely user friendly though.

  • What's openfire? (Score:2, Insightful)

    by zx-15 (926808)

    I did RTFA, it does explain how to install it, but besides that what does openfire actually do? Jabber support, graphs showing who is online, what else?

    • I did RTFA, it does explain how to install it, but besides that what does openfire actually do? Jabber support, graphs showing who is online, what else?

      It's a Jabber server. What else do you expect it to do? Your comment is like saying you know Apache supports serving Web pages, but what else does it do?

  • Finally... (Score:5, Insightful)

    by smooth wombat (796938) on Friday April 10, 2009 @11:14AM (#27532849) Homepage Journal

    someone who knows how to document a procedure. I don't use linux but even I could follow the instructions.

    This is one of the key reasons for a slow adoption rate among interested users. Instead of getting the usual, "RTFM newb!", if there was more explicit documentation such as this that people could be pointed to, people would not be so readily turned off.

    And no, MAN pages do not count as documentation. Some people (dare I say most?) need step-by-step instructions on how to do something the first time so they are sure they are doing things correctly. Afterwards, they're free to tinker til their hearts delight.

    *gives a mold-friendly thumbs up*

    • Re:Finally... (Score:4, Insightful)

      by Samschnooks (1415697) on Friday April 10, 2009 @11:28AM (#27533037)

      And no, MAN pages do not count as documentation. Some people (dare I say most?) need step-by-step instructions on how to do something the first time so they are sure they are doing things correctly. Afterwards, they're free to tinker til their hearts delight.

      *gives a mold-friendly thumbs up*

      Damn straight about the Man Pages! Man pages are for reference for experienced users. In other words, for those who are wondering, "What are the parameters again?" Why?

      You see, when you read the man pages, parameters have all these "[]" and "-" and other things. I've occasionally come across programs that had "optional" parameters in their man pages that ended being required.

      • Damn straight about the Man Pages! Man pages are for reference for experienced users. In other words, for those who are wondering, "What are the parameters again?"

        That is entirely dependent on the OS. Here's a snippet from the "zpool" man page as written by Sun and distributed with FreeBSD:

        EXAMPLES
        Example 1 Creating a RAID-Z Storage Pool
        Example 2 Creating a Mirrored Storage Pool
        Example 3 Creating a ZFS Storage Pool by Using Slices
        Example 4 Creating a ZFS Storage Pool by Using Files
        Example 5 Adding a Mirror to a ZFS Storage Pool
        Example 6 Listing Available ZFS Storage Pools
        Example 7 Destroying a ZFS Storage Pool
        Example 8 Exporting a ZFS Storag

    • Re:Finally... (Score:5, Insightful)

      by value_added (719364) on Friday April 10, 2009 @11:55AM (#27533397)

      And no, MAN pages do not count as documentation.

      I appreciate the general sentiments in your post, but the above is simply not correct. Putting aside issues of writing style, quality, completeness, etc., along with the abomination called info pages, manpages ARE documentation.

      What you are looking for or expecting is a Tutorial. And most likely one written in a friendly style that includes a breadth of related topics (like "How do I install this thing?" or "What's a protocol?" or "How does XMMP work?". For that, I'd suggest a Google search. Programmers are expected to document their work, but it's unreasonable to expect them to write Tutorials.

      To put things in a reverse perspective, the frustrating thing for non-Windows users is that on Windows, almost nothing is documented. Lots recursive clicky links that pop up HowTo's with explanatory or descriptive verbage, but no real documentation.

      • the above is simply not correct. Putting aside issues of writing style, quality, completeness, etc., along with the abomination called info pages, manpages ARE documentation

        You are putting aside things that cannot be put aside. Far too may Linux man pages are brief pointers to the info info, and far too often the info pages merely rehash the inadequate content of the man pages.

        To qualify as documentation, a man page must include sufficient detail to act as a reference, not merely a command line summary.

    • This is one of the issues that pisses me off as a former open source programmer who gave up on it because of user whining.

      When you're willing to spare the time to help a project write it or pay someone in that project to write it, then you can complain about lack of documentation. A programmer is a busy person - they usually have a full-time job to pay the bills (assuming their full-time job isn't to work on the project, in which case, you are completely justified in castigating them for a lack of document

      • Re: (Score:1, Insightful)

        by Anonymous Coward

        "What I'm saying is that most programmers write the documentation after they're done coding"

        They are bad programmers then. Full stop.

        • I'm talking about the manual pages, not the comments in the code. If a programmer waits to document the code that they are writing, then you are correct, they are bad programmers.

          However, waiting to write a manpage, tutorial, or quickstart is something that can be done after the program works properly. Otherwise you've got a manpage, tutorial, or quickstart that will have to be constantly updated as you make changes to the program.

          I've written Perl scripts that were well commented and became the backbone

    • Re:Finally... (Score:5, Interesting)

      by fm6 (162816) on Friday April 10, 2009 @12:36PM (#27533907) Homepage Journal

      Man pages are (or are meant to be) reference documentation. Reference docs are important, but yeah, so are procedural docs.

      Thing is, they're really hard to write well. I earn an absurd amount of money because I'm good at writing them. Most developers are not. Even the ones who are good writers (a distinct minority) tend to be good at academic-style writing, where you assume a lot of sophistication on the part of your reader. Such writers have no patience for the nit-picky detail good procedural docs need.

      (I once wrote software release notes which included an explanation of how to unzip an archive. The developers, who happened to be pretty brilliant computer scientists doing cutting-edge work, thought their audience was "smarter" than that and made me take it out. Wackiness ensued.)

      If you want good procedural documentation, you have to put a lot of work into creating it. Most open source projects don't have the extra bandwidth, and even if they do, they don't have people with the right skill set. That boils down to fluency with language and and stubborn patience when describing boring details. Not a big skill set, but one very few people seem to have.

      • I earn an absurd amount of money because I'm good at writing them.

        Your company hiring? Part of my job is doing exactly what the author of this posting does (and apparently you). Document, step-by-step, how to do something. I'm writing for people who are supposed to know this stuff already yet I still provide screenshots and exact steps (Click Next, Click Next, Click Next, Click OK) so there is no misunderstanding or confusion as to what needs to be done.

        The only time things don't work out as ex
      • I hate those documents, where someone rambles on for 10 pages, about things like "to move your mouse, put your hand on the mouse... you know, that thing on the side of your keyboard. you have to push it. then look at the flat surface in front of you. do you see that little arrow on it. no not that on the right border. that is the scroll bar..." and so on.

        The point that apparently not a single writer of documentation (or software for that matter) gets, is that you can't write in one level of detail, for all

        • by fm6 (162816)

          I hate those documents, where someone rambles on for 10 pages, about things like "to move your mouse, put your hand on the mouse... you know, that thing on the side of your keyboard. you have to push it. then look at the flat surface in front of you. do you see that little arrow on it. no not that on the right border. that is the scroll bar..." and so on.

          So do I. Unfortunately, the writing style you describe is all too common. I don't use it.

          I mostly write for really for fairly technical users, so I can get away with assuming that my readers know how to use a mouse and interact with a GUI. But even if I couldn't, I have techniques for conveying the trivia to naive users without driving the advanced users insane.

          It's not that hard to write newbie instructions in such a way that the advanced users can easily skip over it. You put in a separate part of the doc

    • Um...

      A quick google of "linux howto" would take you to this:

      http://tldp.org/ [tldp.org]

      Not quite sure what is so difficult about those. Many of the things I now do as part of a career I learned from that site.

    • I think you traverse the wrong corners of internet, cause my impression is that most people are very helpful, especially to newbies. I've written lots of question on a number of different forums on the net and have never been brushed off.

      OTOH, if you try to ask a question to a mailing list, you really need to take some time to understand the tone of the conversation there before posting anything. Try asking how to setup your webcam on the linux kernel mailing list....

      BTW; HowtoForge-linux [howtoforge.com] is the place
    • Man pages are the reference.
      Every Software has (or should have) a reference documentation, and a guide.
      The short are called "HOWTO"s in linux. And the guides are located at tldp.org.
      When they mean RTFM, they usually mean that you should read the guide at this site, or something similar (like the KDE help for KDE), and if that isn't enough, read the reference.

      If this does not solve it, you still can write a mail to the developers, or if this is not possible, ask in a forum or irc chat.

  • I see that Google Talk is still experimental and tagged as unstable. Is this because Google Talk is still as most Google products, in a "perpetual" beta [google.com]?

    • The article is referring to the connector that allows your server to talk to the Google Talk server to pass messages.
      My guess is that it's unstable because Google Talk uses some non-standard options when talking XMPP.
      • by rabbit994 (686936)

        GoogleTalk server uses XMPP standards to communicate. Only time I've seen Server to Server messages not function properly with GoogleTalk is when you do not have proper SRV records set for your domain.

  • Since we are talking XMPP/Jabber, I would be interested to see the User Gaming [xmpp.org] specification implemented by XMPP messengers. This would make a nice open cross-platform alternative to XFire and the likes.

    I noticed someone elsewhere suggested implementing this and then grafting a XFire compatibility layer around it, so that people could migrate to the open platform.

    Is this something that would interest any /.ers?

    • by skyride (1436439)
      Greatly. Although I think steam has already made most of the features of xfire entirely obsolete. If it implemented something like a ventrilo style server based chat system it would be fantastic and an instant win.
  • TFA states, "[openfire is] an extremely capable collaboration system [...] able to do much more than simple chat". I use Openfire, and am not aware of it's collaboration system. Can anyone explain? SInce TFA doesn't seem to...
    • Re: (Score:1, Insightful)

      by Anonymous Coward

      Jive software has 'collaboration' tools. They all suck, but they have them.

      "Jive Software has always envisioned one world, in which everyoneâ"employees, customers, partners, prospectsâ"has a voice. We've strived to eliminate the top-down, outbound, one-way communication that dominates most enterprises and makes work harder than it needs to be."

      And that is why they make closed source software!! ... wait ...

      • LOL. Got it, thanks for clarification! FWIW I really like Openfire. Except for the memory footprint but that's due to its Java implementation...
  • http://www.igniterealtime.org/issues/browse/JM-1212 [igniterealtime.org]

    This bit me last year, and it's apparently still not fixed. :(

  • Hak5 http://hak5.org/ [hak5.org] just did a segment this week about this. Informative, entertaining, and not OS specific.
  • Why don't you install OpenJDK instead Sun's proprietary Java implementation? Is there a technical reason for this choice?

    • Re: (Score:2, Informative)

      by lgbr (700550)
      Sadly, Openfire did have some issues when I used with icedtea6. The best example I can think of is the MSN transport. MSN simply wont connect because of the security algorithm it uses. This is caused by icedtea6 missing that algorithm which Sun's JDK has.
      • Sadly, Openfire did have some issues when I used with icedtea6. The best example I can think of is the MSN transport. MSN simply wont connect because of the security algorithm it uses. This is caused by icedtea6 missing that algorithm which Sun's JDK has.

        Hmm, have you tried it with Debian's openjdk-6-jre package? I think the Sun security provider was opened quite some time ago.

        Do you remember which algorithm causes the trouble? This is really a bit odd because even the Sun-derived JDKs (like those from IB

        • by lgbr (700550)

          It actually seems to be a parameter issue. Here is the log output: http://pastebin.com/f6a134c54 [pastebin.com]

          This is gentoo's icedtea6:
          IcedTea6 1.3.1 (Gentoo) Runtime Environment (build 1.6.0_0-b12) OpenJDK Client VM (build 10.0-b19, mixed mode)

    • Re: (Score:3, Informative)

      by palegray.net (1195047)
      As other posters have noted, I encountered issues with OpenJDK while I was writing the first draft of the tutorial. I'll probably go back and try it again, communicating the precise issues I ran across to the Openfire project. Hopefully they (or me, if I can find the time) can get the issues resolved, as I would have greatly preferred using a JVM in the "free" repositories.
  • I was surprised not to find it when I did an "aptitude search openfire" after seeing a few people mention it in response to the ask slashdot. (My jabberd2 setup works well enough for my company anyway - I was just curious.)
    This howto says it is GPL, then says to install prerequisites such as sun java from "non-free" and then download a .deb file to install. Why wouldn't it simply be added to the debian repo so installation is as simple as "aptitude install openfire"? Any idea if the company behind it ha
    • And shouldn't this howto be put on tldp.org? or are people more interested in making ad revenue these days than helping contribute back to the linux community?

      Wow, dude. Way to be appreciative of others' work. As a point of fact, I have every intention of contributing this documentation to TLDP. I guess it's a crime to post it to my own site first, for own community to enjoy. When you write your own documentation, you'll be more than free to determine where it goes and when. Until then, how about losing the attitude?

  • For those more "visual" learners...

    http://www.hak5.org/

  • The easiest solution for setting up your own jabber server is to sign up for Google Apps with your domain (http://www.google.com/a/) activate talk and then you can connect with any Jabber client to the google servers, eg. with Kopete: http://www.google.com/support/talk/bin/answer.py?hl=en&answer=57557 [google.com]

    You even have the option to limit communications within your own domain or to allow users to chat with other users outside of your domain.

"Lead us in a few words of silent prayer." -- Bill Peterson, former Houston Oiler football coach

Working...