How to Increase the size of a Linux LVM by expanding the virtual machine disk in the fly.

Olá, meu nome é Diego Luisi e no artigo de hoje demonstrarei como fazer extend dos discos no Linux in-the-fly usando VMware. Sem desligar a maquina, vá no VSphere:

1) Edit Settings…

2) Add

3) Hard Disk

4) Create a new virtual disk

5) SCSI

 Imagem

echo “- – – ” > /sys/class/scsi_host/host2/scan 

echo “- – – ” > /sys/class/scsi_host/host1/scan 

echo “- – – ” > /sys/class/scsi_host/host0/scan 

fdisk /dev/sdg

n

p

1

t

8e

w

vgdisplay 

vgextend mysql_Database /dev/sdg1

lvextend /dev/mapper/mysql_Database-lv_mysql /dev/sdg1 

resize2fs /dev/mapper/mysql_Database-lv_mysql

df -h

Pronto, espero que tenham gostado!

 

 

RHEL – Change the owner of a dev using udev

Olá, meu nome é Diego Luisi e no artigo de hoje demonstrarei como alterar as permissões de um device usando o udev.

1) Primeiramente vamos acessar o diretório abaixo.

# /etc/udev/rules.d/ 

2) Agora vamos criar um arquivo dentro desse diretório

# vi 99-oracle-asmdevices.rules 

3) Agora insira a linha abaixo, salve e saia

# KERNEL=="sdb", OWNER="oracle12", GROUP="oracle", MODE="0660" 
:wq

4) Reinicie o servidor

# shutdown -r now 

5) Verifique as permissões

# ls -all /dev/sdb
brw-rw----. 1 oracle12 oracle 8, 16 Set 19 17:20 /dev/sdb 

Esta pronto, espero que tenha ajudado.

Instalando e Configurando NTP no CentOS

Olá, meu nome é Diego Luisi e no artigo de hoje demonstrarei como instalar e configurar o NTP (Network Time Protocol) em seu servidor CentOS sempre estar com o relógio sincronizado.

Network Time Protocol
Origem: Wikipédia, a enciclopédia livre.

O NTP é um protocolo para sincronização dos relógios dos computadores baseado no UDP para sincronização do relógio de um conjunto de computadores em redes de dados com latência variável. O NTP permite manter o relógio de um computador com a hora sempre certa e com grande exatidão. Originalmente idealizado por David L. Mills da Universidade do Delaware e ainda hoje mantido por si e por uma equipa de voluntários, o NTP foi utilizado pela primeira vez antes de 1985, sendo ainda hoje muito popular e um dos mais antigos protocolos da internet.

1) Instalando o NTP

# yum install ntp -y

2) Habilitando Serviço

# chkconfig ntpd on

3) Iniciar o Serviço

# service ntpd restast

4) Sincronizando o horário

# ntpdate a.ntp.br

5) Verificando o horário do hardware e sincronizando

# hwclock --show
# hwclock --systohc

6) Atualizando a Zona para America/Sao_Paulo

# hwclock --show
# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

How to Disable selinux

Olá, meu nome é Diego Luisi e no artigo de hoje demonstrarei como desabilitar o selinux.

O que é o SELinux ?

O SELinux (“Security-Enhanced Linux”) é uma implementação de uma flexível e refinada arquitetura MAC (“Mandatory Access Control”). SELinux provê uma política de segurança sobre todos os processos e objetos do sistema baseando suas decisões em etiquetas contendo uma variedade de informações relevantes à segurança. A lógica da política de tomada de decisões é encapsulada dentro de um simples componente conhecido como servidor de segurança (“security server”) com uma interface geral de segurança.

1) Vamos editar o arquivo /etc/sysconfig/selinux

# vi  /etc/sysconfig/selinux

2) Altere a linha

 SELINUX=enforcing
 SELINUX=disabled
:wq

3) Agora vamos reiniciar

# shutdown -r now

Install SCP on CentOS

Olá, meu nome é Diego Luisi e no artigo de hoje demonstrarei como instalar o SCP em maquina Linux usando o CentOS 6.

Quando é escolhido a opção “minimal” na instalação do CentOS ele não estala coisas como SCP e RSYNC.

1) Primeiramente vamos instalar usando o comando yum

# yum install openssh-clients -y

2) Agora vamos copiar o aviso.txt do servidor 192.168.10.1 para 192.168.10.2

# scp /etc/ssh/aviso.txt root@192.168.10.2:/etc/ssh/

Explicando
scp => Comando
/etc/ssh/aviso.txt => Arquivo de origem
root@192.168.10.2: => Servidor de destino
/etc/ssh/ => Diretório de Destino

Caso precise fazer esse procedimento em vários servidores de uma só vez, desenvolvi um script para automatizar essa tarefa a única coisa que vai precisar é criar uma lista com os endereços IP dos outros servidores.

#! /bin/bash
# Script Copia de Arquivos 
# Por Diego Luisi
echo "Script para copia de Arquivos"
echo ""
echo "Digite o caminho completo do arquivo de origem: "
read ORIGEM
echo "Digite o caminho de destino do arquivo: "
read DESTINO
echo "Digite o Arquivo que contem os endereços dos servidores: "
read SERVIDORES
cat $SERVIDORES | while read LINHA; do
echo ""
echo $ORIGEM root@$LINHA:$DESTINO
scp $ORIGEM root@$LINHA:$DESTINO
echo ""
echo ""
done

Script to Install Zabbix Server on Centos6

Olá, meu nome é Diego Luisi e no artigo de hoje demonstrarei como instalar o Zabbix Server em Servidor Linux usando o CentOS 6 de forma automatizada, usando um script que fara todo o trabalho duro para você.

1) Primeiramente vamos atualizar nosso servidor

# yum update -y

2) Agora vamos instalar o Mysql

# yum install mysql-server -y

3) Desabilitar o SELINUX

# vi /etc/sysconfig/selinux
Mude de: SELINUX=enforcing
Para: SELINUX=disabled
:wq
# shutdown -r now

4) Preparando o Script de Instalação

# mkdir -p /tmp/downloads/zabbix/
# cd /tmp/downloads/zabbix/
# touch zabbix_install.sh
# chmod +x zabbix_install.sh

5) Criando o Script de Instalação

# vi zabbix_install.sh
Cole o Conteudo abaixo

#######################################################################

#!/bin/bash

# ZABBIX INSTALL SCRIPT
# VER. 0.7.0 - http://blog.brendon.com
# Copyright (c) 2008-2012 Brendon Baumgartner
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
#=====================================================================

# If necessary, edit these for your system
DBUSER='root'
DBPASS=''
DBHOST='localhost'

ZBX_VER='2.0.2'

# DO NOT EDIT BELOW THIS LINE

function checkReturn {
  if [ $1 -ne 0 ]; then
     echo "fail: $2"
     echo "$3"
     exit
  else
     echo "pass: $2"
  fi
  sleep 3
}

cat < /dev/null << eof
status
eof
RETVAL=$?
checkReturn $RETVAL "basic mysql access" "Install mysql server packages or fix mysql permissions"


if [ ! "`rpm -qa|grep fping`" ]; then
  if [ "`uname -m`" == "x86_64" ]; then
     rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
  elif [ "`uname -m`" == "i686" ]; then
     rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
  fi
fi

# removed  libidn-devel iksemel-devel 
# dependenices for curl: e2fsprogs-devel zlib-devel libgssapi-devel krb5-devel openssl-devel
yum -y install gcc mysql-devel curl-devel httpd php php-mysql php-bcmath php-gd php-xml php-mbstring net-snmp-devel fping e2fsprogs-devel zlib-devel libgssapi-devel krb5-devel openssl-devel wget libssh2-devel openldap-devel make patch
RETVAL=$?
checkReturn $RETVAL "Package install"

chmod 4755 /usr/sbin/fping

cd /tmp

# jabber packages are incomplete at rpmforge (iksemel)
# BEGIN pkgs for jabber (--with-jabber)
#wget http://dl.atrpms.net/el6-x86_64/atrpms/stable/libiksemel3-1.4-2_2.el6.x86_64.rpm
#rpm -i /tmp/libiksemel3-1.4-2_2.el6.x86_64.rpm
#wget http://dl.atrpms.net/el6-x86_64/atrpms/stable/iksemel-1.4-2_2.el6.x86_64.rpm
#rpm -i /tmp/iksemel-1.4-2_2.el6.x86_64.rpm
#wget http://dl.atrpms.net/el6-x86_64/atrpms/stable/iksemel-devel-1.4-2_2.el6.x86_64.rpm
#rpm -i /tmp/iksemel-devel-1.4-2_2.el6.x86_64.rpm
# END pkgs for jabber


rm -rf /etc/zabbix
rm -rf zabbix-$ZBX_VER
rm zabbix-$ZBX_VER.tar.gz
#wget http://sourceforge.net/projects/zabbix/files/latest/download?source=files
#wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$ZBX_VER/zabbix-$ZBX_VER.tar.gz
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/$ZBX_VER/zabbix-$ZBX_VER.tar.gz
RETVAL=$?
checkReturn $RETVAL "downloading source" "check ZBX_VER variable or mirror might be down"
tar xzf zabbix-$ZBX_VER.tar.gz
cd zabbix-$ZBX_VER

./configure --enable-agent  --enable-ipv6  --enable-proxy  --enable-server --with-mysql --with-libcurl --with-net-snmp --with-ssh2 --with-ldap --sysconfdir=/etc/zabbix
RETVAL=$?
checkReturn $RETVAL "Configure"
# --with-jabber
# ipmi
# ldap


make
RETVAL=$?
checkReturn $RETVAL "Compile"

make install
RETVAL=$?
checkReturn $RETVAL "make install"

echo "DROP DATABASE IF EXISTS zabbix;" | mysql -h${DBHOST} -u${DBUSER} --password=${DBPASS}

(
echo "CREATE DATABASE zabbix;"
echo "USE zabbix;"
cat /tmp/zabbix-$ZBX_VER/database/mysql/schema.sql
cat /tmp/zabbix-$ZBX_VER/database/mysql/images.sql
cat /tmp/zabbix-$ZBX_VER/database/mysql/data.sql
) | mysql -h${DBHOST} -u${DBUSER} --password=${DBPASS}


#### BEGIN ZABBIX SERVER & AGENT PROCESS INSTALL & START
adduser -r -d /var/run/zabbix-server -s /sbin/nologin zabbix
#mkdir -p /etc/zabbix/alert.d
mkdir -p /var/log/zabbix-server
mkdir -p /var/log/zabbix-agent
mkdir -p /var/run/zabbix-server
mkdir -p /var/run/zabbix-agent
chown zabbix.zabbix /var/run/zabbix*
chown zabbix.zabbix /var/log/zabbix*
#cp /tmp/zabbix-$ZBX_VER/misc/conf/zabbix_server.conf /etc/zabbix
#cp /tmp/zabbix-$ZBX_VER/misc/conf/zabbix_agentd.conf /etc/zabbix

cp /tmp/zabbix-$ZBX_VER/misc/init.d/fedora/core5/zabbix_server /etc/init.d
cp /tmp/zabbix-$ZBX_VER/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d


cd /etc/zabbix
patch -p0 -l < /tmp/mytmp393; mv /tmp/mytmp393 /etc/zabbix/zabbix_server.conf sed "s/_dbpass_/${DBPASS}/g" /etc/zabbix/zabbix_server.conf > /tmp/mytmp393; mv /tmp/mytmp393 /etc/zabbix/zabbix_server.conf


patch -p0 -l < /etc/httpd/conf.d/zabbix.conf echo "post_max_size = 16M" > /etc/php.d/local_zabbix.ini
echo "max_execution_time = 300" >> /etc/php.d/local_zabbix.ini
echo "max_input_time = 300" >> /etc/php.d/local_zabbix.ini
. /etc/sysconfig/clock
echo "date.timezone = $ZONE" >>  /etc/php.d/local_zabbix.ini

chkconfig httpd on
service httpd restart

#sed "s/max_execution_time = 30/max_execution_time = 300/g" /etc/php.ini > /tmp/mytmp393; mv /tmp/mytmp393 /etc/php.ini

#touch /usr/local/share/zabbix/conf/zabbix.conf.php
#chmod 666 /usr/local/share/zabbix/conf/zabbix.conf.php


cat > /usr/local/share/zabbix/conf/zabbix.conf.php << "eof" eof sed "s/_dbhost_/${DBHOST}/g" /usr/local/share/zabbix/conf/zabbix.conf.php > /tmp/mytmp393; mv /tmp/mytmp393 /usr/local/share/zabbix/conf/zabbix.conf.php
sed "s/_dbuser_/${DBUSER}/g" /usr/local/share/zabbix/conf/zabbix.conf.php > /tmp/mytmp393; mv /tmp/mytmp393 /usr/local/share/zabbix/conf/zabbix.conf.php
sed "s/_dbpass_/${DBPASS}/g" /usr/local/share/zabbix/conf/zabbix.conf.php > /tmp/mytmp393; mv /tmp/mytmp393 /usr/local/share/zabbix/conf/zabbix.conf.php


cd 
echo "Load http://localhost/zabbix/"
echo "username: admin"
echo "password: zabbix"


#######################################################################
Salve e saia.
:wq

6) Execute o Script de Instalação do Zabbix Server

# ./zabbix_install.sh
go

Seu Zabbix Server esta pronto, agora é só acessar seu server

http://localhost/zabbix/
username: admin
password: zabbix

Espero que tenham gostado e qualquer duvida ou sugestão será muito bem vinda.

Close Zimbra Relay

Filtrar envio de e-mails Zimbra

Logue na maquina e se torne zimbra
[root@mail~]# su– zimbra
[zimbra@mail ~]$

Altere as permissões do arquivo zmmta.cf para que se possa editar o arquivo.

ls -l /opt/zimbra/conf/zmmta.cf
-rw-r–r– 1 zimbra zimbra 12995 Jun 3 20:10 conf/zmmta.cf
chmod 644 conf/zmmta.cf

Edite o arquivo

vi /opt/zimbra/conf/zmmta.cf

localize a linha:
POSTCONF smtpd_recipient_restrictions FILE postfix_recipient_restrictions.cf

Acima desta linha adicione:
smtpd_sender_login_maps LOCAL postfix_virtual_mailbox_maps
POSTCONF smtpd_sender_restrictions FILE postfix_sender_restricions.cf

Crie o arquivo: postfix_sender_restricions.cf dentro de /opt/zimbra/conf

Adicione o seguinte conteúdo ao mesmo:
reject_authenticated_sender_login_mismatch
reject_unknown_sender_domain
reject_non_fqdn_sender
reject_unlisted_sender
permit_sasl_authenticated
permit_mynetworks
reject_unknown_client
reject_invalid_hostname
reject_unknown_hostname
reject_unauth_pipelining
reject_rbl_client bl.spamcop.net
reject_rbl_client zen.spamhaus.org
reject_rbl_client rhsbl.sorbs.net
reject_rbl_client dnsbl.sorbs.net
reject_rbl_client dns.rfc-ignorant.org
permit

Faça o reload com o zmmtactl
zmmtactl reload

Queria deixar meus agradecimento para meu amigo Elton Ferreira que colaborou com esse artigo.

Zabbix Script Open Ticket in GLPI

Olá, meu nome é Diego Luisi e no artigo de hoje demonstrarei como criar um script no Zabbix que abre um chamado no GLPI de forma manual.

Partiremos do principio que já possui um Servidor Zabbix, seu GLPI já esta configurado e o gateway de email do GLPI também já esta configurado.

helpdesk@diegoluisi.eti.br = email do GLPI para abertura de chamados.
zabbix@diegoluisi.eti.br = email que o zabbix usa para enviar os alertas.

1) Criando o script

# cd /etc/zabbix/scripts
# vi glpi.sh

2) Cole as linhas abaixo no arquivo.

# !/bin/bash

VAR="*****CHAMADO AUTOMATICO*****  \n\n\nProblema: $1  \nEndereco: $2  \n\n\nSistema de Monitoramento \nDpto de TI  EMPRESA \nhttp://zabbix.diegoluisi.eti.br \n****************************"
echo -e $VAR
export smtpemailfrom=zabbix@diegoluisi.eti.br
export zabbixemailto="helpdesk@diegoluisi.eti.br"
export zabbixsubject="Problema em $1"
export zabbixbody=$VAR
export smtpserver=mail.diegoluisi.eti.br
export smtplogin=zabbix@diegoluisi.eti.br
export smtppass="YOURPASSWORD"

/usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u $zabbixsubject -m $zabbixbody -s $smtpserver:25 -xu $smtplogin -xp $smtppass

3) Agora salve e saia

:wq

4) Vamos alterar as permissões e tornar o arquivo executável

chown -R zabbix:zabbix /etc/zabbix/scripts
chmod +x /etc/zabbix/scripts/glpi.sh

5) Agora vamos testar o script

./glpi.sh TESTE 192.168.XX.XX

6) Adicionando o Script no Zabbix
Agora acesse seu zabbix
Administração >> Scripts >> Criar Script
Abrir Chamado
Script
Zabbix Server
sudo /etc/zabbix/scripts/glpi.sh {HOST.HOST} {HOST.IP} 2>&1
Abertura de Chamados no GLPI

Install e Configure Bacula Server on CentOS 6

Olá, meu nome é Diego Luisi e no artigo de hoje demonstrarei como instalar e configurar o Bacula em um servidor Linux com CentOS6.

Esta tarefa pode parecer complexa para iniciantes, porem vou procurar de forma fácil e interativa como fazer a instalação e configuração.

1) Primeiramente vamos atualizar nosso servidor:

# yum update -y

2) Agora vamos instalar o Bacula e seus módulos, o MySQL que será usado como nosso banco de dados nesse artigo:

# yum install bacula-director-mysql bacula-console bacula-client bacula-storage-mysql mysql-server mysql-devel -y

3:) Agora vamos iniciar o MySQL, colocar para inicializar junto com o sistema e definir uma senha:
Nesse exemplo vou usar “MyPassw0rd” troque para uma senha sua.

# service mysqld start
# chkconfig mysqld on
# mysqladmin -u root password MyPassw0rd

4:) Agora vamos preparar nosso banco de dados:

# /usr/libexec/bacula/grant_mysql_privileges -u root -p
# /usr/libexec/bacula/create_mysql_database -u root -p
# /usr/libexec/bacula/make_mysql_tables -u root -p
# /usr/libexec/bacula/grant_bacula_privileges -u root -p

5:) Agora vamos conceder permissões para o nosso usuário bacula:
Troque o “MyPassw0rd” pela sua senha.

#  mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.1.67 Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> UPDATE mysql.user SET password=PASSWORD("MyPassw0rd") WHERE user='bacula';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> quit

6:) Alterando os arquivos de configurações do Bacula:

# vi /etc/bacula/bacula-dir.conf
# vi /etc/bacula/bconsole.conf 
# vi /etc/bacula/bacula-sd.conf  

Edite os arquivos e troque todas as linhas
Password = “@@ _PASSWORD@@”
Por
Password = “MyPassw0rd”

7:) Verifique se alterou em todos os arquivos:

# cat /etc/bacula/bacula-dir.conf | grep password
# cat /etc/bacula/bconsole.conf | grep password
# cat /etc/bacula/bacula-sd.conf | grep password 

8:) Agora vamos iniciar os módulos do Bacula

# service bacula-dir restart 
# service bacula-fd restart 
# service bacula-sd restart 

9:) Agora vamos configurar o Bacula para inicializar com sistema:

# chkconfig bacula-dir on
# chkconfig bacula-fd on
# chkconfig bacula-sd on

Pronto!! Seu Bacula server esta instalado e rodando.
Uma dica legal é instalar o Webmin para facilitar a configuração do seu Bacula Server,
Segue o tutorial de instalação do Webmin

Instalando o Webmin no CentOS 6

Futuramente demonstro como configurar o seu servidor via Webmin.

Batch Script Install Zabbix-Agent Windows

Olá, meu nome é Diego Luisi e no artigo de hoje vou demonstrar como criar um script em batch para instalação do agent zabbix em servidores Windows.

Quando temos uma rede grande com muitos hosts Windows e começamos a monitorar via zabbix pode ser demorado e trabalhoso o processo de instalação dos agents nos servidores, esse batch script tem a tarefa de facilitar a vida do administrador de redes.

Primeiramente vamos fazer o download do zabbix-agent para windows.

http://www.zabbix.com/download.php

Crie uma nova pasta chamada Zabbix,
Dentro da pasta zabbix crie 2 pastas Zabbix32 e Zabbix64

Acesse a pasta Zabbix32 e crie um novo arquivo de texto.
Install.txt
Abra e cole o seguinte conteúdo dentro do arquivo:

mkdir c:\zabbix
copy *.* c:\zabbix
echo Server=monitoramento.diegoluisi.eti.br >> c:\zabbix\zabbix_agentd.conf
echo ServerActive=monitoramento.diegoluisi.eti.br >> c:\zabbix\zabbix_agentd.conf
echo Hostname=%COMPUTERNAME% >> c:\zabbix\zabbix_agentd.conf
echo StartAgents=5 >> c:\zabbix\zabbix_agentd.conf
echo DebugLevel=3 >> c:\zabbix\zabbix_agentd.conf
echo LogFile=c:\zabbix\zabbix_agentd.log >> c:\zabbix\zabbix_agentd.conf
echo Timeout=3 >> c:\zabbix\zabbix_agentd.conf
C:\Zabbix\zabbix_agentd.exe -i -c C:\Zabbix\zabbix_agentd.conf
del c:\zabbix\instalador.bat
net stop "Zabbix Agent"
net start "Zabbix Agent"
@pause

Adeque de acordo com suas necessidades alterando Server e ServerActive e colocando o endereço do seu servidor.

Salve e saia, renomeie o arquivo para Install.bat deixe uma cópia dentro de Zabbix32 e Zabbix64

Pronto, agora é só copiar o instalar para o servidores e executar o Install de acordo com sua versão 32 ou 64.

Espero que seja útil e que tenham gostado.