Posts Tagged ‘ unix

Guia rápido de manutenção de servidores por ssh

O ssh (secure shell) já salvou a minha vida mais de uma vez. É muito mais prático do que FTP quando se quer fazer alterações nos arquivos do servidor e não é necessário subir ou baixar nenhum arquivo. Além disso, existe o sshfs, que é uma grande facilidade para nós usuários do Linux, que podemos montar uma pasta ssh como se fosse um sistema de arquivos local, e ter todo o conforto de editores de texto gráficos e bonitinhos 100% online.

Abalone shell
Crédito da foto: Stryker W@SP

Ela provê uma conexão segura e encriptada a um servidor remoto, e te dá uma shell completa do sistema hospedeiro, que normalmente é unix. Conhecer a linha de comando então é mais que uma mão na roda, é obrigatório. Mas muita gente não vai muito longe do ls, cd, pwd, rm, mv.

Existem dois truques que eu uso muito em todos os sites que eu administro, e realmente facilitam muito a minha vida.

Imagina a situação: no teu site tem uma centena ou mais de arquivos de backup, simples cópias de segurança de arquivos, de antes de serem modificados, e você não precisa mais deles. Sempre ouvimos que é uma boa prática nesses casos simplesmente fazer uma cópia do arquivo, adicionando .bak ao fim do nome, mas ninguém nunca nos diz porque. Esse primeiro truque é justamente para tirar proveito disso. Tendo todos os teus arquivos de backup terminando em .bak, não importa quão espalhados eles estejam na árvore de diretórios, basta rodar este comandinho:

find . | grep .bak | xargs rm

(Antes que os xiitas venham reclamar, sim, dá pra juntar o find com um grep, mas o grep é mais rápido que o find para esse caso.)

Explicando por partes: Cada “|” (chamado de pipe) concatena comandos, passando a saída de um comando para o próximo. O primeiro comando, find ., lista recursivamente todos os arquivos do diretório atual. A saída é passada para o grep, que procura nessa lista por arquivos que contenham a expressão .bak no nome (e é uma boa rodar só os dois primeiros comandos para ter certeza de que não tá aparecendo nada extra aí). Por fim, temos o todo-poderoso xargs, que tem mais usos do que o próprio Stallman conhece, executa o comando rm em cada nome desta lista.

A segunda situação é quando precisamos fazer uma faxina no servidor, mas não sabemos o que diabos está pesando 1,5GB. Isso é facilmente resolvido com este lindo comando:

du -ch

(É fácil de lembrar dele, lê “duch”, que soa a “douche”, um xingamento em inglês).

Este comando vai também listar recursivamente todos os diretórios (mas só eles, não os arquivos), e te dar o tamanho de cada um, e o total da pasta atual no fim. Extremamente útil.

Reinventando a roda

A Microsoft adora copiar criar novos conceitos.PnP
Todos sabem que o suporte Plug And Play no windows é capenga. Ele depende de drivers para absolutamente tudo, cada pendrive que você espeta, lá é um driver novo (muitas vezes igualzinho) a ser carregado pro sistema. O Vista já vem com 19 mil drivers, por causa disso.

Recentemente eles registraram uma patente inovadora pra resolver isso. Que tal, ao invés de usar drivers genéricos como os sistemas Unix, jogar a responsabilidade para as fabricantes de hardware e fazer com que elas incluam uma memória flash padrão em seus dispositivos contendo os drivers?

O Linux resolve o problema dos drivers com os genéricos, que funcionam bem para tudo, e só precisam ser carregados uma vez, não importa quantos dispositivos parecidos se tenha. Os mesmos drivers da nvidia funcionam com qualquer placa da série. Pen drives simplesmente usam o driver (ou melhor, módulo) de usb mass storage.

Ao invés, então, da Microsoft investir em algo assim para ela, é muito mais barato eles investirem em um padrão para os outros.

Acredito que seria uma idéia interessante se não houvessem outras soluções mais elegantes.
Claro que não há como tirar o máximo de um hardware com drivers genéricos. Os drivers da Nvidia que eu falei há pouco são atualizados com freqüência, justamente para suportar placas mais novas. Mas os drivers genéricos nv vão suportar qualquer placa nvidia, só o suficiente para poder pegar os drivers de algum lugar, seja a internet, ou um CD, mas suportam.

Já pen drives e afins não têm muito o que inovar em drivers. Um pen drive kingston, um xingling ou um psp e mass storage funcionam essencialmente do mesmo modo.

É a Microsoft reinventando a roda mais uma vez. E querem que ela seja quadrada, parece.

Configurando servidores no Fedora

O Fedora é um excelente sistema para servidores, mas algumas pessoas têm dificuldades para instalar os pacotes necessários e configurar corretamente os serviços para rodar os mais diversos servidores. Aqui tem algumas dicas de como fazer isso.

Antes de tudo, utilitários gráficos para gerenciar os servidores:

yum install system-config-users system-config-services

Apache (com PHP)

yum install php httpd system-config-httpd mod_ssl
/sbin/chkconfig httpd on
/sbin/service httpd restart

MySQL

yum install mysql-server mysql-administrator mysql mysql-gui-common
/sbin/chkconfig mysqld on
/sbin/service mysqld restart

E, se você quiser suporte a MySQL no PHP:

yum install php-mysql

Configuração: (Substitua novasenha por uma senha boa)

mysql -u root
Você deve estar vendo um prompt escrito mysql>
SET PASSWORD FOR ”@’localhost’ = PASSWORD(‘novasenha‘);
SET PASSWORD FOR ”@’localhost.localdomain’ = PASSWORD(‘novasenha‘);

VNC

yum install xinetd vnc vnc-server
/sbin/chkconfig vncserver off
/sbin/chkconfig xinetd on

Configuração:

gedit /etc/xinetd.d/vnc1024

Cole isto no arquivo:

service vnc1024
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query 127.0.0.1 -geometry 1024×768 -depth 24 -once -fp unix/:7100 -securitytypes=none
}

E mais este arquivo:

gedit /etc/xinetd.d/vnc1024x8

Cole isto:

service vnc1024x8
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query 127.0.0.1 -geometry 1024×768 -depth 8 -once -fp unix/:7100 -securitytypes=none
}

Agora configure o GDM para XDMCP:

gdmsetup

Desmarque “Recusar Conexões TCP ao XServer”
Desmarque “Permitir login remoto de administrador”

Agora vá até a aba “Remoto” e:
Mude a caixa de seleção superior de “Saudação Remota” para “Igual à Local”
Clique em “Configurar XDMCP”
Clique em “Honrar Requisições Indiretas”

Agora vá até a aba “Acessibilidade” e desmarque “Habilitar Acessibilidade de Login”.

Agora feche o gdmsetup e edite o arquivo /etc/services, adicionando as seguintes linhas ao final dele:

vnc1024 5900/tcp # VNC & GDM
vnc1024x8 5901/tcp # VNC & GDM

Abra as portas 5900 e 5901 TCP e 177 UDP às permições de seu firewall e reinicie o X.

SSH

yum install openssh openssh-clients openssh-server pam_ssh pam_abl
/sbin/chkconfig sshd on
/sbin/service sshd restart

Configuração:
Abra o arquivo /etc/ssh/sshd_config

Mude

PermitRootLogin yes

Para

PermitRootLogin no

(Por questões de segurança)

SMB

yum install system-config-samba samba-client samba-common samba system-config-samba system-config-users

Toda a configuração é feita através do utilitário gráfico:

system-config-samba

Em Configurações do Servidor:
Na aba “Básico”:
–> Grupo: mshome
–> Descrição: Qualquer coisa funciona aqui.

Na aba “Segurança”:
–> Modo de autenticação: Usuário
–> Conta de visitante: Desabilitado
–> Encriptar senhas: Sim

Em Usuários, no menu:
–> Adicione usuário
–> Escolha o usuário e senha no Windows.

Agora para compartilhar:
–> Clique em “Adicionar Compartilhamento”
–> Escolha o nome do compartilhamento e uma descrição e as permições.

Adicione as portas do Samba no seu Firewall. No Fedora 8, está logo na primeira aba com o nome bem sugestivo de “SAMBA”.

FTP

yum install system-config-vsftpd vsftpd system-config-users

Configuração:

system-config-vsftpd

Bom, espero que isso tenha ajudado vocês a começarem a brincar com alguns dos servidores do Fedora.
Live Free.

 
SEO Powered by Platinum SEO from Techblissonline