Tal como já tive oportunidade de dizer, tento neste site compor uma colecção de dicas úteis de forma a que consigamos construir e manter um servidor. No entanto, sinto que falta termos definida uma plataforma comum a partir da qual se possa sempre fazer referencia no caso de haver ambiguidades entre distribuições do Linux. Assim, neste artigo, vou descrever a forma de instalar desde o inicio uma distribuição de Linux.
Primeiro pensei em fazer um tutorial sobre a forma de instalar o SuSE, mas como estou tendo cada vez mais dúvidas em relação à Novell (a empresa que comprou a SuSE) desisti dessa ideia. Parece-me que a Novell não se consegue imbuir do espírito do código livre, cada vez que nos deparamos com problemas é cada vez mais difícil escapar à burocracia, estilo Vogon, que parece orientar a empresa.
A seguir considerei usar a distribuição Kubuntu (do projecto Ubuntu). Eu recomendo esta distribuição vivamente para o Desktop. Infelizmente a instalação standard tem demasiada bagagem desnecessária para um servidor. Por esta altura estava a ver que o meu problema seria difícil de resolver!
O passo lógico seguinte (ao menos para mim) foi considerar outra distribuição do projecto Ubuntu, o Ubuntu Server. Quis a sorte, que na altura em que tentei fazer o download desta distribuição, a velocidade da rede estivesse estupidamente lenta, pelo que desisti ao fim de dois dias. Eu sei, podia ter procurado outros mirrors, ou usar o bittorrent, mas não me apeteceu.
Continuando a minha procura, acabei por me decidir por instalar o Debian (stable). As razões principais foram:
Resta-me fazer notar que não vou instalar um ambiente gráfico. Afinal estamos a falar de um servidor pelo que não é de todo necessário instalar o peso extra que representa um ambiente gráfico. Em regra, as salas de servidores são ambientes inóspitos e frios, pelo que fazemos sempre o trabalho no servidor de forma remota. Por outro lado, se nos habituarmos a trabalhar pela linha de comandos, poderemos administrar sem problemas nenhuns sistemas remotos, até mesmo em sítios onde as comunicações são de baixa qualidade. São só vantagens. :-)
Para obter o CD de instalação devemos dirigir-nos à seguinte página:
http://www.debian.org/CD/netinst/
Eu fiz o download da versão estável oficial "netinst". O nome da imagem que descarreguei é: debian-31r3-i386-netinst.iso
Após termos descarregado a imagem esta deve ser gravada num CD. Eu utilizei o k3b que está disponível em qualquer distribuição.
A instalação é bastante simples, apesar do programa de instalação ser baseado em texto não creio que isso influencie em qualquer aspecto a dificuldade do processo. A seguir mostro os passos que segui para ter um sistema funcional.
Tela inicial:
Para continuar basta carregar <ENTER>. Podemos carregar <F1> para sabermos quais são as opções disponíveis nesta tela.
O primeiro passo consiste na escolha do idioma utilizado na instalação. Notar que a escolha feita nesta altura não tem nada a ver com o idioma apresentado no ambiente gráfico. Neste aspecto, tal como em muitos outros, o Linux é bastante versátil. Podemos mesmo ter vários idiomas instalados se, por exemplo, tivermos utilizadores de nacionalidades diferentes a utilizar o mesmo sistema.
Eu perfiro utilizar o inglês para tarefas de administração de sistema, mais por simples hábito, do que por outra razão qualquer.
A seguir deveremos escolher o país ou região onde nos encontramos. Isto tem alguma importância na medida em que daqui obtemos o fuso horário.
Layout do teclado:
Escolher um hostname para o sistema:
O passo seguinte é importante, especialmente se o servidor estiver exposto à Internet. Deveremos indicar o domínio a que o servidor vai pertencer. Notar, no entanto, que a palavra domínio não significa nada de tão dramático no contexto do Linux, como significa no windows.
Se o servidor que está a instalar for para ser utilizado como servidor interno, ou simplesmente para testes, o que introduzir neste passo deixa de ser crítico. Nestes casos pode utilizar o nome (válido) que quiser.
Partição do disco.
No meu caso estou a instalar o sistema numa máquina virtual, de modo que vou utilizar o disco completo. Regra geral vai ser esta a opção a escolher, a menos que queiramos fazer upgrades de sistema.
Os esquemas de particionamento automático do Debian são bastante razoáveis. Assim vamos escolher a opção Multi-user workstation, daqui vai resultar um bom esquema de particionamento para um servidor.
O esquema de partições proposto foi o seguinte:
Há algumas notas interessantes a tirar deste esquema:
Como este sistema é apenas para testes, não me dei a esse trabalho. Vou simplesmente criar um link simbólico para dentro da directoria /home.
Instalação do boot loader:
O sistema está instalado! Resta agora fazer o reboot da ordem (o único).
Ajustes no fuso horário. Neste caso o relógio até já estava certo, de qualquer forma podemos sempre escolher o fuso que quisermos...
Password do utilizador root, o administrador cá do sitio!
Mesmo tratando-se de um servidor, convém sempre ter um utilizador sem direitos especiais configurado. Por exemplo, eu costumo dar a esse utilizador direitos para edição das páginas web, se tivermos a falar de um servidor de http. Assim não necessito de entrar no sistema como root.
Além disto costumo também negar o direito de login remoto de root, neste caso é necessário termos um utilizador que possa logar no sistema! - Mesmo que a conta do utilizador com direito de acesso remoto seja comprometida, o sistema não fica completamente perdido.
O Debian tem um sistema de gestão de pacotes maravilhoso (apt). A seguir configuramos o acesso aos arquivos de pacotes. Notar que, como fizemos a instalação por rede, temos necessáriamente que escolher repositórios de pacotes remotos.
É de bom tom (e também mais rápido) escolher repositórios que estejam o mais perto possível de nós.
Como queremos ter absoluto controlo sobre o que é instalado no nosso sistema, escolheu-se a selecção manual de pacotes.
A tela seguinte é do programa de instalação de pacotes. Limitamo-nos a sair sem escolher software adicional.
Por omissão utiliza-se no Debian o servidor de mail Exim. Devido ao facto de utilizar o SuSE durante alguns anos eu perfiro utilizar o Postfix, assim deixo a configuração do sistema de mail para mais tarde.
É sempre conveniente num servidor ter um sistema de mail a funcionar, nem que seja básico, de forma a pudermos ser avisados quando alguma coisa corre mal. É muito fácil escrever scripts que nos enviam mails sempre que alguma coisa corre mal.
O sistema está configurado!
De modo a ter um ambiente conhecido em todos os servidores tenho por hábito criar uma directoria /arquivo. Gosto de ter esta directoria numa partição própria. Como neste caso estamos a falar de um sistema de testes, vou limitar-me a criar um link para a directoria /home/arquivo:
debiansrv:~# mkdir -p /home/arquivo/scripts debiansrv:~# ln -s /home/arquivo /arquivo debiansrv:~# cd /arquivo
Vou utilizar a directoria /arquivo/scripts para guardar os scripts simples de administração de sistemas que vamos produzir.
A outra configuração que não pode ser adiada é a configuração da placa de rede. Neste momento o sistema está configurado por dhcp, como a máquina vai servir outras convém ter o endereço IP definido estaticamente. A configuração da placa é tão simples como editar o ficheiro /etc/network/interfaces e substituir a configuração por:
auto eth0 iface eth0 inet static address 192.168.10.25 netmask 255.255.255.0 gateway 192.168.10.72
Naturalmente que têm de utilizar os parâmetros correctos para a vossa rede. De resto a sintaxe é auto explicativa. Para tornar as alterações efectivas basta fazer:
# ifdown eth0 # ifup eth0
A partir deste momento temos uma plataforma padrão, bastante estável, a partir da qual vamos construir o nosso servidor. Notar que apesar disto, o Debian não passa de mais uma distribuição de Linux, de modo que quase tudo o que se possa dizer sobre administração de sistemas aplicado ao Debian continua a ser aplicável a outras distribuições.
Nesta plataforma básica que acabámos de construir falta considerar alguns aspectos importantes, que irei tentando documentar com o passar do tempo. Por exemplo:
É um pouco controversa a necessidade de configurar uma firewall, já que o sistema não tem nenhuma porta aberta por omissão. No entanto eu perfiro sempre configurar a firewall uma vez que nos dá a hipótese de configurar também métodos de reportar as tentativas de intrusão. Assim alimentamos aquela pontinha de paranóia necessária para lidar com os problemas de segurança numa rede!
Uuuhhff! Este artigo foi longo! Espero agora, que vos sirva para incentivar a fazer a instalação do que poderá ser o esqueleto do vosso futuro servidor. Há vantagens inegáveis em trabalhar em ambientes do estilo cliente-servidor que se irão tornando óbvias à medida que eu tenha tempo de ir produzindo estes artigos. De uma forma geral os sistemas nas empresas seguem a filosofia do sistema operativo dominante, o que implica cada PC por si. As pessoas raramente utilizam áreas de trabalho partilhadas e quando o fazem, fazem-no de uma forma ad-hoc, os serviços utilizados na rede são poucos ou nenhuns tornando os PCs em máquinas de escrever glorificadas. Vamos tentar mudar isso um bocadinho, há muito caminho a percorrer por isso vou tentar ser rápido a escrever o próximo artigo!