Buen día,

para echar a andar el ejabberd con mysql y dominios virtuales seguí
varias pautas que fui encontrando por Internet. Para poder ponerlo a
funcionar tuve que compilar el ejabberd con soporte para mysql.

Bueno coloco todos los pasos que seguí, ojalá te sirva el tutorial:


conexión ejabberd con mysql
######################################################

Tomado:

http://samueladam.net/2008/03/19/install-ejabberd-xmpp-server-mysql
http://support.process-one.net/doc/display/MESSENGER/Using+ejabberd+with
+MySQL+native+driver


0- Requerimientos para el soporte de mysql.

sudo aptitude install libncurses5-dev openssl libssl-dev libexpat1-dev
erlang

Puede ser que se necesite el compilador gcc y el make


1 - Descarga de código fuente, módulo nativo y esquema de base de datos
 
   (1)
http://www.process-one.net/downloads/ejabberd/2.0.0/ejabberd-2.0.0.tar.gz
   (2)
http://support.process-one.net/doc/download/attachments/415/mysql_beam.tar.gz?version=1
   (3) wget
http://svn.process-one.net/ejabberd/trunk/src/odbc/mysql.sql 

2-  Compilar código fuente(1):

    2.1 - Se descompacta el Código fuente(1) por ejemplo en /tmp

       cd /tmp/ejabberd-2.0.0/src/

       ./configure --enable-odbc && make

       sudo make install


       Se copian los .beam que vienen en el compactado(2)
para /var/lib/ejabberd/ebin/


3 - Creación de la BD e integración del esquema de mysql

3.1- Se crea la BD

        CREATE DATABASE ejabberd DEFAULT CHARACTER SET utf8 COLLATE
utf8_general_ci;
        
        GRANT ALL ON ejabberd.* TO "ejabberd"@"localhost" IDENTIFIED BY
"password";

        FLUSH PRIVILEGES;
  
3.2- Se integra el esquema de mysql propio del ejabberd(3)

        mysql -D ejabberd -p -u ejabberd < mysql.sql         
 

4- Se configura el ejabberd.cfg

SE pone el host

{hosts, ["mi.dominio"]}.

Se especifica la autenticación:


%%%   AUTHENTICATION
{auth_method, odbc}.

Se configura la entrada a la BD


%%%   DATABASE SETUP
{odbc_server, {mysql, "localhost", "ejabberd", "ejabberd", "password"}}.
{odbc_keepalive_interval, 3600}.


Se crea alguna lista de acceso

%%%   ACCESS CONTROL LISTS
{acl, admin, {user, "yourusername", "mi.dominio"}}.


Se habilita el módulo para archivar en odbc:

%%%   MODULES
{modules,
 [

  %% a few modules later ...
 
  {mod_archive_odbc, [{database_type, "mysql"},
                        {default_auto_save, true},
                        {enforce_default_auto_save, false},
                        {default_expire, infinity},
                        {enforce_min_expire, 0},
                        {enforce_max_expire, infinity},
                        {replication_expire, 31536000},
                        {session_duration, 1800},
                        {wipeout_interval, 86400}]},

       ......

 ]}.



5- Se echa a andar el ejabberd y a trabajar. Se puede acceder por la
web:

ejabberdctl start

ejabberdctl status

http://mi.dominio:5280/admin


hay que tener en cuenta los procesos porque a veces se marea:

ps aux | grep ejab

para tumbarlos con kill -9 <number del proceso>



6- si se quiere poner el ejabberd como demonio se debe hacer lo sgte:

Crear grupo y usuario ejabberd

sudo addgroup ejabberd
sudo adduser --ingroup ejabberd --disabled-password --disabled-login
--no-create-home ejabberd
sudo chown -R
ejabberd:ejabberd /sbin/ejabberdctl /var/lib/ejabberd /var/log/ejabberd


Se copia para /etc/init.d/ el script

#! /bin/sh
#
# ejabberd        Start/stop ejabberd server
#

EJABBERDCTL=/sbin/ejabberdctl
EJABBERDUSER=ejabberd

test -f $EJABBERDCTL || exit 0

case "$1" in
  start)
    echo "Starting ejabberd server"
    su $EJABBERDUSER -c "$EJABBERDCTL start"
    ;;
  stop)
    echo "Stopping ejabberd server"
    su $EJABBERDUSER -c "$EJABBERDCTL stop"
    ;;
  restart)
    echo "Restarting ejabberd server"
    su $EJABBERDUSER -c "$EJABBERDCTL restart"
    ;;
  *)
    echo "Usage: /etc/init.d/ejabberd {start|stop|restart}"
    exit 1
    ;;
esac

exit 0


y luego se colocan permisos y los niveles de ejecución

sudo chmod a+x ejabberd
sudo update-rc.d ejabberd defaults






_______________________________________________
Cancelar suscripción
https://listas.softwarelibre.cu/mailman/listinfo/linux-l
Buscar en el archivo
http://listas.softwarelibre.cu/buscar/linux-l

Responder a