Aqui vai um pequeno tutorial de instalação de um servidor LAMP em um sistema operacional Debian GNU/Linux:

Sistema operacional utilizado:

Debian 4.0 Etch

Após uma instalação mínima do sistema, será necessário configurar a sources.list e atualizar o sistema:

# aptitude update

# aptitude upgrade

Depois instalar os pacotes essenciais para o LAMP:

# aptitude -y install build-essential

O primeiro passo para uma configuração de um servidor LAMP, é a instalação do servidor Web:

    • Apache 2.2

Instalando os pacotes essenciais:

# apache2 – Servidor Apache 2.2

# aptitude -y install apache2 apache2-utils

O diretório do apache aonde contém seus arquivos de configuração é:

Diretório: /etc/apache2/

/etc/apache2/apache2.conf — Arquivo de configuração principal do Apache;

/etc/apache2/conf.d/charset — Codificação de caractere utilizado;

/etc/apache2/mods-available/ — Módulos instalados mas não habilitados;

/etc/apache2/mods-enabled/ — Módulos habilitados.;

/etc/apache2/ports.conf — Porta padrão do Apache;

/etc/apache2/sites-available/ — Diretório dos hosts virtuais;

/etc/apache2/sites-enabled/ — Hosts virtuais habilitados.


Comandos de administração do apache no debian:

# /etc/init.d/apache2 start | stop | restart | reload

Habilitando módulos no apache:

# a2enmod modulo – Habilita o módulo instalado.

# a2dismod modulo – Desabilita o módulo.

Agora vamos instalar o php no servidor:

  • PHP 5


    php5 – Pacote de instalação do PHP

libapache2-mod-php – Módulo do php para o apache

php5-mysql – Pacote para poder conectar ao banco de dados Mysql

Instalando os pacotes essenciais:

# aptitude -y install php5

# aptitude -y install libapache2-mod-php

# aptitude -y install php5-mysql

Caso o banco de dados seja PostgreSQL:

# aptitude -y install php5-pgqsl

Para quem precisar de algum módulo do php aqui vai uma lista módulos:

    
	php5-curl 	- Módulo CURL para php5
    	php5-gd 	- Módulo GD para php5
    	php5-imap 	- Módulo IMAP para php5
    	php5-json 	- Serialização JSON para PHP5
    	php5-ldap 	- Módulo LDAP para php5
    	php5-odbc 	- ODBC módulo para php5
    	php5-snmp 	- Módulo SNMP para php5
    	php5-sqlite3 	- Módulo SQLite3 para php5
   	php5-suhosin  - Módulo avançado proteção para php5
    	php5-sybase 	- Módulo Sybase / MS SQL Server para php5
    	php5-tidy 	- Módulo tidy para php5
    	php5-xmlrpc 	- Módulo XML-RPC para php5
    	php5-xsl 	- Módulo XSL para php5

Caso seja necessário outra módulo:

# aptitude -y search php5

Depois de instalado o php e o servidor o web vamos criar um arquivo em php para realizar o teste:

# vim /var/www/teste.php

<?php phpinfo( ); ?>

Salve o arquivo e acesse o endereço no browser:

http://localhost/teste.php

Ou remotamente:

http://ipdoservidor/teste.php

Instalando o SGBD:

    • MySQL


# aptitude -y install mysql-server

Antes de usar o banco deve-se rodar um comando para criar uma base de dados que o mysql vai utilizar para guardar informações do próprio SGBD (Senha, usuários etc):

# mysql_install_db

# mysqladmin -u root password [senha]

Para conectar ao banco via prompt:

# mysql -u root -p [enter]

Para administrar o banco de forma gráfica instale o phpmyadmin:

# aptitude -y install phpmyadmin


Compartilhamento via NFS

fevereiro 20, 2009

Há pouco tempo atrás precisei utlizar o NFS para compartilhar os backups realizados em dois servidores, no meu caso queria que os dois servidores tivessem os mesmos backup’s.
Utilizando o NFS consegui de forma rápida e prática resolver esse problema e ainda me permitiu criar scripts de manutenção e backup para rodarem de madrugada.

Sobre o NFS….

 

1. Introdução.

NFS (acrônimo para Network File System) é um sistemas de arquivos distribuídos desenvolvido inicialmente pela Sun Microsystems a fim de compartilhar arquivos e diretórios entre computadores conectados em rede, formando assim um diretório virtual.


2. Instalação do Debian.
Crie uma instalação limpa* do Debian Etch.
*Remova todos os pacotes de instalação, inclusive o sistema básico.

 

3. Configurações dos servidores de Backup.


Linux Debian verção 4.0 Etch r6

3.1 Descrição das partições:

Para a instalação dos servidores de backup serão utlizados 4 HD’s de 1 tera. As partições devem ser feitas (no nosso caso) da seguinte maneira:

/dev/sda1 0 Gb Swap

/dev/sda2 10 Mb /

/dev/sda3 Espaço total (1 TB) /home

/dev/sdb1 Espaço total (1 TB) /home1

/dev/sdc1 Espaço total (1 TB) /home2

/dev/sdd1 Espaço total (1 TB) /home3

 
OBS: Essa mesma configuração deve ser realizada nos dois servidores.

4. Pós instalação.

OBS: O símbolo “# “ significa que os comandos devem ser realizados como root.

Antes de continuarmos vamos atualizar o sistema recém instalado.


4.1 Configure seu apt (sources.list) da seguinte forma:


#
vim /etc/apt/sources.list

     deb http://mirrors.kernel.org/debian stable main
     deb-src http://mirrors.kernel.org/debian stable main
     deb http://ftp.us.debian.org/debian stable main contrib non-free
     deb http://ftp.debian.org/debian stable main contrib non-free
     deb http://ftp.br.debian.org/debian stable main contrib non-free
     deb http://security.debian.org/ stable/updates main contrib non-free
     deb http://ftp.br.debian.org/debian/ etch main contrib non-free
     deb-src http://ftp.br.debian.org/debian/ etch main
     deb http://security.debian.org/ etch/updates main contrib
     deb-src http://security.debian.org/ etch/updates main contrib

Atualizando o sistema: 

      # aptitude update

      # aptitude upgrade

      # aptitude –y install build-essential

OBS: Procedimento realizado para os dois servidores.

4.2 Procedimento realizado no servidor 192.168.1.2 (“Espelho”).

Instalando os pacotes do NFS:

       # aptitude -y install portmap 

       # aptitude -y install
nfs-common

       # aptitude -y install
nfs-kernel-server

4.2.1 Configurando as placas de rede:

#vim /etc/network/interfaces

Servidor 192.168.1.2:

auto lo eth0

iface lo inet loopback

iface eth0 inet static

address 192.168.1.2

netmask 255.255.255.0

gateway 192.168.1.10

network 192.168.1.0

4.2.2 Configurando o NFS.

A configuração do NFS é feita no servidor em um único arquivo, o “/etc/exports“. Para compartilhar as partições que criamos (home, home1, home2 e home3) do servidor ativo editamos o seguinte arquivo no servidor espelho.


      # vim /etc/exports

            /home 192.168.1.1(rw,no_root_squash)

            /home1 192.168.1.1(rw,no_root_squash)

            /home2 192.168.1.1(rw,no_root_squash)

            /home3 192.168.1.1(rw,no_root_squash)

      # exportfs -a

*Esse comando evita que você reinicie todos os serviços do NFS.


4.2.3 Legenda:

      – rw                        — Permite leitura e escrita aos compartilhamentos.

      –
192.168.1.1      –
libera o acesso somente para este ip.

      – no_root_squash   — Permitir que o root monte o compartilhamento.


Salve o arquivo e execute o seguinte comando:

4. Procedimento realizado no servidor 192.168.1.1 (Ativo).

    O servidor ativo irá montar os compartilhamentos e fazer a cópia de todos os seus becapes para o servidor espelho (192.168.1.2).


4.3.1 Configurando as placas de rede:

            auto lo eth0

Servidor 192.168.1.1:

#vim /etc/network/interfaces

iface lo inet loopback

iface eth1 inet static

address 192.168.1.1

netmask 255.255.255.0

                 gateway 192.168.1.10

network 192.168.1.0

 

4.3.2 Editar o o arquivo fstab.


# vim /etc/fstab

Para que seja montados todos os compartilhamentos durante o boot é necessário adicionar as seguintes linhas abaixo:

       192.168.1.2:/home /home4 nfs auto,soft 0 0

     192.168.1.2:/home1 /home5 nfs auto,soft 0 0

     192.168.1.2:/home2 /home6 nfs auto,soft 0 0

      192.168.1.2:/home3 /home7 nfs auto,soft 0 0

 Salve o arquivo e execute o comando:

       # mount -a

 Esse comando faz com que todos as partições sejam remontadas.

 A opção  soft permite que o  compartilhamento do servidor seja desconectado. Caso os programas tente acessá-lo passam a exibir mensagens de “não é possível ler o arquivo”,  ao invés de travarem.

 

 

 

 

Backup em Fita-DAT com TAR

janeiro 30, 2009


O tar é uma ferramenta muito poderosa para backup.
Alguns dias atrás utilizei esse ferramenta para realizar backup’s em Fitas-DAT. 
Logo abaixo vai algumas dicas para quem precisa realizar esses tipos backup’s.

            1. Identificando o dispositivo:

         # dmesg |grep st0

st 2:0:0:0: Attached scsi tape st0

st0: try direct i/o: yes (alignment 512 B)

2. Procedimento de backup em linha do comando (Shell):

                     Os comandos devem ser executados como root “#”.


           Criar um novo arquivo na fita-dat:

                      # tar -cvf /dev/st0 <arquivo(s)>
           Compactado:

                      # tar -czvf /dev/st0 <arquivo(s)>


             Adicionar arquivos/diretórios:

                      # tar -rvf /dev/st0 <arquivo(s)>


             Restaurar arquivos/diretórios:

                      # tar -xvf /dev/st0 <arquivo(s)>


             Visualizar o conteúdo da fita-dat:

                      # tar -tvf /dev/st0

             Gerando log dos arquivos que foram becapeados:

                      # tar -tvf /dev/st0 > arquivo.log


             Deletar arquivos da fita-dat:

                      # tar –delete -f /dev/st0 <arquivo(s)>

 

             Procedimento de backup via cron (agendar a tarefa):

                      Agendando backup’s no cron:

                      #crontab -e

 

              00 00 * * * root tar -cvf /dev/st0 -T /root/backup/diretorios_backup
 

 

 

 

 

         3. Legenda           

                TAR

             -c  -cria um novo arquivo tar;

    -M -cria, lista ou extrai um arquivo multivolume;

    -p  -mantém as permissões originais do(s) arquivo(s);

    -r   -acrescenta arquivos a um arquivo tar;

    -t   -exibe o conteúdo de um arquivo tar;

    -v  -exibe detalhes da operação;

    -w  -pede confirmação antes de cada ação;

    -x  -extrai arquivos de um arquivo tar;

    -z  -comprime ou extrai arquivos tar resultante com o gzip;

    -j  -comprime ou extrai arquivos tar resultante com o bz2;

    -f  -especifica o arquivo tar a ser usado;

    -C -especifica o diretório dos arquivos a serem armazenados.

 

     Referências:

      http://pt.wikipedia.org/wiki/TAR

Pgtop

O pgtop é um utilitário que permite monitorar a performasse de seu SGBD. Muito útil para identificar query’s problemáticas que estão consumindo carga de processamento ou memória.

Antes da instalação algumas informações importante:

- Sistema operacional: Debian GNU/Linux 4.0 Eetch r6
- Banco de dados instalado na máquina: PostgreSQL-8.3.3

Dependências necessárias para instalação:

- Perl
- Getopt
- DBI
- Term
- DBD

Download do pacote:

# wget http://ftp.casaafacerilor.ro/mirrors/CPAN/authors/id/C/CO/COSIMO/pgtop-0.05.tar.gz

# aptitude -y install libdbd-pg-perl

# aptitude -y install libterm-readkey-perl

# tar -zxvf pgtop-0.05.tar.gz

# cd pgtop-0.05

# perl Makefile.PL

# make

# make test

# make install

Após a instalação execute o comando:

# pgtop -s 1 -d database -u postgres

-s Seta o delay (o padrão é 5).

-d Informa a database que você quer monitorar.

-u Informa o usuário do banco.

Tela do comando pgtop

Tela do comando pgtop


Para mais informações execute os comandos:

        # pgtop  –help
        # man pgtop
 
O pgtop foi inspirado na ferramenta mytop (http://mytop.sourceforge.net/), que por sua vez foi inspirado pelo sistema monitorção top. Pgtop irá conectar a um servidor PostgreSQL e periodicamente executar consultas (pg_stat *) resumindo as informações a partir deles, em um formato útil.
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.