Uma instalação do Debian: excelente, mas…

May 19th, 2004 § 6 comments

O servidor que hospeda esse site roda Debian. É a primeira vez que eu estou rodando um sistema com essa distribuição e apesar dos poucos dias de experiência posso dizer que ela é excelente. Embora eu já esteja usando o Linux por alguns anos — tanto no servidor quanto no desktop, e em vários cenários diferentes — eu sempre tive uma certa relutância em instalar o Debian. O motivo era que a reputação dessa distribuição de estabilidade só era superada pela sua fama de ser uma distribuição difícil de instalar. Depois de usar o Mandrake Linux por muito tempo (e nos últimos dez meses como desktop primário), eu não tinha muita vontade de instalar um sistema onde eu teria que esquecer as fáceis ferramentas de configuração para editar incontáveis arquivos texto.

Algumas semanas atrás, entretanto, antes que eu começasse a configurar esse servidor, um colega de trabalho instalou uma máquina Debian na empresa em que trabalhamos. Curioso para verificar se a reputação do Debian era verdadeira ou não, eu decidi ajudá-lo — ou antes, ver como ele faria o trabalho. Depois de seguir os procedimentos de instalação, eu estou convencido de que instalar o Debian em uma máquina limpa não é uma tarefa para os de coração fraco. A despeito do instalador que vem com a distribuição, um conhecimento íntimo de Linux pode ser necessário se alguma parte da instalação der problema. E depois de usar o instalador que vem com o Mandrake algumas vezes nos últimos anos, eu não posso dizer que fiquei impressionado.

As coisas mudaram quando eu vi o apt-get em ação. Como eu disse em uma entrada anterior, o apt-get é tão útil que eu me viciei instantaneamente no mesmo. E, depois de usar o Debian nesse servidor por algumas semanas, eu notei que os pacotes que a distribuição possui estão muito à frente dos equivalentes em outras distribuições em facilidade de configuração — embora, como mencionado mais à frente, tenham desvantagens em relação a outras distribuições também. E, o melhor de tudo: dependências e conflitos são resolvidos sem problemas. Tudo simplesmente funciona. Assim, quando eu aluguei um servidor com a Bytemark Hosting, e tive que escolher entre as quatro distribuições que eles oferecem, eu já tinha decidido que usaria o Debian no mesmo. Eu podia escolher (na verdade, ainda posso) entre Debian, Gentoo, Slackware e um clone customizado do Red Hat. Slackware estava fora de questão pela minha completa falta de experiência com o mesmo. Um clone do Red Hat também não valia a pena porque eu detesto pacotes RPM e só os tolero porque o Mandrake torna fácil a instalação dos mesmos. Eu quase considerei Gentoo, com o qual eu tinha brincado alguns meses antes, mas, em minha opinião, o apt-get é muito melhor do que o emerge, principalmente pela questão dos pacotes serem pré-compilados.

A Bytemark Hosting hospeda servidores virtuais via user-mode Linux. Embora esse tipo de serviço tenha suas limitações, estas são mais do que compensadas pela facilidade de manutenção dos servidores por parte dos clientes. Se, por algum motivo, você decide que precisa reinstalar todo o seu sistema, basta um ou dois comandos em um outro servidor e você tem uma nova distribuição limpa para configurar do jeito que você precisa. Ou seja, mudar de distribuição é uma brincadeira. Assim, eu instalei o Debian e comecei o longo esforço de configurá-lo de acordo com minhas necessidades.

As duas semanas seguintes se tornaram um enorme aprendizado. Eu tinha administrado servidores Linux antes, mas eu nunca antes tivera controle completo sobre os mesmos, e nunca tivera que instalar tudo do zero. Por sorte, a instalação do Debian na Bytemark já vem com um monte de pacotes interessantes pré-instalados e também inclui a configuração da máquina em si, de modo que eu não precisei mexer com os serviços básicos como rede (o que, de qualquer forma, seria impossível de fazer remotamente, é claro).

Quando eu decidi ter o meu próprio servidor, eu também decidi que eu rodaria tudo do jeito que quisesse, incluindo SMTP, IMAP, POP3, HTTP, CVS e os outros serviços que eu precisava e que nunca estavam apropriadamente configurados nos outros provedores. Depois de um monte de pesquisa, eu terminei com a seguinte configuração:

Para o servidor Web, Apache é a escolha óbvia. Como eu agora tenho controle sobre quais módulos posso instalar, eu adicionei os seguintes ao serviço: modgzip, modlogsql, modauthmysql e modpython. Com o modlogsql eu posso salvar todas as estatísticas de tráfico dos sites que eu hospedo no MySQL e rodar consultar rápidas para alimentar o meu sempre crescente ego narcisista. Como eu estou fazendo um bocado de desenvolvimento Python agora, decidi instalar o modpython também. E com o modauth_mysql eu posso autenticar usuários e grupos diretamente de tabelas em banco de dados, o que é muito mais fácil do que manter arquivos de senhas.

Para análise de tráfego eu instalei o AWStats também. Nem todos os meus usuários sabem ou querem saber como fazer consultas direto em uma base de dados. Uma entrada no cron e o problema estava resolvido.

Para o servidor de e-mail, eu decidi usar o Postfix. Eu não sei quais são as vantagens e desvantagens geais dele em relação a outros agentes de transporte de e-mail, mas comparando algumas características do mesmo eu fiquei favoravelmente impressionado. E também fiquei com a impressão de que existe mais documentação para ele. Como eu queria fazer integração com várias ferramentas, o Postfix parecia um bom caminho. E eu acredito que realmente é.

Uma vez configurado o Postfix, foi a vez de configurar o suporte a múltiplos domínios, IMAP, POP3, filtros para spam e vírus, e classificação automática de e-mails baseada em critérios escolhidos pelo usuário. Para IMAP e POP3 eu usei o Courier Mail Server. O Courier é um agente de transporte de e-mails completo, mas como eu já tinha decidido usar o Postfix, resolvi somente integrá-lo os dois, aproveitando as partes do Courier que eu precisava. Ah, a beleza do código livre! Do Courier, eu usei também o Maildrop, que é um agente de entrega local com suporte a filtros. A configuração do Maildrop foi a parte mais complicada de todo o processo, mas eu consegui terminá-la depois de algumas noites sem dormir. Eu terminei a configuração do Courier adicionando suporte a SASL, para autenticações mais seguras.

Para reduzir a quantidade de lixo nas caixas de entrada dos meus usuários, eu integrei o Postfix com o Amavis, o ClamAv e o SpamAssassin, eliminando spam e vírus. Funcionou perfeitamente em termos de configuração embora eu ainda precise descobrir porque o SpamAssassin, mesmo sendo a última versão e usando filtros bayesianos, não está sendo tão eficaz quando a versão local que eu rodo em casa. O ClamAv, por outro lado, funcionou completamente. Até agora, nenhum vírus chegou a entrar em uma caixa de entrada, embora vários tenham sido recebidos.

Para webmail eu usei o Squirrelmail que, embora feio, suporta uma quantidade enorme de plugins e domínios virtuais.

Como alguns dos sites aqui vão rodar listas de e-mail também, eu tive que escolhe um gerenciador de listas. Depois de um pouco de pesquisa, eu fiquei entre o Mailman e o Sympa. O Sympa tinha um suporte melhor a domínios virtuais e todas as características do Mailman. A escolha foi fácil.

O servidor FTP é o Pure-FTPd. Eu nunca tinha usado o mesmo anteriormente, mas até agora ele tem se provado ser um bom servidor. Com um foco em segurança, montes de características úteis e facilidade de configuração, ele simplesmente funciona.

Uma das coisas que me motivou a escolher os programas que eu descrevo acima foi a capacidade de integração com bancos de dados que os mesmos possuem. Como eu hospedo vários domínios, cada um com um conjunto bem próprio de necessidades, eu não tenho a menor vontade de rastrear e manter os milhares de arquivos de configuração necessários para adicionar tudo o que eu preciso a cada um desses domínios. Um banco de dados me dá um ponto central para armazenar esses dados. E é muito mais fácil escrever scripts para atualizar tabelas do que escrever scripts para atualizar arquivos texto em dúzias de formatos.

Configurar todas essas aplicações foi um trabalho e tanto. Sem o Google, eu não teria conseguido. Só com o Postfix e o Courier, por exemplo, eu gastei alguns dias de trabalho já que os pacotes dos mesmos no Debian não tinham algumas das coisas que eu precisava. E como sempre, a documentação para algumas dessas aplicações é bem esparsa. No caso do Pure-FTPd, eu quase tive que adivinhar algumas configurações. Foi uma aventura e tanto.

Então, o Debian é excelente, mas… Mas o quê?

Como eu mencionei antes, eu uso o Mandrake Linux em casa. Pacotes RPM são uma tristeza, mas o Mandrake esconde a maior parte dos problemas atrás de ferramentas amigáveis e versões muito bem produzidas. E o que eu gosto mais no Mandrake é o fato do mesmo estar sempre atualizado em relação ao que há de melhor e mais novo lá fora. O Debian, por outro lado, tem um ciclo de versões muito mais longo. A versão Woody — a última estável — já tem quase dois anos de idade. E como somente correções de segurança entram na mesma, quase todos os pacotes que ela contém são bem velhos. Assim, quando eu comecei a configurar o servidor, eu descobri que muitas das aplicações que eu tinha decidido usar não suportavam algumas das características que eu precisava quando vinham da versão estável do Debian.

As versões testing e unstable do Debian possuem pacotes mais atualizados. Entretanto, como o próprio nome delas diz, você não pode confiar que os pacotes lá estarão em um estado útil. E, principalmente, com os furos de segurança corrigidos. E mesmo nessas versões, alguns pacotes ainda eram mais velhos do que eu precisava.

No final, eu tive que rodar um sistema misto, o que envolveu obter pacotes de várias fontes diferentes. Graças a Deus pelos backports, que resolveram a maior parte dos meus problemas. Minha versão do Postfix, por exemplo, vem de um pacote do backports. Em uns dois casos, eu tive também que criar um repositório local de pacotes customizados já que as versões que eu queria não existiam em nenhum dos pacotes oficiais. O Maildrop novamente foi a parte mais complicada, pois nenhuma versão para o Debian tinha o suporte ao MySQL compilado diretamente. No fim, eu o compilei separadamente, direto do código fonte disponibilizado no site da aplicação — por alguma razão estranha, a compilação dos pacotes do Debian falhava em meu sistema.

No geral, eu gostei da experiência. O Debian é realmente um sistema estável. Desnecessário dizer, embora eu tenha demorado alguns dias configurando o servidor, usando o meu copioso tempo livre, eu não tive que reiniciar o sistema uma única vez. Eu ainda estou aprendendo a caminhar entre as diferenças do Debian e outras distribuições que usei, mas estou adorando cada segundo da experiência.

§ 6 Responses to Uma instalação do Debian: excelente, mas…"

  • Realmente, o Mandrake é pra não quer se incomodar, mata a pau em simplicidade de instalações. Mas tive que me render ao Kurumin (Debian inside) pela possibilidade de remasterizar CDs bootáveis e impressionar empresários, além de ridicularizar funcionários da Microsoft em palestras :). Carlos Morimoto consegue simplificar bastante as instalações, pelo que está de parabéns.

  • Ronaldo says:

    O Kurumin tem uma fama boa mesmo. Pelo que o pessoal diz, o reconhecimento do hardware é bem poderoso e pega inclusive equipamentos (como winmodems) que outras distribuições não conseguem.

    Eu vivo prometendo a mim mesmo experimentá-lo, mas ainda não tive tempo para isso. Tanta coisa interessante…

  • Daniel Koch says:

    Debian é bom, mas quando o negócio é desktop o normal mesmo é utilizar unstable, porque se você for ver o gnome da Debian atual vem com GMC ainda.
    Coisas bem antigas.

    Mas ‘passar’ uma Debian Stable para Unstable não é tarefa para qualquer um. Leva horas conectado na internet pra pegar os pacotes, uma vez que a Debian não fornece releases pra Unstable. Fica a nós mortais o Kurumin, que é por natureza Unstable e alem disso é prático.

  • Ronaldo says:

    Apesar de ter gostado muito do Debian no servidor, eu não recomendaria para o desktop. Tanto pelos motivos que você falou, quando pela falta de ferramentas que escondem a configuração para o usuário comum, como é feito no Mandrake.

    O Kurumin, que eu ainda não experimentei, faz isso?

    Eu acredito que configuração facilitada é a chave para o desktop no Linux. No dia em que um usuário não precisar mais editar arquivos na mão para fazer algo funcionar — salvo, é claro, em circunstâncias muito excepcionais — o Linux estará pronto para o desktop.

  • Barbara says:

    Saindo um pouco de foco…você citou que preferiu instalar o Sympa ao Mailman. O que você achou da instalação e configuração do Sympa? Não é nada trivial, não é mesmo?!

  • Ronaldo says:

    O Sympa realmente é bem mais complexo de se configurar. O Mailman, no Debian pelo menos, é super-simples, bastando rodar alguns scripts simples. O Sympa precisa de fuçar em tudo quanto é quanto. Mas vale a pena pela flexibilidade.

What's this?

You are currently reading Uma instalação do Debian: excelente, mas… at Superfície Reflexiva.

meta