esl / MongooseIM

MongooseIM is Erlang Solutions' robust, scalable and efficient XMPP server, aimed at large installations. Specifically designed for enterprise purposes, it is fault-tolerant and can utilise the resources of multiple clustered machines.
Other
1.67k stars 427 forks source link

How to Fresh Install MongooseIM on Ubuntu 16.04 Server, dependencies & how to easy install. #1510

Closed aaimaawebs closed 6 years ago

aaimaawebs commented 7 years ago

I just want to use MongooseIM for my college project, I actually not getting any documentation for Installing MongooseIM for fresh Ubuntu Server. In order to run everything flexible, what dependencies have to be installed prior to installing pre-built package available for Ubuntu.

Is this pre-built package comes everything even configuring database & install MongoDB itself? I'm just noob, I have to explore MongooseIM and don't actually knows about Erlang as well, installing it. I'll learn it, as I got succeed in installing IM. Is there any blog, documents for beginners instead of experts? Video Tutorial to get it done?

I would recommend community to make an easy-install script which takes care of everything which is required at a fresh server, it will configure every configuration required at that time.

fenek commented 7 years ago

Hi @aaimaawebs

I'm sorry we don't have a dedicated documentation for Ubuntu yet. :( We'll change that soon! Until then, can you please tell me how are you trying to install the package and what errors are you getting? The only dependencies (besides standard C library of course) are libncurses, libssl and libexpat, which should be already present in standard Ubuntu installation.

The package does not install (except for Erlang built-in database Mnesia) nor configure any additional databases (docs on this are here: http://mongooseim.readthedocs.io/en/latest/advanced-configuration/database-backends-configuration/).

MongooseIM does not support MongoDB as a backend. Most extensions can integrate with MySQL, PgSQL, ODBC and Riak. Additionally, session table can be stored in Redis and message archive can be stored in Cassandra.

aaimaawebs commented 7 years ago

What !!! MongooseIM does not support MongoDB as a backend?? Shocked to know that !! I was hoping, it supports NoSQL !! Oh, I have to configure DB earlier to install MongooseIM?

I wish, there are some docs or tutorials, getting started with MongooseIM !! It will help beginners, not everyone born elites!!

fenek commented 7 years ago

MongooseIM does support a NoSQL database - Riak.

You don't need to configure any external DB for majority of MongooseIM functionalities, as it will use internal Mnesia database by default. Only message archive won't work with Mnesia. It means that you only need to install the package, if you'd like to experiment with the server. Adjusting the configuration may be done later, when you get accustomed to it.

You may find a complete documentation here: http://mongooseim.readthedocs.io/en/latest/

The "Getting started" describes a process of installing MongooseIM from source but since you are using a package, you may skip it and go directly to http://mongooseim.readthedocs.io/en/latest/user-guide/Getting-started/#registering-a-user Instructions for Adium client can be applied to any other XMPP software, like Pidgin, Gajim, Psi etc. They are all pretty similar. They have their own tutorials as well for sure.

kzemek commented 7 years ago

MongooseIM does support a NoSQL database - Riak.

And Cassandra!

aaimaawebs commented 7 years ago

I wish MongoDB in the list as well. BTW, why not MongoDB is still not on yours list? I'm already using Openfire for my project, which is based on MySQL and believe me it's sucked. As I'm getting more user to chat app, I'm getting into more trouble.

Also, Let'me know why I should switch MongooseIM instead of Openfire. How it will help me with millions of users at a time, should not be an issue of connections.

Nyco commented 7 years ago

We don't know about Openfire's scalability, but we know for MongooseIM: http://tide.erlang-solutions.com/public

deadjdona commented 6 years ago

dependencies: apt-get install curl wget htop git make autoconf gcc g++ libexpat1 libexpat1-dev openssl libssl-dev

fenek commented 6 years ago

@aaimaawebs

Let me reassure you: well-configured MySQL is able to handle high volume of traffic. In fact, when something goes wrong it is MongoDB cluster that is more difficult to repair.

Maybe the problem is not in MySQL itself but rather with inefficient schema used by Openfire?

MongooseIM will help you handle millions of users with the power of Erlang VM (which works very well with that many processes) and the distributed architecture. You can find more information here: https://www.erlang-solutions.com/products/mongooseim.html

fenek commented 6 years ago

Closing due to inactivity. Please reopen if the issue is still valid.