sexta-feira, 30 de setembro de 2011

Installing Oracle 10g on CentOs 5x


1. Download

# mkdir /opt/oracle
# mkdir /opt/oracle/oracle10gx86linux
# cd /opt/oracle/oracle10gx86linux
# wget http://download.oracle.com/otn/linux/oracle10g/10201/10201_database_linux32.zip
#


2. Pre-requirements


# yum install compat-db sysstat libaio-devel libXp
#
# vim /etc/sysctl.conf  # editar parametros de kernel
       :
  kernel.shmmax = 2147483648
  kernel.shmall = 2097152
  kernel.shmmni=4096
  kernel.sem=250 32000 100 128
  fs.file-max=65536
  net.ipv4.ip_local_port_range=1024 65000
  net.core.rmem_default=1048576
  net.core.rmem_max=1048576
  net.core.wmem_default=262144
  net.core.wmem_max=262144          
      :
# /sbin/sysctl -p /etc/sysctl.conf
#
# vim /etc/security/limits.conf   # editar parametros de seguranca
       :
  oracle              soft    nproc   2047
  oracle              hard    nproc   16384
  oracle              soft    nofile  1024
  oracle              hard    nofile  65536
       :
# vim /etc/pam.d/login
       :
  session    required     /lib/security/pam_limits.so
  session    required     pam_limits.so
       :
# vim /etc/profile
       :
  # Oracle 10g
  if [ $USER = "oracle" ]; then
     if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
     else
        ulimit -u 16384 -n 65536
     fi
  fi
       :
#
# cp /etc/redhat-release /etc/redhat-release.original   # backup original release
# echo redhat-4? > /etc/redhat-release                  # redhat-4 fake
#
# groupadd  oinstall
# groupadd  dba
# useradd -m -g oinstall -G dba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
# passwd oracle
  New UNIX password: oracle
  Retype new UNIX password: oracle
#


3. Run Oracle Installer

   #
   # su - oracle
   # cd /opt/oracle/oracle10gx86linux
   # ./runInstaller  # se o bicho pegar tente a) usar o parametro -ignoreSysPrereqs; b) fazer login como oracle na interface grafica ao inves de su
      [x] Basic Installation
          Oracle Home Location: /home/oracle/product/10.2.0/db_1
          Installation Type   : Enterprise Edition (1.3GB)
          DBA Group           : oinstall
          [x] Create Starter Database
          Global Database Name: orcl
          Database Password   : manager10g
          Enter full path inventory directory: /home/oracle/oraInventory
          Specify OSGroupName : oinstall
          Check Network Config Requirements [x]
      [x] Advanced Installation
          DBA Group : oinstall
          Enter or select a name for installation: OraDb10g_home1
          Path      : /home/oracle/oracle/product/10.2.0/db_1
          Components:
                      [x] Oracle Call Interface (OCI) 10.2.0.1.0
                      [x] Oracle Programmer (OCI) 10.2.0.1.0
          # 


4. References



Installing Open LDAP and PhpLDAPAdmin on CentOS 5x


1. Install required Packages

# yum install openldap openldap-servers openldap-devel compat-openldap
# yum install php-ldap openldap-clients


2. Generating Hash password

# slappasswd -s josemarsilva
# {SSHA}Qb8a4HFCjVJ4kMu27OKASUE13AWu7eJr


3. Configure OpenLDAP 

# vim /etc/openldap/slapd.conf
       :
  include /etc/openldap/schema/core.schema
  include /etc/openldap/schema/cosine.schema
  include /etc/openldap/schema/inetorgperson.schema
  include /etc/openldap/schema/nis.schema
       :
  allow bind_v2
       :
  pidfile /var/run/openldap/slapd.pid
  argsfile /var/run/openldap/slapd.args
       :
  database bdb
       :
  suffix         "dc=josemarsilva,dc=com"             # Directory Structure ...
  rootdn         "cn=Manager,dc=josemarsilva,dc=com"  # ... and administrador ...
  rootpw {SSHA}Qb8a4HFCjVJ4kMu27OKASUE13AWu7eJr       # ... password hashed (previous step)
       :
  directory /var/lib/ldap
       :
  index objectClass eq,pres
  index ou,cn,mail,surname,givenname eq,pres,sub
  index uidNumber,gidNumber,loginShell eq,pres
  index uid,memberUid eq,pres,sub
  index nisMapName,nisMapEntry eq,
       :
#


4. Start OpenLDAP server and configure automatic startup with system

# service ldap start
# netstat -lnt | grep ":389"  # verifique servico ativo na porta 389
# chkconfig ldap on
#


5. Querying something from OpenLDAP databases

     5.a) Consider that everything was installed successfully, you should get this result

# ldapsearch -x -LLL -b '' -s base '(objectclass=*)' namingContexts
  +---------------------------------------+
  |dn:                                    |
  |namingContexts: dc=josemarsilva,dc=com |
  +---------------------------------------+
#


6. Installing PhpLDAPAdmin



    6.1. Installing


# yum install phpldapadmin 

#
# service httpd start  # iniciado o servico http do Apache
#

    6.2. Checking your browser and access following url


# http://localhost/phpldapadmin - login anonymous
#


7. References

  • http://blog.lcmm.info/?p=105
  • http://www.howtoforge.com/install-and-configure-openldap-on-centos-5
  • http://en.wikipedia.org/wiki/Plain_text



Installing MySQL 5.5 on CentOS 5x

1. Introduction

I suppose you want to uninstall previous version of MySQL before installing new version 5.5. So, this script does "uninstall previous version", including databases. If you want to save your data to migrate to 5.5 version you *must* backup your database before upgrade.Please read and understand this !!!


2. Uninstalling previous version of MySQL


# service mysqld stop               # stop service MySQL if running ...
# yum -y remove mysql               # ... remove previous version 



3. Installing Packages


# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# yum --enablerepo=remi,remi-test list mysql mysql-server                # check if avaialbe
# yum --enablerepo=remi,remi-test install mysql mysql-server mysql-devel # install from rmi repos
# yum --enablerepo=remi,remi-test install mysql mysql-server mysql-devel # install from rmi repos


4. Configuring MySQL


    4.1. Configure MySQL to startup with system


# chkconfig --add mysqld    # configure MySQL to ...
# chkconfig mysqld on       # ...  startup with system

  4.2. Configure MySQL security

# mysql_secure_installation # configurar segurança do MySQL
  +-------------------------------------------------------------+
  | Enter current password for root (enter for none): <enter>   |
  | Set root password? [Y/n] Y <enter>                          |
  | New password: mysecret <enter>                              |
  | Re-enter new password: mysecret <enter>                     |
  | Remove anonymous users? [Y/n] Y <enter>                     |
  | Disallow root login remotely? [Y/n] Y <enter>               |
  | Remove test database and access to it? [Y/n] Y <enter>      |
  | Reload privilege tables now? [Y/n] Y <enter>                |
  +-------------------------------------------------------------+


  4.3. Configure some performance parameters

# vim vi /etc/my.cnf  # configure o MySQL
  +- /etc/my.cnf --------------------------+
  |  ## InnoDB                             |
  | innodb-buffer-pool-size        = 128M  |
  | innodb-log-file-size           = 100M  |
  | innodb-log-buffer-size         = 8M    |
  | innodb-file-per-table          = 1     |
  | innodb-open-files              = 300   |
  +----------------------------------------+



  4.4. Restart MySQL Service

# service mysqld restart




5. Install driver PHP x MySQL

# yum -y install php-mysql             # install drivers Php x MySQL



6. References



quarta-feira, 14 de setembro de 2011

Instalando Plugins SNMP no Nagios em CentOS 5.x


1. Download dos Plugins SNMP
# mkdir /opt/Nagios
# cd /opt/Nagios
#  wget http://nagios.manubulon.com/nagios-plugins-snmp-0.6.0.tgz
#  wget http://nagios.manubulon.com/nagios-snmp-plugins.1.1.1.tgz
#  wget http://nagios.manubulon.com/nagios-plugins-snmp-extras-1.1-1.noarch.rpm
#  wget -O check_snmp_traffic.py http://checksnmptraffic.googlecode.com/files/check_snmp_traffic
#  wget -O check_snmp_traffic "http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=1816&cf_id=24"

2. Solving Dependencies
#  yum -y install net-snmp net-snmp-utils

3. Installing Plugins - from src

#  cd /opt/Nagios
#  tar zxvf nagios-plugins-snmp-0.6.0.tgz
#  cd /opt/Nagios/nagios-plugins-snmp
#  

#  cd /opt/Nagios
#  tar -zxvf nagios-snmp-plugins.1.1.1.tgz
#  cd /opt/Nagios/nagios_plugins
#  ./install.sh


#  cd /opt/Nagios
#  chmod +x check_snmp_traffic.py
#  chown nagios:nagios check_snmp_traffic.py
#  mv check_snmp_traffic.py /usr/local/nagios/libexec
#  chmod +x check_snmp_traffic
#  chown nagios:nagios check_snmp_traffic
#  mv check_snmp_traffic /usr/local/nagios/libexec


Instalando Nagios NSCA em CentOS 5.x


1. Download 
#
#  cd /opt/Nagios
#  tar xvf nsca-2.7.2.tar.gz
#  cd ./nsca-2.7.2
#
 
2. Resolvendo dependencias
#
#  yum install mcrypt libmcrypt-dev
#

3. Instalando NSCA
#  
#  ./configure
#  make all


4. Configurando NSCA
#  echo instalando NSCA (server) ...
#  cd /opt/Nagios/nsca-2.7.2
#  cp src/nsca /usr/local/nagios/bin/nsca
#  cp sample-config/nsca.cfg /usr/local/nagios/etc/nsca.cfg
#  echo Configuration file ...
#  vim /usr/local/nagios/etc/nsca.cfg
              :
            server_port=5667
              :
            password=6M5xKhore5qfKTwY3NLwQT3PPmZJwg5E7ybZnmZLAWRwd3sOjrvvqQ1S4Nxauvdf
              :
            decryption_method=1
              :
#  chown nagios:nagios /usr/local/nagios/bin/nsca
#  chown nagios:nagios /usr/local/nagios/etc/nsca.cfg
          

5. Instalando NSCA (client) ...
#  echo instalando client NSCA (client) ...
#  cd /opt/Nagios/nsca-2.7.2
#  cp src/send_nsca /usr/local/nagios/bin/send_nsca
#  cp sample-config/send_nsca.cfg /usr/local/nagios/etc/send_nsca.cfg
#  vim /usr/local/nagios/etc/send_nsca.cfg
              :
       password=6M5xKhore5qfKTwY3NLwQT3PPmZJwg5E7ybZnmZLAWRwd3sOjrvvqQ1S4Nxauvdf
              :
       encryption_method=1
              :
#  chown nagios:nagios /usr/local/nagios/bin/send_nsca
#  chown nagios:nagios /usr/local/nagios/etc/send_nsca.cfg

6. Inicializando deamon ou servico do NSCA (server) ...
#  /usr/local/nagios/bin/nsca -c /usr/local/nagios/etc/nsca.cfg

Instalação Nagios NRPE em CentOS 5.x

1. Introdução
    Supondo que temos 2 máquinas
    a) "Nagios Server machine"  - IP: 10.10.11.18 - máquina onde está instalado o Nagios que monitora os equipamentos de rede
    b) "Nagios Client (remote) monitored machine" - 10.10.11.19 - máquina remota que passará a ser monitorada através do NRPE

2. Resolvendo dependencias
    De ambas as máquinas : a) "Nagios Server machine"; b) "Nagios Client (remote) monitored machine"
#
# yum install openssl-devel gcc glibc glibc-common #  gd gd-devel php

3. Download
    Download dos códigos fontes em ambas as máquinas: a) "Nagios Server machine"; b) "Nagios Client (remote) monitored machine"
#
# mkdir /opt/Nagios
# cd /opt/Nagios
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
#

4. Instalando Nagios NRPE em  "Nagios Server machine"
#
# cd /opt/Nagios
# tar xzf nrpe-2.12.tar.gz
# cd ./nrpe-2.12
# useradd -m nagios  # caso "Nagios Monitor" entao usuario ja existe ignorar erro
# passwd nagios      # nagios 2x
# usermod -G nagios nagios
# ./configure --with-nrpe-user=nagios --with-nrpe-group=nagios
# make all
# make install
# mkdir /usr/local/nagios/etc  # caso "Nagios monitored machine" ..
                               # ... senao pode ignorar file exists
# cp sample-config/nrpe.cfg /usr/local/nagios/etc/
# chown -R nagios:nagios /usr/local/nagios/etc   # caso "Nagios monitored"
# vim /usr/local/nagios/etc/nrpe.cfg
                 :
            allowed_hosts=127.0.0.1,10.10.11.18
                 :
            dont_blame_nrpe=0
                 :
            command[check_users]=/usr/local/nagios/libexec/check_users -w 0 -c 5
            command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
            command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
            command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
            command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
                 :
#
# Iniciar servico do NRPE em modo deamon
# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
# echo "para finalizar killall nrpe"
#
# echo Testing nagios NRPE ..
# ifconfig # obtenha o IP da propria maquina. vamos testar remotamente a propria maquina
# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users
    USERS OK - 1 users currently logged in |users=2;5;10;0

5. Instalando Nagios NRPE Nagios na "Nagios Client Machine"

    5.1. Instalando e compilando NRPE
               Repetir todos os comandos executados no item "4.1. Instalando Nagios NRPE em  "Nagios Server machine"
    5.2. Instalando alguns Nagios Plugins na "Nagios Client Machine"

#  mkdir /opt/Nagios
#  cd /opt/Nagios
#  wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz

#  cd /opt/Nagios
#  tar xzf nagios-plugins-1.4.15.tar.gz
#  cd ./nagios-plugins-1.4.15
#  ./configure --with-nagios-user=nagios --with-nagios-group=nagios
#  make
#  make install
#
#

# mkdir /usr/local/nagios/etc  # caso "Nagios monitored machine" ..
                               # ... senao pode ignorar file exists
# cp sample-config/nrpe.cfg /usr/local/nagios/etc/
# chown -R nagios:nagios /usr/local/nagios/etc   # caso "Nagios monitored"
# vim /usr/local/nagios/etc/nrpe.cfg
                 :
            allowed_hosts=127.0.0.1,10.10.11.18
                 :
            dont_blame_nrpe=0
                 :
            command[check_users]=/usr/local/nagios/libexec/check_users -w 0 -c 5
            command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
            command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
            command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
            command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
                 :
#
# Iniciar servico do NRPE em modo deamon
# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
# echo "para finalizar killall nrpe"
#
# echo Testing nagios NRPE ..
# ifconfig # obtenha o IP da propria maquina. vamos testar remotamente a propria maquina
# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users
    USERS OK - 1 users currently logged in |users=2;5;10;0


    5.3. Configurando o NRPE para iniciar com o sistema em "Nagios Client Machine"

#
# vim /etc/rc.d/rc.local
                  :
    #
    # Initialize Nagios NRPE ...
    #
    /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
                  :
#



    5.4. Configurando o comando de checkagem via NRPE em "Nagios Server Machine"

#
# vim /usr/local/nagios/etc/objects/commands.cfg

                  :
    define command{
            command_name    check-by-nrpe
            command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
            }
                  :

#

# vim /usr/local/nagios/etc/objects/localhosts.cfg

                  :
    define service{
            use                             local-service
            host_name                       127.0.0.1
            service_description             Current Users
            check_command                   check-by-nrpe!check_users
            notifications_enabled           1
            }
                  :

#








sábado, 10 de setembro de 2011

Instalação Nagios 3.2.3 em CentOs 5.x


1. Introduction
This script install Nagios 3.2.3 server with majors plugins and configure send-mail application.


2. Pre-requisites: Install necessary packages
# yum install httpd gcc glibc glibc-common gd gd-devel php


3. Create Directory to store Nagios installation files
# mkdir /opt/Nagios
# cd /opt/Nagios

4. Download Nagios Core, Nagios Plugins e AddOns
    4.1. Download from
           http://www.nagios.org/download
    4.2. Downloading
#
# cd /opt/Nagios
# wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.2.3/nagios-3.2.3.tar.gz/download?use_mirror=ufpr
#
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nsca-2.7.2.tar.gz              #
# wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.13.tar.gz/download
#
# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
#
# wget http://nagios.manubulon.com/nagios-plugins-snmp-0.6.0.tgz
# wget http://nagios.manubulon.com/nagios-snmp-plugins.1.1.1.tgz
# wget http://nagios.manubulon.com/nagios-plugins-snmp-extras-1.1-1.noarch.rpm
# wget -O check_snmp_traffic.py http://checksnmptraffic.googlecode.com/files/check_snmp_traffic
# wget -O check_snmp_traffic "http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=1816&cf_id=24"
#


5. Create Nagios User account and group
# useradd -m nagios
# groupadd nagcmd
# usermod -a -G nagcmd nagios
# usermod -a -G nagcmd apache

6. Extract, Compile and Configure Nagios
# echo "Installing dependency: compiler ..."
# yum -y install gcc

# cd /opt/Nagios
# tar xzf nagios-3.2.3.tar.gz
# cd ./nagios-3.2.3
# echo "Configuring and Compiling Nagios ..."
# ./configure --with-gd-lib=/usr/lib   --with-gd-inc=/usr/include
# ./configure --with-command-group=nagcmd
# ./configure --with-command-group=nagcmd --with-gd-lib=/usr/lib   --with-gd-inc=/usr/include
# make all

# make install
# make install-init
# make install-commandmode
# make install-config

# make install-webconf

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin  # repeat pwd 2x

# service httpd restart

7. Extract, Compile and Install Nagios Plugins
#
# mkdir /opt/Nagios
# cd /opt/Nagios
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
#
# cd /opt/Nagios
# tar xzf nagios-plugins-1.4.15.tar.gz
# cd ./nagios-plugins-1.4.15
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install


8. Configure nagiosadmin email address for alerts
# vim /usr/local/nagios/etc/objects/contacts.cfg
# email     nagios@localhost   ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******


9. Verify the sample Nagios configuration files
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
          :
  Total Warnings: 0
  Total Errors: 0

10. Configuring Nagios to Start with system

# chkconfig --add nagios
# chkconfig nagios on
# chkconfig httpd on


# service nagios start



11. Log into Web Interface
# http://localhost/nagios/  # username=nagiosadmin password=nagiosadmin

12. Configurando SELinux
      Se tiver problemas com a visualização do statusmap.cgi  consulte o link e faça o seguinte:


# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
# chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

# chown -R nagios:nagios /usr/local/nagios
# chown -R nagios:nagios /usr/local/nagios/var/spool/checkresults



13. Installing tools e services SNMP 
# yum -y install net-snmp net-snmp-utils


14. Installing Client E-mail SMTP
# cd /usr/local/bin
# tar -xvf /opt/Nagios/sendEmail-v1.56.tar.gz
# echo "Faca um teste para ver se esta tudo funcionando ..."
# /usr/local/bin/sendEmail-v1.56/sendEmail -f noreply@internet.com.br \
  -t josemarsilva@inmetrics.com.br \
  -s cindy.inmetrics.com.br \
  -u "SendEmail-v1.56 is working properly" \
  -m "Yes, It's working"
# echo "configurar o arquivo de comandos conforme abaixo ..."
# vim /usr/local/nagios/etc/object/inmetrics_command.cfg
          :
          :
          :
      # 'notify-host-by-email' command definition
      define command{
             command_name notify-host-by-email
             command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/local/bin/sendEmail-v1.56/sendEmail -s cindy.inmetrics.com.br -u "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
             }
      # 'notify-service-by-email' command definition
      define command{
             command_name notify-service-by-email
             command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/local/bin/sendEmail-v1.56/sendEmail -s cindy.inmetrics.com.br -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
             }