Após uma longa espera, segue a segunda e última parte do artigo “Servidores: dicas para iniciantes”. A partir daqui, os artigos serão específicos para cada sistema ou aplicação.
Baseado nos comentários do artigo anterior, gostaria de esclarecer duas coisas:
– O objetivo destes artigos não é ensinar a configurar o sistema XYZ, pois este é um processo específico de cada sistema. Para este fim, serão publicados ao longo do tempo artigos específicos sobre os diversos aplicativos comumente usados em servidores. O meu objetivo aqui é esclarecer certas questões mais abrangentes na área de servidores, e dar dicas gerais de instalação, configuração e manutenção.
– O sistema que será abordado com mais ênfase é o Linux, não porque eu sou “fanático” pelo sistema, mas sim porque, além da afinidade, ele atende aos requisitos de muitos usuários mundo afora. É possível montar excelentes servidores usando Windows ou Linux; isto está relacionado muito mais à competência técnica do administrador (e ao bolso do cliente) do que ao sistema em si.
Eu montei o que chamo de “10 Mandamentos para a resolução (ou prevenção) de problemas”, que se aplicam tanto a Linux quanto a Windows. Segue a lista abaixo, e a explicação para cada “mandamento”:
1 – Aprenderás Inglês
É, meu amigo. Se você pretende levar a área de informática um pouco a sério, você vai precisar do Inglês. Não necessariamente você precisa ser fluente; inglês técnico para leitura já ajuda muito. A maioria dos softwares são em Inglês, as mensagens de erro também, e as melhores documentações, que são as dos próprios desenvolvedores, normalmente também são neste idioma.
2 – Não farás testes no ambiente de produção
Uma péssima mania que eu tenho e que muita gente têm é a de efetuar testes em ambiente de produção (isto é, nos servidores que estão atendendo aos usuários). Crie o hábito de manter uma infra-estrutura de reserva para efetuar testes. Se isto não for possível, ao menos instale um software de virtualização no seu PC (Virtual PC, VirtualBox, VMWare…), e crie um sistema de testes dentro dele. Se as coisas funcionarem bem no ambiente de teste, a chance delas funcionarem bem no ambiente de produção aumentam. Isto vai evitar grandes situações de stress junto aos usuários.
3 – Lerás o manual, e pesquisarás na web (RTFM e STFW)
Não há nada mais desagradável para os leitores de um fórum ou lista de discussão do que encontrar perguntas muito genéricas ou totalmente fora de contexto sobre um determinado sistema, ou ainda perguntas que já foram respondidas n vezes. Isto indica que a pessoa nem ao menos conhece algo sobre o assunto, e por conta disto, está comentendo erros tolos. Isto acontece com todo mundo (e eu já fiz isso também…). Para evitar a situação, nada melhor do que praticar o bom e velho RTFM (“Read The F*cking Manual”, “Leia a p… do manual”), ou sua variante STFW (“Search The F*cking Web”, “Pesquise a p… da web”). Antes de colocar as mãos no teclado e mouse para executar qualquer comando, leia sobre o sistema em questão, seus requisitos, como funciona, modo de instalação, possíveis problemas, enfim. Você vai evitar muita dor de cabeça com isto.
4 – Não reinstalarás
Muita gente, quando enfrenta problemas técnicos com seu desktop, costuma simplesmente pegar o CD do Windows ou Linux, e proceder com a reinstalação do sistema. Perca este hábito. Isto é até aceitável em desktops, mas não em servidores. Acostume-se a resolver o problema, e não a contorná-lo. Deixe a opção de reinstalação entre as últimas. Antes, siga os demais mandamentos.
5 – Não darás “chmod 777”
Para quem não entendeu, isto tem a ver com excesso de permissões (no Linux, ao dar “chmod 0777” numa pasta, você permite que Deus e a torcida do Flamengo leiam e escrevam nela). É verdade que alguns problemas ocorrem por falta de alguma permissão, mas isto não quer dizer que você deve sair dando permissão a torto e a direito. Isso pode causar sérios problemas de segurança.
No Linux, leia os logs (próximo mandamento) para ver se realmente há problemas de permissão; no Windows, ferramentas como o FileMon e RegMon podem ser úteis para descobrir onde o programa está tentando ler ou escrever dados e não está conseguindo.
6 – Lerás as mensagens de erro
Um erro que os usuários mais apressados costumam cometer é não ler as mensagens de erro que aparecem no sistema, especialmente se elas forem grandes demais. Como, em servidores, você não pode sair reinstalando as coisas por qualquer motivo (mandamento 4), procure ler o erro, pois às vezes ele já dá a dica de como ele pode ser resolvido, especialmente em programas da Microsoft. Digo isto por experiência própria.
7 – Olharás os logs de sistema
Neste ponto, há de se admitir que o Linux e programas open-source em geral dão um banho no Windows. Os logs deles geralmente são muito mais informativos do que os do Windows, dando mais chances ao administrador para resolver o problema. No Linux, os logs costumam ficar em /var/log (o arquivo principal costuma ser o syslog ou messages), e no Windows, use o Visualizador de Eventos (Iniciar -> Executar -> “eventvwr.msc” -> OK).
8 – Analisarás o hardware e seus recursos
Certos erros esquisitões ocorrem por causas elementares (falta de espaço em disco, falta de memória, etc.). Sempre use utilitários para verificar a quantas anda seu espaço em disco, a utilização da memória RAM e do arquivo de troca, e outras informações pertinentes do seu sistema para assegurar-se de que as condições mínimas de funcionamento estão sendo mantidas. Outra fonte de problemas bobos são as conexões, especialmente em problemas de rede. Cheque os cabos e as conexões, trocando-as quando necessário.
9 – Debugarás o programa
Especialmente no Linux, muitos programas têm opções de debug, que geram informações detalhadas nos logs do que o programa está fazendo. Isto pode ser muito útil em certas situações. Aprenda a como habilitar o debug nos softwares que você utiliza com mais freqüência.
10 – Reiniciarás o computador
Tá, esta dica pode parecer ridícula, especialmente no contexto de servidores (e mais ainda no Linux). Mas a verdade é que, muitas vezes, problemas dos mais diversos tipos somem com um simples reboot. É bom que você evite esta prática, mas se for possível praticá-la sem que isto cause grandes tormentos aos usuários, experimente.
Seria possível escrever muito mais dicas sobre o assunto, afinal existem inúmeras recomendações e “boas práticas”, porém vamos ficar por aqui. Como disse, o próximo artigo já deverá entrar em aspectos mais práticos.
Use a área de comentários abaixo para expressar sua opinião sobre o artigo, e também para sugerir temas para os próximos artigos!