Estava eu procurando uma solução para envio de mensagens via whattsapp, software bastante usando hoje, e utilizar ele para notificações do nagios.

Encontrei um projeto chamado yowsup. Sua instalação e configuração é super simples como segue abaixo:

1 – Vamos efetuar o download do software yowsup em https://github.com/tgalal/yowsup/archive/master.zip

2 – Instalaremos agora as dependências do Debian para o yowsup funcionar corretamente

aptitude install python python-argparse python-dateutil

3 – Vamos copiar o yowsup-master.zip e descompactar

unzip yowsup-master.zip

4 – Configurando o yowsup:

cd yowsup-master/src
chmod +x yowsup-cli
cp config.example whattsapp.config

5 – Editar o whattsapp.config para configurar o número de telefone:

cc=55 #Brasil coloca 55
phone=559587231122 #Código + DDD + Numero de telefone
id=0000000000 #Deixa assim
password=MDAwMDAwMDAwMA== # Deixa assim

6 – Rodando comando para receber o número de registro no número de telefone:

./yowsup-cli -r sms -c whattsapp.config

Você irá receber o retorno:

status: sent
retry_after: 3605
length: 6
method: sms

Neste momento verifique a chegada de um sms no telefone.

7 – Agora iremos ativar o registro:

./yowsup-cli -R (CÓDIGO RECEBIDO) -c whattsapp.config
Exemplo:
./yowsup-cli -R 872-092 -c whattsapp.config

Irá receber o retorno algo do tipo:

status: ok
kind: free
pw: aGGVSOGy6+OsMl0Ctz5nAc5tvO0=
price: US$0.99
price_expiration: 1400041960
currency: USD
cost: 0.99
login: 559587231122
type: existing
expiration: 1428155655

8 – Será necessário editar o arquivo whattsapp.config e colocar na linha password= o valor da linha pw: aGGVSOGy6+OsMl0Ctz5nAc5tvO0=

Pronto! yowsup instalado e configurado. Para enviar mensagem basta usar o comando abaixo:

./yowsup-cli -s 559582332211 "Teste de Whattsapp" -w -c whattsapp.config

É possível também você ler as mensagens que alguém lhe enviar utilizando o comando:

./yowsup-cli -w -c whattsapp.config -l -a

Colocado em Debian, Linux.
3 Comentários.

Precisamos instalar o mysql para utilização pelo nagiosql

aptitude install mysql-server
/usr/bin/mysqladmin -u root password 'SENHADOSEUMYSQL'

Apache para vizualização do nagiosql

aptitude install apache2 php5 php5-mysql

Editar o arquivo /etc/php5/apache2/php.ini a linha:

date.timezone = America/Sao_Paulo

Reiniciando o apache:

/etc/init.d/apache2 restart

Agora vamos instalar o nagios server:

aptitude install nagios3

Vamos baixar o nagiosql: http://www.nagiosql.org/files/category/2-download-release.html

A versão atual no dia que fiz este tutorial é a 3.2.0

Vamos editar as configurações do nagios no arquivo /etc/nagios3/nagios.cfg

Alterar as linhas:

command_file=/etc/nagios3/spool/nagios.cmd
check_result_path=/etc/nagios3/spool/checkresults
lock_file=/etc/nagios3/spool/nagios3.pid
check_external_commands=1

Comentar as linhas:

# cfg_file=/etc/nagios3/commands.cfg
# cfg_dir=/etc/nagios-plugins/config
# cfg_file=/etc/nagios3/objects/commands.cfg
# cfg_file=/etc/nagios3/objects/contacts.cfg
# cfg_file=/etc/nagios3/objects/timeperiods.cfg
# cfg_file=/etc/nagios3/objects/templates.cfg
# cfg_dir=/etc/nagios3/conf.d

Inserir as linhas

## Timeperiods
cfg_file=/etc/nagiosql/timeperiods.cfg
## Commands
cfg_file=/etc/nagiosql/commands.cfg
## Contacts
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacttemplates.cfg
## Hosts
cfg_dir=/etc/nagiosql/hosts
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
## Services
cfg_dir=/etc/nagiosql/services
cfg_file=/etc/nagiosql/servicetemplates.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfg
cfg_file=/etc/nagiosql/serviceescalations.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg

Vamos agora descompactar o nagiosql:

tar zxvf nagiosql_320.tar.gz

Criando diretórios e outras alterações para perfeito funcionamento do nagiosql:

mkdir -p /etc/nagiosql/{hosts,services,backup/{hosts,services}}
chmod -R 6755 /etc/nagiosql/
chown -R www-data.nagios /etc/nagiosql/
chgrp www-data /etc/nagios3/
chgrp www-data /etc/nagios3/nagios.cfg
chgrp www-data /etc/nagios3/cgi.cfg
chgrp www-data /etc/nagios3/resource.cfg
chmod 775 /etc/nagios3/
chmod 664 /etc/nagios3/nagios.cfg
chmod 664 /etc/nagios3/cgi.cfg
chmod 664 /etc/nagios3/resource.cfg
chown nagios.www-data -R /usr/sbin/nagios3
chown www-data.nagios -R /etc/nagiosql/backup/
chmod 777 /usr/sbin/nagios3
chmod 777 /etc/nagios3/resource.cfg
mkdir -p /etc/nagios3/spool/checkresults
chown -R www-data:nagios /etc/nagios3/spool/ -R
chmod -R 775 /etc/nagios3/spool/
cd /etc/nagiosql/
ln -s /usr/sbin/nagios3
cp -R /root/nagiosql32/ /var/www/nagiosql/
chmod 777 /var/www/nagiosql/config/

Agora iremos instalar o nagiosql via interface web:

http://IPDOSERVIDOR/nagiosql/

Captura de Tela 2014-04-26 às 19.05.17

Captura de Tela 2014-04-26 às 19.05.52

Captura de Tela 2014-04-26 às 19.07.25

Captura de Tela 2014-04-26 às 19.10.45

Após a instalação remover o diretório:

rm -rf /var/www/nagiosql/install/

Aconselho editar o /etc/init.d/nagios3 adicionando as duas primeiras linhas abaixo:

chown -R www-data:nagios /etc/nagios3/spool/ -R
chmod -R 775 /etc/nagios3/spool/
return $ret
}

stop () {

Colocado em Debian, Nagios, Nagiosql.
Comente!.

Utilizei neste tutorial:

Máquina com Debian Linux 7.1 Wheezy
Modem USB Huawei e220
Chip SMS da operadora vivo

huaweie220

Vamos instalar inicialmente o smstools que será a “ponte” entre o modem usb e o playsms que será o sistema utilizado para enviar sms.

aptitude install smstools

Após o smstools instalado vamos configurar o arquivo /etc/smsd.conf:

Altere as linhas:

devices = HUAWEI
loglevel = 4

Adicione no final do arquivo

[HUAWEI]
init = AT
device = /dev/ttyUSB0
incoming = yes
pin = 0000
report = yes
memory_start = 0

Reinicie o serviço:

/etc/init.d/smstools restart

Com o smstools devidamente instalado e configurado vamos instalar o playsms.

Vamos fazer download no site abaixo. Hoje 10/09/2013 a última versão do repositório é a 0.9.9.1

http://sourceforge.net/projects/playsms/

Vamos precisar instalar os pacotes necessários ao playsms:

aptitude install apache2 php5 php5-mysql libapache2-mod-php5
/etc/init.d/apache2 restart

Instalando:

tar -zxf playsms-0.9.9.1.tar.gz -C /usr/local/src
mkdir -p /var/www/playsms /var/spool/playsms /var/log/playsms /var/lib/playsms
chown -R www-data /var/www/playsms /var/spool/playsms /var/log/playsms /var/lib/playsms
cp -rR /usr/local/src/playsms-0.9.9.1/web/* /var/www/playsms
chown -R www-data /var/www/playsms

Configurando a base de dados:

aptitude install mysql-server
mysqladmin -u root -p create playsms
mysql -u root -p playsms < /usr/local/src/playsms-0.9.9.1/db/playsms.sql

Configurando o playsms:

cp /var/www/playsms/config-dist.php /var/www/playsms/config.php

No arquivo /var/www/playsms/config.php alterar as linhas:

$core_config['db']['host'] = 'localhost'; // database host/server
$core_config['db']['port'] = '3306'; // database port
$core_config['db']['user'] = 'root'; // database username
$core_config['db']['pass'] = 'SENHADOMYSQL'; // database password
$core_config['db']['name'] = 'playsms'; // database name
$apps_path['logs'] = '/var/log/playsms/';

Configurando serviço e inicialização do playsms:

mkdir -p /etc/default /usr/local/bin
cp /usr/local/src/playsms-0.9.9.1/daemon/linux/etc/playsms /etc/default/
cp /usr/local/src/playsms-0.9.9.1/daemon/linux/bin/* /usr/local/bin/
cp /usr/local/src/playsms-0.9.9.1/daemon/linux/etc/playsms.init-ubuntu /etc/init.d/playsms
echo "/etc/init.d/playsms start" >> /etc/init.d/rc.local
/etc/init.d/playsms start

Agora basta acessa o playsms através de um navegador utilizando o endereço http://IPDOSERVIDOR/playsms/

Login: admin
Senha: admin

Acesse aqui o Tutorial

Somente as versões do samba acima da 3.3 conseguem permitir o ingresso de máquinas com Windows 7 no domínio. A opção que resta é atualizar a versão do samba.

Procedimento realizado no Debian Lenny

Antes de fazer a atualização faça um backup de segurança da pasta “/etc/samba” e “/var/lib/samba” e vamos a atualização.

Primeiro vamos editar o sources.list para adicionar o repositório da ultima versão do samba que é a 3.5.6.

# vim /etc/apt/sources.list

e no final do arquivo adicione o repositório :

deb http://backports.debian.org/debian-backports lenny-backports main contrib non-free

Salve e saia do arquivo, e vamos atualizar.

# apt-get update

Não se esqueça em hipótese alguma de fazer o backup.

Remova o samba instalado atualmente por completo.

# /etc/init.d/samba stop
# apt-get remove samba-common

Com a versão antiga removida vamos instalar a nova

# apt-get -t lenny-backports install samba

E necessário instalar um pacote adicional que é o que faz as opções do samba como testparm, smbpasswd e net.

# apt-get -t lenny-backports install samba-common-bin

Faça uma copia do /etc/samba/ e /var/lib/samba/ agora.

Restaure o arquivos /etc/samba/smb.conf que havia efetuado backup no início deste tutorial.

No meu caso tive que migrar meus dados do samba que eram smbpasswd para tdbsam

# pdbedit -i smbpasswd:/etc/samba/smbpasswd -e tdbsam:/var/lib/samba/passdb.tdb

Vamos adicionar as linhas abaixo no /etc/samba/smb.conf para que o windows 7 funcione com o samba

passdb backend = tdbsam
ntlm auth = Yes
lanman auth = Yes
client ntlmv2 auth = Yes

Agora vamos reiniciar o serviço

# /etc/init.d/samba restart

Agora seu samba já esta na versão 3.5.6, para testar e só executar:

# smbstatus

Terminando, volte a sources.list e apague a linha que foi inserida.

Obs: Antes de tentar ingressar uma máquina Windows 7 no domínio crie nela um arquivo ex: dominiosamba.reg com o conteúdo abaixo e execute para que possa alterar os parametros necessários no regedit.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]
"DomainCompatibilityMode"=dword:00000001
"DNSNameResolutionRequired"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"LmCompatibilityLevel"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Netlogon\Parameters]
"RequireSignOrSeal"=dword:00000001
"RequireStrongKey"=dword:00000001

Este tutorial foi alterado tendo como texto original: http://tassio.eti.br/index.php?option=com_content&view=article&id=133:atualizando-o-samba



Colocado em Debian, Linux.
Comente!.

Finalmente hoje (05/02/2011) por volta de 22:08h de Brasília o Debian 6.0 Squeeze foi anunciado e lançado como release.

Já fiz o download, agora é só instalar e testar.

Segue abaixo dois mirrors para baixar:

http://ftp.acc.umu.se/debian-cd/6.0.0/
http://cdimage.debian.org/debian-cd/6.0.0/

Colocado em Debian, Linux.
Comente!.

Primeiro instale o xen como no tutorial: http://www.robertoalmeida.com/?p=98

Preparando o disco virtual LVM

pvcreate /dev/sdb1
vgcreate nomedovg /dev/sdb1
lvcreate -L 30G -n nomedoservidor.disk nomedovg
lvcreate -L 1G -n nomedoservidor.swap nomedovg
mkswap /dev/nomedovg/nomedoservidor.swap
mkfs.ext3 /dev/nomedovg/nomedoservidor.disk

Montando a partição para que possamos instalar o sistema Debian básico com o debootstrap

mkdir /mnt/nomedoservidor
mount /dev/nomedovg/nomedoservidor.disk /mnt/nomedoservidor

Montando a imagem do debian

mkdir /mnt/imagem
mount -o loop debian-502-i386-CD-1.iso /mnt/imagem/

Instalando o sistema Debian básico

debootstrap --arch i386 lenny /mnt/nomedoservidor file:/mnt/imagem

Obs.: Caso queira, pode trocar o “–arch i386” por “–arch amd64” por exemplo.

Alguns arquivos são necessários serem alterados para que seu sistema funcione a contento. São eles:

Fstab

No arquivo /mnt/nomedoservidor/etc/fstab, inclua as linhas abaixo:

proc /proc proc defaults 0 0
/dev/sda1 swap swap defaults 0 0
/dev/sda2 / ext3 defaults 0 0

Inittab

No arquivo /mnt/nomedoservidor/etc/inittab, inclua a linha abaixo para que o console em modo texto do xen esteja acessível:

co:2345:respawn:/sbin/getty 38400 xvc0

/etc/securetty

No arquivo /mnt/nomedoservidor/etc/securetty, inclua as linhas abaixo para que usuários possam se autenticar no console em modo texto do Xen:

# Xen console
xvc0

/etc/hosts

No arquivo /mnt/nomedoservidor/etc/hosts, inclua os dados do host localhost e do seu novo sistema Debian:

127.0.0.1 localhost.localdomain localhost
192.168.0.2 nomedoservidor

/etc/hostname

No arquivo /mnt/nomedoservidor/etc/hostname, inclua o nome do guest:

nomedoservidor

/etc/network/interfaces

No arquivo /mnt/nomedoservidor/etc/network/interfaces, inclua os dados relativos às suas interfaces de rede:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255
network 192.168.0.0
gateway 192.168.0.1

Agora, com todos os arquivos configurados, copie os módulos do kernel para o local apropriado no disco da maquina virtual:

cp -a /lib/modules/2.6.18.8-xen/ /mnt/nomedoservidor/lib/modules

Desmonte o disco da maquina virtual:

cd /mnt
umount /mnt/nomedoservidor

Preparando o arquivo de configuração da maquina virtual

nomedoservidor.cfg

import commands
krn_vers = commands.getoutput('uname -r')
builder = 'linux'
name ='nomedoservidor'
disk = [ 'phy:/dev/mapper/nomedovg-nomedoservidor.swap,sda1,w', \
'phy:/dev/mapper/nomedovg-nomedoservidor.disk,sda2,w' ]
memory = 1024
vcpus = "1"
vif = [ 'bridge=br0' ]
kernel = '/boot/vmlinuz-' + krn_vers
ramdisk = '/boot/initrd.img-' + krn_vers
root = '/dev/sda2 ro'
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
extra = 'xencons=xvc console=xvc0 video=tty'

Obs: Verifique se você tem a bridge br0 criada na máquina física.

Salve o arquivo e inicie a maquina virtual:

xm create -c nomedoservidor.cfg

Para se conectar à maquina virtual pelo console:

xm console nomedoservidor

Colocado em Debian, Linux, Xen.
Comente!.

Bridge criada no Debian Lenny 5.0.2, mas o mesmo exemplo serve para Ubuntu.

Teremos que instalar o pacote de bridge

aptitude install -y bridge-utils

Criar o arquivo /etc/init.d/bridge

#!/bin/bash
brctl addbr br0
brctl addif br0 eth0
ifconfig eth0 0.0.0.0
ifconfig br0 up
ifconfig br0 192.168.0.2 netmask 255.255.255.0
route add default gw 192.168.0.1

Colocando na inicialização

chmod 755 /etc/init.d/bridge
update-rc.d bridge start 12 2 3 4 5 .

Colocado em Bridge, Debian, Linux, Ubuntu.
Comente!.

-->