Instalando

Voltando à instalação, você pode baixar as imagens do sistema no http://www.centos.org/.

Na versão 5.1, o sistema é distribuído tem nada menos do que 6 CDs de instalação (7 CDs na versão de 64 bits), mas, assim como no caso do Debian, é possível fazer uma instalação minimalista usando apenas o primeiro CD. Se baixar 4 GB não for um problema, você pode ganhar tempo baixando a versão em DVD.

Está disponível também o NetInstall, uma imagem de boot com apenas 7 MB para instalação via rede, onde o instalador baixa os pacotes necessários via HTTP, FTP ou NFS durante a instalação. É perfeitamente possível usar o NetInstall para fazer uma instalação via web, baixando apenas os pacotes que serão realmente usados (em vez de baixar o DVD inteiro), mas a menos que você tenha uma conexão muito rápida, ou esteja fazendo uma instalação minimalista, isso não é muito recomendável.

O mais comum é que o NetInstall seja usado para instalar vários servidores (imagine o caso de uma empresa de hospedagem, por exemplo) a partir de um mirror local. Para configurar um, você precisa apenas copiar todos os arquivos do DVD de instalação para uma pasta e compartilhar o conteúdo usando um servidor web ou FTP, informando o endereço IP do servidor e o diretório onde estão os arquivos ao instalar o sistema nas demais máquinas.

É possível ainda automatizar a instalação através do kickstart, um recurso disponível também no Fedora, onde você gera um arquivo de configuração, contendo instruções para o instalador e indica a localização do arquivo usando um parâmetro de boot, como em:

linux ks=http://192.168.1.254/ks.cfg

Este exemplo faz com que o instalador configure a rede via DHCP e tente acessar o arquivo através de um servidor web interno. É possível carregar o arquivo via NFS, FTP, usando um disquete ou mesmo gerar um CD de instalação personalizado, incluindo o arquivo. Ele é uma boa opção para ambientes onde você precisa realizar um grande número de instalações em pouco tempo. Você pode ver mais detalhes sobre ele aqui:
http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/pt-BR/Installation_Guide/ch-redhat-config-kickstart.html

O CentOS utiliza o Anaconda, que é o mesmo instalador gráfico usado no Fedora. Para usar o instalador gráfico é necessário ter 512 MB de memória, mas é possível instalar o sistema em máquinas antigas usando o instalador em modo texto, que pode ser acessado usando a opção “linux text” na tela de boot:

m59adbdd9

Assim como em outras distribuições, você pode incluir opções para o Kernel na linha de boot, de forma a solucionar problemas de compatibilidade, como a “acpi-off”, “noapic”, “all-generic-ide”, “irqpoll” e “outras”, como em:

linux noapic irqpoll

O instalador começa se oferecendo para realizar um teste da mídia de instalação e em seguida pergunta sobre a linguagem do sistema (o português do Brasil está disponível desde as primeiras versões do sistema) e o layout do teclado.

Durante a instalação, você pode ver o log de mensagens geradas pelo instalador pressionando Ctrl+Alt+F3 e ter acesso a um terminal que pode ser usado para solucionar problemas pressionando Ctrl+Alt+F2.

Em seguida temos o particionamento dos HDs, que começa com a clássica pergunta sobre utilizar o layout padrão, ou criar um layout personalizado:

m222effdc

O CentOS utiliza o LVM por padrão, criando um único volume lógico, englobando todo o espaço disponível do HD e criando partições dentro dele. É usada também uma partição /boot separada, que fica fora do volume LVM, já que o grub não é capaz de inicializar o sistema se o diretório /boot estiver dentro de um volume lógico:

18b8ef9d

O LVM (Logical Volume Manager) é um recurso incluído no Kernel Linux a partir da versão 2.4 que cria uma camada de abstração entre o sistema operacional e os HDs (ou outras unidades de armazenamento utilizadas). Ele adiciona alguns complicadores adicionais na configuração, mas, em compensação oferece um conjunto de vantagens bastante interessantes.

Imagine que no LVM o sistema não vê HDs e partições, mas sim um ou mais volumes lógicos. Cada volume se comporta como se fosse uma partição, que é formatada e montada da forma usual (um volume pode ser usado inclusive como partição swap). Estes volumes são agrupados em um grupo de volumes lógicos (logical volume group) que se comporta de forma similar a um HD.

O pulo do gato é que o grupo de volumes lógicos pode combinar o espaço de vários HDs e ser modificado conforme necessário, incorporando mais HDs. Os volumes lógicos dentro dele também podem ser redimensionados livremente conforme for necessário.

Se você precisa de mais espaço dentro do volume referente à pasta home, por exemplo, você poderia reduzir o tamanho de um dos outros volumes do sistema (que estivesse com espaço vago) e aumentar o tamanho do volume referente ao home, tudo isso com o servidor operante.

Outra possibilidade é ir adicionando novos HDs ao servidor conforme precisar de mais espaço. Ao instalar um novo HD, você começaria criando um volume físico, englobando todo o espaço do HD. Uma vez que o volume físico é criado, você pode expandir o grupo de volumes lógicos, de forma que ele incorpore o espaço referente ao novo HD. A partir daí, você pode expandir os volumes lógicos, usando o espaço livre.

Caso seja utilizada uma controladora SCSI ou SAS com suporte a hot-swaping, é possível até mesmo adicionar, remover ou substituir HDs, fazendo as alterações necessárias nos volumes lógicos, tudo sem interrupções.

É importante enfatizar que o LVM é apenas uma mudança na forma como o sistema acessa os discos, ele não é um substituto para o RAID. No LVM você pode agrupar vários HDs em um único grupo de volumes lógicos, mas se um dos HDs apresentar defeito, o servidor ficará inoperante e você perderá os dados armazenados no disco afetado, diferente do RAID, onde você pode sacrificar parte do espaço para ter uma camada de redundância.

O grupo de volumes lógicos criado pelo instalador é visto pelo sistema como “/dev/VolGroup00” e os volumes lógicos dentro dele são vistos como “/dev/VolGroup00/LogVol00”, “/dev/VolGroup00/LogVol01”, etc. Estes nomes usados por default não são muito descritivos, mas é possível alterá-los usando o próprio particionador. Naturalmente, é possível também deixar de usar o LVM, voltando ao sistema normal de particionamento. Nesse caso você só precisa deletar os volumes e o grupo de volumes lógicos e criar a partições desejadas usando o espaço disponível.

Para o particionamento do HD, valem as regras que vimos no meu tutorial anterior sobre instalação de servidores Linux, ou seja, usar volumes separados para os diretórios “/tmp”, “/var” e “/home”, de acordo com a aplicação do servidor.

Em seguida temos a tela de configuração do gerenciador de boot. Diferente de um desktop, onde muitas vezes precisamos configurar o gerenciador para inicializar vários sistemas operacionais, em um servidor utilizamos sempre um único sistema, o que simplifica as coisas. Você pode rodar outros sistemas operacionais simultaneamente usando VMware Server ou o Xen, utilizando máquinas virtuais.

m7c110ddf

A opção “Utilizar uma senha no gerenciador de inicialização” define uma senha de boot, que é solicitada pelo grub no início do boot. Esta senha é raramente usada em servidores, pois impede que o servidor seja reiniciado sem que alguém esteja presente no local para digitar a senha no boot seguinte. Ela também não é eficiente como uma proteção contra acesso local do servidor, pois é facilmente burlável.

Em seguida temos a configuração da rede. Tanto ao configurar um servidor para a Internet quanto ao configurar um servidor de rede local, é muito provável que você configure também um domínio. Na Internet a função do domínio é obvia, já que é através dele que os visitantes acessarão os sites hospedados, mas um domínio pode ser útil também em uma rede local, facilitando o acesso às máquinas e viabilizando o uso de diversos serviços adicionais. Mesmo o Active Directory (utilizado em redes Microsoft) é fortemente baseado no uso de domínios.

Gerenciar nomes de domínio é tarefa para o Bind. Por enquanto, você pode se limitar a configurar o “fully qualified domain name” do servidor, ou seja, seu nome completo, incluindo o nome da máquina e o domínio que será utilizado, como em “centos.gdhn.com.br”:

762abf

Depois de ajustar o fuso-horário e definir as senhas do sistema, chegamos à seleção dos pacotes que serão instalados. Todas as categorias disponíveis são opcionais, de forma que se você simplesmente desmarcar todas, fará uma instalação minimalista do sistema, em modo texto.

As categorias importantes no nosso caso são a “Server” (a seleção padrão de pacotes, incluindo o Samba, Apache, FTP, etc.) e, opcionalmente, a “Server-GUI”, que instala o ambiente gráfico e as ferramentas gráficas de administração. É interessante ativar também o “Packages from CentOS Extras”, que torna disponível um conjunto de pacotes adicionais, disponibilizados pela equipe do CentOS.

m2065c56f

Marcando a opção “Personalizar agora” você tem acesso ao menu de seleção de pacotes. Se você marcou a categoria “Server-GUI” ou uma das categorias desktop, você notará que os pacotes referentes ao X, além do Gnome ou KDE e um conjunto de aplicativos gráficos estarão marcados.

Assim como o Fedora, o CentOS inclui um conjunto de aplicativos gráficos para configuração do sistema que podem ser úteis em muitas situações, de forma que muitos administradores preferem manter o ambiente gráfico instalado, mesmo em servidores que serão apenas acessados remotamente. Você pode perfeitamente manter os pacotes relacionados ao ambiente gráfico instalados, mas manter o ambiente gráfico inativo enquanto não o estiver usando (de forma a não consumir recursos do servidor).

Nas primeiras instalações, recomendo que desmarque os pacotes dentro da categoria “Servidores” e instale cada serviço manualmente, assim você pode estudar melhor o processo de configuração de cada um:

m5636fda2

Diferentemente do Red Hat Enterprise, que possui versões distintas para servidores (Red Hat Enterprise Linux), servidores de missão crítica (Red Hat Enterprise Linux Advanced Platform) e para estações de trabalho (Red Hat Enterprise Linux Desktop), cada uma contendo uma coleção de pacotes específicos para as tarefas a que são destinadas, o CentOS é uma distribuição unificada, que simplesmente inclui todos os pacotes disponíveis nos repositórios.

Isso significa que, além de ser usado como servidor, que é o que estudaremos aqui, o CentOS também pode ser usado como sistema desktop, já que inclui o Gnome, KDE e um conjunto bastante completo de aplicativos que podem ser marcados durante a instalação.

Depois de concluída a cópia dos arquivos, é aberto um agente de configuração (que no RHEL é chamado de Red Hat Setup Agent), que conclui a configuração do sistema. Duas opções importantes são a configuração do firewall e do SELinux.

O configurador do firewall é na verdade um wizard, que permite que você selecione as portas referentes aos serviços que ficarão ativos no servidor (as portas selecionadas são abertas e todas as demais fechadas) e, a partir das respostas, gera as regras correspondentes para o IPtables, que é o firewall propriamente dito. Além das portas dos serviços padrão, você pode adicionar manualmente qualquer porta que precisar manter aberta. No exemplo estou abrindo a porta 901, usada pelo swat:

728b3469

Você pode ajustar a configuração do firewall após a instalação através do utilitário “system-config-securitylevel” (disponível no Sistema > Administração > Nível de Segurança e Firewall). Existe também uma versão em modo texto do aplicativo, o “system-config-securitylevel-tui”, que pode ser acessada via terminal (e inclusive remotamente, via SSH).

É possível também desativar a configuração do firewall e configurar as regras do IPtables manualmente, como veremos a seguir. Escrever um script de firewall é mais simples do que pode parecer à primeira vista.

Enquanto estiver estudando, recomendo que faça justamente isso; desativando o firewall na configuração e configurando o IPtables manualmente. Isso evita que você se depare com problemas inesperados introduzidos por portas fechadas no firewall. Depois que você entender a configuração manual do IPtables, pode voltar a configurar o firewall através do wizard caso prefira.

Continuando, temos o SELinux (Secure Linux), um sistema que visa reforçar a segurança do sistema, aplicando um conjunto de diretivas rígidas de segurança. O grande problema é que o SELinux interfere no funcionamento de um grande volume de serviços e de softwares adicionais, o que torna necessário criar exceções para cada caso.

Isso faz com que o modo “Enforcing” (Forçando) do SELinux seja aconselhável apenas em situações onde a segurança realmente seja um fator crítico e onde o administrador possua profundos conhecimentos do sistema, de forma a diagnosticar problemas causados pelas políticas de segurança e criar as exceções necessárias. Um meio termo é o nível “Permissive” (permissivo), onde o SELinux é aplicado apenas a alguns serviços específicos (o Apache e o Bind, por exemplo) e age apenas em relação a eles.

Mesmo sem o SELinux, o CentOS é uma distribuição bastante segura. Enquanto você estiver estudando sobre o sistema e utilizando-o em servidores de rede local, é interessante desativar o sistema. Com isso, você evita situações onde determinados serviços não estão funcionando (apesar da configuração estar correta) por causa das restrições do SELinux.

m33817b16

Para desativá-lo depois da instalação, edite o arquivo “/etc/selinux/config” e substitua a linha “SELINUX=enforcing” ou “SELINUX=permissive” por:

SELINUX=disabled

É necessário reiniciar o micro para que a alteração entre em vigor. O reboot demora alguns minutos, pois o sistema precisa realizar um conjunto de modificações nos arquivos.

A menos que você tenha manualmente desmarcado o pacotes “openssh-server” durante a instalação, o servidor SSH será instalado e ficará ativo por padrão, o que permite que você faça o restante da configuração do servidor remotamente:

$ ssh root@servidor

O arquivo de configuração do SSH no CentOS é o “/etc/ssh/sshd_config”, o mesmo usado no Debian e no Ubuntu. O nome do pacote também é o mesmo, “openssh-server”. A única diferença é que o script usado para controlar o serviço é o “/etc/init.d/sshd” e não “/etc/init.d/ssh”.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X