Configurar domínios virtuais no RHEL 6

Observações iniciais:
  • Vamos configurar 3 domínios fictícios: exemplo.com, exemplo.org e exemplo.net (adapte ao seu caso);
  • O IP do servidor é 172.16.0.2 (adapte ao seu caso);
  • O procedimento descrito a seguir é “feio”, mas é simples e funciona bem com poucos domínios. Se você precisar administrar vários domínios, aconselho uma solução mais robusta, baseada em LDAP;
  • É necessário instalar os pacotes: bind (servidor DNS), apache (servidor HTTP), postfix (servidor SMTP) e dovecot (servidor POP/IMAP);
  • Garanta que os seguintes serviço estão habilitados e ativados (menu Sistema-Administração-Serviços): httpd, postfix, named e dovecot;
  • Quando o procedimento citar “edite o arquivo” ou “crie o arquivo”, use o comando “gedit” seguido do nome do arquivo;
  • Quando o procedimento citar “modifique o parâmetro”, significa que o parâmetro já existe no arquivo, mas está com um valor padrão, que deve ser modificado;
  • Quando o procedimento citar “adicione”, adicione ao final do arquivo;
  • O procedimento foi testado no Red Hat Enterprise Linux 6.5. Em outras distribuições ou versões, podem haver pequenas diferenças em nomes de pacotes ou arquivos.

1) Acesse a linha de comando:

1.1) Abra o Terminal (menu Aplicativos-Sistema-Terminal);

1.2) Transforme-se no super-usuário, executando o comando abaixo:

su –

1.3) Digite a senha do usuário root e pressione Enter (não serão exibidos os asteriscos, isso é normal). Após isso, o final do prompt muda de “$” para “#”.


2) Configurar o servidor DNS:

2.1) Edite o arquivo /etc/named.conf:

2.1.1) Modifique os seguintes parâmetros (devem ficar como abaixo):

listen-on port 53 { any; };

allow-query { any; };

2.1.2) Adicione os três blocos a seguir, um para cada domínio que queremos configurar:

zone “exemplo.com” {

type master;

file “/var/named/zona-exemplo.com”;

};

zone “exemplo.org” {

type master;

file “/var/named/zona-exemplo.org”;

};

zone “exemplo.net” {

type master;

file “/var/named/zona-exemplo.net”;

};

2.2) Crie um arquivo para cada zona:

2.2.1) Crie o arquivo /var/named/zona-exemplo.com com o seguinte conteúdo:

@ SOA @ dns-admin.exemplo.com. (2014110501 1D 1H 1W 3H)

@ NS ns01

@ MX 10 mx01

ns01 A 172.16.0.2

mx01 A 172.16.0.2

www  A 172.16.0.2

2.2.2) Crie o arquivo /var/named/zona-exemplo.org com o seguinte conteúdo:

@ SOA @ dns-admin.exemplo.org. (2014110501 1D 1H 1W 3H)

@ NS ns01

@ MX 10 mx01

ns01 A 172.16.0.2

mx01 A 172.16.0.2

www  A 172.16.0.2

2.2.3) Crie o arquivo /var/named/zona-exemplo.net com o seguinte conteúdo:

@ SOA @ dns-admin.exemplo.net. (2014110501 1D 1H 1W 3H)

@ NS ns01

@ MX 10 mx01

ns01 A 172.16.0.2

mx01 A 172.16.0.2

www  A 172.16.0.2

2.3) Reinicie o serviço “named” como comando abaixo:

service named restart

2.4) Configure o cliente DNS local. Modifique o arquivo /etc/resolv.conf para que tenha o seguinte conteúdo:

domain fabel.local

nameserver 172.16.0.2


3) Crie os usuários que receberão e-mails. Após criar cada usuário, será definida a senha do mesmo. Novamente, não serão exibidos os asteriscos durante a digitação. Essa senha será utilizada depois para receber os e-mails:

useradd -m admin

passwd admin

useradd -m erros

passwd erros

useradd -m teste-exemplo.com

passwd teste-exemplo.com

useradd -m teste-exemplo.org

passwd teste-exemplo.org

useradd -m teste-exemplo.net

passwd teste-exemplo.net


4) Configure o servidor SMTP:

4.1) Edite o arquivo /etc/postfix/main.cf:

4.1.1) Modifique as seguintes linhas (devem ficar como abaixo):

inet_interfaces = all

home_mailbox = Correio/

4.1.2) Adicione as seguintes linhas:

virtual_alias_domains = exemplo.com exemplo.org exemplo.net

virtual_alias_maps = hash:/etc/postfix/virtual

4.2) Reinicie o serviço postfix com o comando abaixo:

service postfix restart

4.3) Crie o mapeamento entre contas de e-mail e usuários locais:

4.3.1) Edite o arquivo /etc/postfix/virtual e adicione as linhas abaixo:

teste@exemplo.com teste-exemplo.com

teste@exemplo.org teste-exemplo.org

teste@exemplo.net teste-exemplo.net

admin@exemplo.com admin

admin@exemplo.org admin

admin@exemplo.net admin

@exemplo.com erros

@exemplo.org erros

@exemplo.net erros

4.3.2) Recompile o arquivo de mapeamentos com o comando abaixo:

postmap /etc/postfix/virtual


5) Configurar o servidor POP/IMAP:

5.1) Edite o arquivo /etc/dovecot/conf.d/10-mail.conf e modifique a linha abaixo (deve ficar como abaixo):

mail_location = maildir:~/Correio/

5.2) Edite o arquivo /etc/dovecot/conf.d/10-auth.conf e modifique a linha abaixo (deve ficar como abaixo):

auth_username_translation = “@-“

5.3) Reinicie o serviço dovecot com o comando abaixo:

service dovecot restart


6) Configurar o servidor HTTP:

6.1) Crie a estrutura de diretórios, uma para cada site virtual, com os comandos abaixo:

mkdir /var/www/default

mkdir /var/www/www.exemplo.com

mkdir /var/www/www.exemplo.org

mkdir /var/www/www.exemplo.net

6.2) Crie páginas iniciais de teste, uma para cada site virtual, com os comandos abaixo:

echo “<h1>default</h1>” > /var/www/default/index.html

echo “<h1>exemplo.com</h1>” > /var/www/www.exemplo.com/index.html

echo “<h1>exemplo.org</h1>” > /var/www/www.exemplo.org/index.html

echo “<h1>exemplo.net</h1>” > /var/www/www.exemplo.net/index.html

6.3) Edite o arquivo /etc/httpd/conf/httpd.conf:

6.3.1) Modifique a linha abaixo (deve ficar como abaixo):

NameVirtualHost *:80

6.3.2) Adicione as seguintes linhas ao final do arquivo:

<VirtualHost *:80>

ServerName vm00.fabel.local

DocumentRoot /var/www/default

</VirtualHost>

<VirtualHost *:80>

ServerName http://www.exemplo.com

DocumentRoot /var/www/www.exemplo.com

</VirtualHost>

<VirtualHost *:80>

ServerName http://www.exemplo.org

DocumentRoot /var/www/www.exemplo.org

</VirtualHost>

<VirtualHost *:80>

ServerName http://www.exemplo.net

DocumentRoot /var/www/www.exemplo.net

</VirtualHost>

6.4) Reinicie o serviço httpd com o comando abaixo:

service httpd restart

Dicas para escolher um servidor

Algumas dicas importantes na hora de escolher um servidor para sua empresa:

  • Servidor não é um desktop turbinado! Além de ter mais processador, memória e disco, um servidor tem uma série de outras características que o diferenciam de um desktop como: arquitetura de E/S otimizada, redundância de componentes, possibilidade de troca à quente de componentes (com a máquina ligada), entre outros. Não confie em quem diz que é possível “ir na loja montar um servidor”;
  • O servidor de ter garantia on-site (na empresa) para peças e serviços por 3 anos ou mais. Verifique se há assistência técnica na sua cidade;
  • O tempo máximo para troca de um componente defeituoso (de 4 em diante) influencia no preço da garantia. Faça as contas para decidir que garantia comprar;
  • Verifique a data de lançamento do modelo a ser adquirido. Modelos recentes podem ser mais caros, mas terão peças disponíveis por mais tempo;
  • Servidores têm vida útil em torno de 5 anos. Após esse prazo, a garantia começa a ser quase o valor de um servidor novo. Programe-se para trocar de máquina já no quarto ano;
  • A memória deve ser di tipo ECC (com correção de erros);
  • Verifique a redundância dos componentes físicos. Um servidor deve ter, pelo menos:
    • Duas interfaces de rede configuradas com agregação de link (também conhecido como teaming ou bonding). De preferência, cada interface deve estar conectada a um switch diferente;
    • Duas fontes de alimentação, cada uma ligada a um no-break diferente. De preferência, cada no-break deve estar ligado a um circuito diferente;
    • Dois discos rígidos configurados em RAID-1, preferencialmente via hardware;
  • Se possível, invista em componentes hot-swap (podem ser trocados com a máquina ligada). Discos e fontes hot-swap têm um bom custo/benefício, mas é possível encontrar até processador hot-swap!
  • Verifique a capacidade de expansão do servidor, ou seja, até quanto de processador, memória e disco é possível adicionar. Tenha em mente que, quanto maior a capacidade de expansão, maior será o preço inicial. Em compensação, se a demanda aumentar, não será preciso trocar de máquina, apenas comprar e adicionar componentes;
  • Seu servidor deve ficar em um ambiente com acesso controlado, climatizado por mais de um split, com piso estável e livre de poeira e umidade. De preferência, os no-breaks devem ficar em uma sala separada. Em alguns casos, essas são exigência mínimas do fabricante para manter a garantia;
  • Durante a garantia, apenas o fabricante por montar e desmontar os equipamentos (com exceção dos hot-swap, que podem ser trocados pelo próprio cliente).

Comandos úteis do Linux

Segue lista de comandos úteis em sistemas Linux:

  • cd <diretório>: muda para o diretório especificado;
  • cp [-p] <arquivo_original> <arquivo_copiado>: cria uma cópia de um arquivo. Com “-p”, mantém as permissões do arquivo;
  • ls [-lh]: exibe os arquivos do diretório atual. Com “-lh”, exibe informações detalhadas sobre os arquivos;
  • pwd: exibe o diretório atual;
  • cat <arquivo>: exibe o conteúdo de um arquivo;
  • head <arquivo>: exibe as 10 primeiras linhas do conteúdo de um arquivo;
  • tail [-f] <arquivo>: exibe as últimas 10 linhas do conteúdo de um arquivo. Com “-f”, o conteúdo é atualizado (bom para acompanhar arquivos de log);
  • less <arquivo>: exibe o conteúdo de um arquivo, paginando;
  • id: exibe informações sobre o usuário atual;
  • free [-m]: exibe informações sobre memória. Com “-m”, converte para megabytes;
  • df [-h]: exibe informações sobre o espaço em disco. Com “-h”, usa múltiplos (K, M, G etc.);
  • kill <número_do_processo>: termina a execução do processo;
  • man <comando>: exibe o manual do comando;
  • ps [-axf]: exibe informações sobre os processos em execução. Com “-axf”, exibe os processos de todos os usuários, em forma de árvore;
  • sudo [-u usuário] <comando>: executa um comando como outro usuário (root, por padrão), se tiver permissão para tal;
  • su [-] [<usuário>]: muda a sessão para o usuário desejado (root, por padrão). Será solicitada a senha do root;
  • grep <texto_procurado> <arquivo>: exibe as linhas do arquivo que contém o texto procurado.

Uma lista mais detalhada pode ser encontrada aqui.

Cursos EaD para disciplina “Serviços de Internet”

Segue abaixo lista de alguns cursos a distância sobre Administração de Servidores:

Cada curso vale 2 pontos.

Vocês devem realizar pelo menos um curso de Windows e outro de Linux em cada NPC.

Certificados de outros cursos (presenciais ou a distância, gratuitos ou pagos) serão avaliados para obter a pontuação, basta apresentar o certificado.

Quem souber de algum outro curso a distância, gratuito (ou barato), preferencialmente com questionário e certificado, pode enviar para que eu possa avaliar.

Boas práticas de administração de servidores

  • Antes de instalar o sistema operacional, leia o release notes (notas de lançamento) e verifique a compatibilidade com o hardware (HCL);
  • Configure o swap com o mesmo tamanho da memória RAM, limitado a 16 GB, exceto se seu fornecedor de software tiver uma regra diferente. Preferencialmente, o swap deve ficar em uma partição própria e em um disco rápido;
  • Evite ao máximo utilizar o super-usuário. Isso diminui as chances de executar comandos perigosos com permissões elevadas;
  • Configure os sistemas para fazer logoff automático após um tempo de inatividade;
  • Identifique claramente em programas de acesso remoto qual o servidor está sendo utilizado. Isso evita executar um comando no servidor errado;
  • Tenha pelo menos um outro servidor com as mesmas configurações e versões dos software instalados (incluindo patches) para cada um dos seus servidores de produção. Teste (homologue) toda e qualquer alteração ou atualização nesse servidor antes de fazê-lo em produção;
  • Documente todas as alterações feitas (instalação ou atualização de programas/pacotes, alteração de configuração, mudança no hardware etc.);
  • Instale apenas os programas/pacotes que serão efetivamente utilizados;
  • Separe cada serviço em uma máquina diferente. Isso permite distribuir melhor a demanda entre as máquinas e facilita a atualização dos componentes em separado;
  • Desative (ou desinstale) serviços não utilizados. Bloqueie o acesso de usuários desnecessários;
  • Implemente uma política de backup que tenha como objetivo recuperar a maior quantidade de dados no menor tempo possível;
  • Mantenha os relógios de todos os servidores sincronizados via NTP, permitindo correlacionar eventos em máquinas distintas;
  • Copie os logs para um único servidor que permita análise, emissão de relatórios e correlacionamento de eventos;
  • Mantenha backup de seus logs por 5 anos ou mais, dependendo da legislação;
  • Monitore, pelo menos, o uso dos principais itens do servidor: processador, memória, disco e rede. Monitore também a disponibilidade e a performance dos serviços;
  • Mantenha uma base de dados com a configuração de todos os servidores e o histórico de suas mudanças;
  • Documente cada serviço ativo na rede: em que máquina(s) executa, de quais serviços depende, com qual usuário executa etc.;
  • Cadastre-se na lista de segurança do fornecedor para receber os avisos sobre vulnerabilidades recentes e suas contra-medidas;
  • Conecte seus servidores em uma VLAN diferente da utilizada pelos usuários. Preferencialmente, segmente seus servidores em mais VLANs de acordo com o uso (produção, homologação, desenvolvimento, teste ou treinamento), o acesso (interno ou externo) ou o setor da empresa;
  • Use um gerenciador de volumes para poder aumentar o espaço disponível em um sistema de arquivos sem a necessidade de reparticionar o disco [adicionado em 08/09/2014];
  • Segmente as áreas reservadas ao sistema operacional, aos programas aplicativos e aos dados de usuários em partições/volumes diferentes. Isso diminui as chances de ocupar toda a área destinada ao sistema operacional, o que pode inutilizar a máquina [adicionado em 08/09/2014];
  • Tenha sempre um servidor (físico ou virtual) pronto para entrar em operação em caso de falha em algum servidor. Para agilizar o processo, esse servidor de reserva deve ter o sistema operacional pré-instalado com as mesmas configurações do servidor que vai substituir. Pode ser necessário ter um servidor de reserva para cada sistema operacional em funcionamento [adicionado em 08/09/2014];
  • Virtualize seus servidores. Isso diminui os custos com hardware e software, embora tenha uma curva de aprendizagem alta [adicionado em 08/09/2014];
  • Alguns serviços básicos não podem (ou não devem) ser virtualizados, como: firewall de borda, DNS externo, gerenciador de backup, gerenciador do virtualizador, entre outros [adicionado em 08/09/2014].

Dicas para o VirtualBox

Algumas dicas para o VirtualBox:

  • A última versão estável (4.3.14) apresenta problemas no Windows se houver um anti-vírus executando. É melhor ficar com a 4.3.12 até que seja lançada uma correção [Editado: o problema foi corrigido na versão 4.3.16];
  • Para usar o Ctrl+Alt+Del em uma máquina virtual Windows, basta acionar o menu Máquina -> Inserir Ctrl+Alt+Del;
  • Habilite o suporte à virtualização na BIOS da sua placa-mãe. Procure por VT-x (Intel) ou AMD-V (AMD);
  • Para copiar uma máquina virtual para outro computador, selecione a máquina virtual e acione o menu Arquivo -> Exportar Appliance na tela inicial do VirtualBox. No computador de destino, acione o menu Arquivo -> Importar Appliance;
  • Para criar uma cópia de uma máquina virtual, selecione a máquina desejada e acione o menu Máquina -> Arquivo na tela inicial do VirtualBox. Isso permite, por exemplo, criar uma máquina virtual “modelo” e usá-la para configurar outras;
  • Para exportar, clonar ou fazer qualquer alteração na configuração da máquina virtual, é necessário desligá-la;
  • Em algumas configurações, o mouse fica “preso” dentro da máquina virtual. Para liberá-lo, pressione a tecla Ctrl da direita (conhecida como tecla Host);
  • Em algumas configurações, o tamanho da tela da máquina virtual é maior que o monitor real, gerando barras de rolagem. Para facilitar a visualização, acione o menu Visualizar -> Alternar para tela cheia. Para retornar à configuração anterior, mova o mouse até a parte inferior central da tela (onde aparecerá um pequeno menu) e acione o menu Visualizar -> Alternar para modo escalonado;
  • É possível criar um vídeo com todas as operações efetuadas dentro da máquina virtual, através do menu Dispositivos -> Capturar vídeo;
  • Para fazer uma cópia rápida da uma máquina virtual, utilize Snapshots. Isso permite salvar o estado de uma máquina virtual antes de fazer qualquer alteração. Se a alteração causar problemas, é possível reverter rapidamente ao estado anterior;
  • Para evitar que a máquina virtual execute o boot a partir do CD/DVD após a instalação do sistema operacional, basta alterar a ordem de boot dos dispositivos, colocando o disco rígido virtual em primeiro. Para fazer isso isso, clique em Configurações -> Sistema -> Placa-mãe -> Ordem boot, selecione o disco rígido e clique na seta para cima. Dessa forma, você pode deixar o CD/DVD inserido na máquina virtual durante o boot [adicionado em 21/09/2014].