Seção 1 - Start here
Aula 4 - Instalação do RHEL 7.2 / CentOS 7Selecionamos portanto o particionamento manual e vamos criar as partições. O Tipo de Dispositivo é o LVM:
'/': esta partição deve ter 3Gb para ambientes sem interface gráfica e um pouco mais que 5Gb para instalação com interface gráfica. Nessa pasta serão instalados os arquivos de inicialização do SO menos os arquivos da pasta '/boot' que recebe o kernel do SO. O sistema de arquivos pode ser o xfs.
'/tmp': esta partição será uma pasta pública e poderá receber qualquer arquivo. O ideal é que tenha no mínimo 50Mb e não um tamanho muito grande para evitar que utilizem para gravar arquivos que não devem estar no servidor.
'/var': essa partição vai receber os arquivos de log e deve ter no mínimo 384Mb. ver nota na aula 7
'/home': arquivos de usuários. Caso haja algo com o servidor possibilita a recuperação dos dados dos usuários. O mínimo é 100Mb e depende do objetivo do servidor (caso seja um servidor de arquivos precisa de mais espaço, se for somente um servidor http não é necessário muito espaço).
'/boot': O mínimo para o boot é 250Mb mas podemos por um pouco mais por garantia.
'/swap': o espaço para 'SWAP' varia de acordo com a quantidade de memória RAM da máquina.
menor que 4Gb: 2Gb swap;
4 a 6 Gb: 4Gb swap;
6 a 64 Gb: 8Gb swap;
64 a 256 Gb: 16Gb swap;
256 a 512 Gb: 32Gb swap.
PAra a partição de swap o sistema de arquivos é swap.
Feito isso, no nosso caso vamos fazer a instalação mínima. Todas as demais configurações serão feitas manualmente em outro momento.
Outra opção a ser desativada é o kdump (faz um monitoramento de falhas do kernel).
Podemos iniciar a instalação. Durante a instalação devemos criar a senha do root e podemos criar um usuário (isso é necessário quando instalamos a interface gráfica).
Aula 5 - Configurações iniciais do servidor: FQDN
Após logar no servidor podemos verificar em qual máquina e dominio
estamos com o comando hostname.
Para alterarmos o nome do servido podemos utilizar o comando:
# hostnamectl set-hostname nome_do_servidor
Ao configurar o hostname por essa forma não configuramos o dominio da máquina. Para editar o dominio da máquina devemos editar o arquivo hosts:
# vi /etc/hosts Este arquivo tem a seguinte configuração inicial:
A segunda linha se refere ao IPV6. Nesse curso ele será desabilitado (comentar a linha do IPV6). em seguida inserimos o IP da máquina, o nome do servidor e o nome do dominio da rede:
numero_ip_local nome_do_servidor.nome_do_dominio nome_do_servidor
Para alterarmos o nome do servido podemos utilizar o comando:
# hostnamectl set-hostname nome_do_servidor
Ao configurar o hostname por essa forma não configuramos o dominio da máquina. Para editar o dominio da máquina devemos editar o arquivo hosts:
# vi /etc/hosts Este arquivo tem a seguinte configuração inicial:
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
A segunda linha se refere ao IPV6. Nesse curso ele será desabilitado (comentar a linha do IPV6). em seguida inserimos o IP da máquina, o nome do servidor e o nome do dominio da rede:
numero_ip_local nome_do_servidor.nome_do_dominio nome_do_servidor
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.101 servcentos.homeserver servcentos
Com isso ao digitar o comando # hostname -f temos o servidor
e o dominio configurados.
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.101 servcentos.homeserver servcentos
Aula 6 - Configurações iniciais de rede
No CentOS por padrão as placas de rede não são iniciadas
automaticamente. No arquivo de configuração a opção
on boot está como 'NO'. O pacote nettools também não
vem instalado na opção de instalação mínima. Assim o comando
ifconfig não está disponível.
Para vermos os endereços e as placas de rede do sistema utilizamos o comando:
# ip a
Esse comando vai mostrar as placas de rede disponíveis, entre elas a lo que é a loopback. Após vermos quais as placas de rede disponíveis, suas configurações ficam no diretório /etc/sysconfig/network-scripts.
Devemos editar os arquivos das placas de rede disponíveis (no meu caso eth0 e eth1).
Ao configurar o arquivo da placa de bridge externo, mantivemos o BOOTPROTO=dhcp e alteramos para 'no' todas as configurações de IPV6.
A outra opção a ser alterada é a ONBOOT=yes. Por fim foi incluida a linha NM_CONTROLLED=no para evitar alterações automaticas pelo sistema (NM = Network Manager). Outra opção que deve ser desabilitada caso esteja no arquivo de configuração é o PEERDNS.
Para a placa de rede interna vamos desabilitar o DHCP alterando o BOOTPROTO=none. Alteramos os demais itens como na configuração anterior e devemos inserir os dados da rede interna:
# vi /etc/resolv.conf
Esse arquivo vai estar vazio e deve ser preenchido com os dados do dominio que configuramos:
O próximo passo é configurar o arquivo '/etc/sysconfig/network'
Nesse arquivo devemos inserir as linhas:
Após isso a rede está configurada. Podemos reiniciar o sistema ou reiniciar apenas a rede com o comando:
# /etc/etc/init.d/network restart
Para vermos os endereços e as placas de rede do sistema utilizamos o comando:
# ip a
Esse comando vai mostrar as placas de rede disponíveis, entre elas a lo que é a loopback. Após vermos quais as placas de rede disponíveis, suas configurações ficam no diretório /etc/sysconfig/network-scripts.
Devemos editar os arquivos das placas de rede disponíveis (no meu caso eth0 e eth1).
Ao configurar o arquivo da placa de bridge externo, mantivemos o BOOTPROTO=dhcp e alteramos para 'no' todas as configurações de IPV6.
A outra opção a ser alterada é a ONBOOT=yes. Por fim foi incluida a linha NM_CONTROLLED=no para evitar alterações automaticas pelo sistema (NM = Network Manager). Outra opção que deve ser desabilitada caso esteja no arquivo de configuração é o PEERDNS.
Para a placa de rede interna vamos desabilitar o DHCP alterando o BOOTPROTO=none. Alteramos os demais itens como na configuração anterior e devemos inserir os dados da rede interna:
IPADDR=192.168.0.101
NETMASK=255.255.255.0
DNS1=192.168.0.101
DNS2=8.8.8.8
DOMAIN=homeserver
Em seguida configuramos o arquivo resolv.conf:
NETMASK=255.255.255.0
DNS1=192.168.0.101
DNS2=8.8.8.8
DOMAIN=homeserver
# vi /etc/resolv.conf
Esse arquivo vai estar vazio e deve ser preenchido com os dados do dominio que configuramos:
search homeserver
nameserver 192.168.0.101
nameserver 8.8.8.8
nameserver 192.168.0.101
nameserver 8.8.8.8
O próximo passo é configurar o arquivo '/etc/sysconfig/network'
Nesse arquivo devemos inserir as linhas:
NETWORKING=yes
HOSTNAME=srvcentos
HOSTNAME=srvcentos
Após isso a rede está configurada. Podemos reiniciar o sistema ou reiniciar apenas a rede com o comando:
# /etc/etc/init.d/network restart
Aula 7 a 8 - Acesso remoto / Atualização do servidor
Para acessar a máquina com o PUTTY devemos selecionar o IP atribuido
pela placa de rede em DHCP.
Para atualizar o servidor CentOS utilizamos o gerenciador yum.
# yum update
Nesse ponto da atualização tive um problema com o tamanho da partição /var. Ela ficou muito pequena para os arquivos de atualização. Para alterar o tamanho da partição (como tinha espaço disponível) fiz um passo a passo de um site que funcionou bem.
inetweb
A sequencia de comandos para a alteração do volume foi a seguinte:
Em seguida devemos instalar as ferramentas de desenvolvedor:
yum groupinstall 'Development Tools'
Esse é um conjunto de ferramentas de desenvolvimento e essenciais caso seja necessário compilar algum pacote de instalação.
yum install vim
yum install net-tools
Para atualizar o servidor CentOS utilizamos o gerenciador yum.
# yum update
Nesse ponto da atualização tive um problema com o tamanho da partição /var. Ela ficou muito pequena para os arquivos de atualização. Para alterar o tamanho da partição (como tinha espaço disponível) fiz um passo a passo de um site que funcionou bem.
inetweb
A sequencia de comandos para a alteração do volume foi a seguinte:
# lsblk lista os discos e partições
# fdisk /dev/sda seleciona o disco a criar a partição
No fdisk digitar 'n' para nova partição 'p' partição primária 'ENTER' para Primeiro Setor e +2G para uma partição de 2Gb (podemos utilizar outros valores ou o valor total). Em seguida digitamos 't' para escolher o tipo de partição e '8e' para selecionar LVM. Por fim digitar 'w' para gravar as alterações.
Se receber uma mensagem de erro digitar:
# partprobe -s
# lsblk lista os discos e partições
# pvcreate /dev/sd_x cria um novo phisical volume
# pvscan lista os PV criados
# vgextend 'grupo' /dev/sd_x adiciona o disco ao grupo LVM (para saber os grupos disponíveis digitar '# vgs')
# vgdisplay mostra as propriedades do grupo
# df -h lista os diretórios disponíveis
# lvextend -L +2G /dev/mapper/centos-var extende o diretório selecionado. A opção -L utiliza o tamnaho em bytes, a opção -l aumenta em porcentagem
# lvscan verifica se o espaço foi adicionado
# xfs_growfs /dev/mapper/centos-var grava as mudanças no disco.
# df -h ver o espaço no volume aumentado
# fdisk /dev/sda seleciona o disco a criar a partição
No fdisk digitar 'n' para nova partição 'p' partição primária 'ENTER' para Primeiro Setor e +2G para uma partição de 2Gb (podemos utilizar outros valores ou o valor total). Em seguida digitamos 't' para escolher o tipo de partição e '8e' para selecionar LVM. Por fim digitar 'w' para gravar as alterações.
Se receber uma mensagem de erro digitar:
# partprobe -s
# lsblk lista os discos e partições
# pvcreate /dev/sd_x cria um novo phisical volume
# pvscan lista os PV criados
# vgextend 'grupo' /dev/sd_x adiciona o disco ao grupo LVM (para saber os grupos disponíveis digitar '# vgs')
# vgdisplay mostra as propriedades do grupo
# df -h lista os diretórios disponíveis
# lvextend -L +2G /dev/mapper/centos-var extende o diretório selecionado. A opção -L utiliza o tamnaho em bytes, a opção -l aumenta em porcentagem
# lvscan verifica se o espaço foi adicionado
# xfs_growfs /dev/mapper/centos-var grava as mudanças no disco.
# df -h ver o espaço no volume aumentado
Em seguida devemos instalar as ferramentas de desenvolvedor:
yum groupinstall 'Development Tools'
Esse é um conjunto de ferramentas de desenvolvimento e essenciais caso seja necessário compilar algum pacote de instalação.
yum install vim
yum install net-tools
Seção 2 - Servidor de arquivos
Aula 9 - Criando uma pasta públicaPrimeiramente precisamos instalar o samba e seus componentes:
# yum install samba samba-client samba-common
Agora devemos configurar o arquivo de configuração do samba.
# vim /etc/samba/smb.conf
Nesse arquivo primeiramente vamos modificar o workgroup para o nome do nosso domínio.
em seguida incluimos o seguinte parametro para permitir que qualquer usuário acesse o disco:
map to guest = bad user
Em seguida criamos o compartilhamento:
[publica] nome do compartilhamento
path = /home/publica/ diretório do compartilhamento (verificar os tamanhos disponíveis)
writable = yes permitir a gravação no diretório
read only = no como o diretório é gravável desabilita a opção read only
guest ok = yes permite o acesso a convidados não logados
browseable = yes compartilhamento é visível
path = /home/publica/ diretório do compartilhamento (verificar os tamanhos disponíveis)
writable = yes permitir a gravação no diretório
read only = no como o diretório é gravável desabilita a opção read only
guest ok = yes permite o acesso a convidados não logados
browseable = yes compartilhamento é visível
Em seguida criamos a pasta no local definido e alteramos sua permissão para que todos possam acessar a pasta:
home# mkdir publica
home# chmod 777 publica
Agora devemos ativar o SAMBA para ser inicializado
automaticamente junto com o sistema: home# chmod 777 publica
# systemctl enable smb.service
Iniciamos agora o serviço:
# systemctl start smb.service Para que esse compartilhamento fique ativo devemos ainda incluir permissões no firewall e no SELinux.
O SELinux é uma camada extra de proteção do sistema. Sua configuração pode ser acessada em:
# vim /etc/sysconfig/selinux
Para liberar o acesso no firewall:
# firewall-cmd --permanent --zone=public --add-service=samba
Para liberação do SAMBA no SELinux utilizamos o comando a seguir:
# chcon -R -t samba_share_t /home/publica
Agora recarregamos o firewall:
firewall-cmd --reload
Com isso já temos acesso ao diretório através de uma máquina Windows.
Aula 10 - diretórios restritos (criando usuários)
Para criar usuários utilizamos o comando adduser
nome_do_usuário. Caso o objetivo seja apenas criar usuários
para acesso via SAMBA sem pastas locais utilizamos a opção
-M.
Para criarmos grupos utilizamos o comando groupadd nome_do_grupo.
Para adicionar usuários a grupos utilizamos o comando gpasswd -a nome_usuário nome_grupo.
Para alterar a propriedade(posse) de um diretório ou arquivo utilizamos o comando chown proprietário:grupo arquivo_ou_diretório No nosso curso criamos os usuários, grupos diretórios, definimos a propriedade e alteramos as permissões:
Como os usuários foram criados para acessar o sistema através do SAMBA (via Windows) não foram definidas senhas no Linux para eles.
Para criarmos grupos utilizamos o comando groupadd nome_do_grupo.
Para adicionar usuários a grupos utilizamos o comando gpasswd -a nome_usuário nome_grupo.
Para alterar a propriedade(posse) de um diretório ou arquivo utilizamos o comando chown proprietário:grupo arquivo_ou_diretório No nosso curso criamos os usuários, grupos diretórios, definimos a propriedade e alteramos as permissões:
$ adduser -M jean
$ adduser -M andreza
$ groupadd financeiro
$ groupadd admin
$ mkdir /financeiro
$ mkdir /admin
$ gpasswd -a andreza financeiro
$ gpasswd -a jean admin
$ chown root:financeiro /financeiro
$ chown root:admin /admin
$ chmod 770 /admin
$ chmod 770 /financeiro
Com essas configurações os acessos passam a ser restritos as
configurações definidas. $ adduser -M andreza
$ groupadd financeiro
$ groupadd admin
$ mkdir /financeiro
$ mkdir /admin
$ gpasswd -a andreza financeiro
$ gpasswd -a jean admin
$ chown root:financeiro /financeiro
$ chown root:admin /admin
$ chmod 770 /admin
$ chmod 770 /financeiro
Como os usuários foram criados para acessar o sistema através do SAMBA (via Windows) não foram definidas senhas no Linux para eles.
Aula 11 - configurando o acesso restrito a diretórios
Para adicionar um usuário ao SAMBA utilizamos o comando
smbpasswd -a nome_usuario. Esse comando irá
adicionar uma senha ao usuário.
Em seguida editamos o arquivo /etc/samba/smb.conf para incluir o novo compartilhamento:
Após isso devemos reiniciar o servidor SAMBA e inserir o compartilhamento no SELinux.
# chcon -R -t samba_share_t /admin/
# systemctl restart smb.service
Em seguida editamos o arquivo /etc/samba/smb.conf para incluir o novo compartilhamento:
[admin]
path = /admin/
writable = yes
read only = no
browseable = yes
valid users = +admin grupo de permissão de acesso
Atenção para a sintaxe do parâmetro
valid users = +nome_do_grupo
path = /admin/
writable = yes
read only = no
browseable = yes
valid users = +admin grupo de permissão de acesso
Após isso devemos reiniciar o servidor SAMBA e inserir o compartilhamento no SELinux.
# chcon -R -t samba_share_t /admin/
# systemctl restart smb.service
Aula 12 a 13 - Configurando a lixeira / Restrição de arquivos
Podemos criar um diretório para gravar arquivos deletados para
posterior recuperação. Para isso criamos uma pasta /lixeira e
fazemos as seguintes configurações no arquivo
/etc/samba/smb.conf:
# chcon -R -t samba_share_t /lixeira/
# systemctl restart smb.service
Precisei incluir na configuração do compartilhamento a diretiva guest ok = yes para poder acessar o diretório na rede, mas com isso os arquivos deletados no windows, mesmo com a combinação Shift + Del são tranferidos para a pasta definida. Esses arquivos só não podem ser restaurados pelo modo de restauração do Windows. Devem ser movidos novamente para o diretório desejado.
Para impedir que arquivos com extensões definidas sejam copiados para um diretório podemos incluir a diretiva:
veto files = *.exe/*.com/*.sys/*.bat
Os tipos de arquivo devem ser separados por '/'. Essa diretiva pode ser incluida em qualquer compartilhamento.
[lixeira]
path = /lixeira/
writable = yes
read only = no
browseable = yes
Na diretiva Global:
[Global]
...
recycle:keeptree = yes
recycle:versions = yes
recycle:repository = /lixeira/
recycle:exclude = *.tmp; *.bkp
Nas pastas em que se deseja recuperar os arquivos adicionar a seguinte diretiva:
vfs objects = recycle
Em seguida devemos liberar o diretório no SELinux: path = /lixeira/
writable = yes
read only = no
browseable = yes
Na diretiva Global:
[Global]
...
recycle:keeptree = yes
recycle:versions = yes
recycle:repository = /lixeira/
recycle:exclude = *.tmp; *.bkp
Nas pastas em que se deseja recuperar os arquivos adicionar a seguinte diretiva:
vfs objects = recycle
# chcon -R -t samba_share_t /lixeira/
# systemctl restart smb.service
Precisei incluir na configuração do compartilhamento a diretiva guest ok = yes para poder acessar o diretório na rede, mas com isso os arquivos deletados no windows, mesmo com a combinação Shift + Del são tranferidos para a pasta definida. Esses arquivos só não podem ser restaurados pelo modo de restauração do Windows. Devem ser movidos novamente para o diretório desejado.
Para impedir que arquivos com extensões definidas sejam copiados para um diretório podemos incluir a diretiva:
veto files = *.exe/*.com/*.sys/*.bat
Os tipos de arquivo devem ser separados por '/'. Essa diretiva pode ser incluida em qualquer compartilhamento.
Seção 3 - Criando uma intranet corporativa
Aula 14 - Instalando o servidor web$ yum install httpd
Feito isso precisamos liber as portas do httpd no firewall:
$ firewall-cmd --permanent --add-port=80/tcp
$ firewall-cmd --permanent --add-port=445/tcp
Em seguida recarregamos o firewall:
$ firewall-cmd --reload
E reiniciamos o servidor httpd:
$ systemctl restart httpd
A pasta padrão de arquivos html do apache é a seguinte:
/var/www/html
Nesta pasta incluimos os arquivos html.
O próximo passo é intalar os pacotes do PHP. Para isso devemos acrescentar os seguintes pacotes:
$ yum install php php-mysql php-gd php-pear A seguir reiniciamos o servidor apache e já conseguimos executar arquivos PHP.
systemctl restart httpd.service
Aula 16 - Instalando e gerenciando um Banco de Dados
Para a instalação do Banco de Dados vamos utilizar o SGBD oficial
das distribuições Linux MariaDB. A instalação é a seguinte:
$ yum install mariadb-server mariadb
$ systemctl start mariadb
$ systemctl enable mariadb
Com esses comando instalamos, iniciamos e criamos o link de inicialização do MariaDB.
Em seguida vamos criar as senhas para acesso do DB. Fazemos isso com o comando:
$ mysql_secure_installation
Na primeira execução a senha do mysql será nula.
Nesse curso vamos apenas definir a senha de root, mantendo as demais opções no padrão sugerido pelo mysql_secure_installation.
O gerenciamento do DB será feito pelo phpMyAdmin que será instalado com o comando:
$ yum install epel-release
O epel-release adiciona um repositório que permite a instalação do phpmyadmin.
A seguir instalamos o phpMyAdmin:
$ yum install phpmyadmin
Devemos então configurar as permissões para o phpMyAdmin editando o seu arquivo de configuração localizado em /etc/httpd/conf.d/phpMyAdmin.conf
Nesse arquivo devemos inserir após o primeiro bloco <Directory> o seguinte código:
Nesse arquivo na linha 41 ou na linha que configura o método de autenticação:
Em seguida reiniciamos o Apache:
$ systemctl restart httpd.service
Feito isso já podemos acessar os phpMyAdmin através do navegador acessando:
nome_do_host/phpmyadmin
$ yum install mariadb-server mariadb
$ systemctl start mariadb
$ systemctl enable mariadb
Com esses comando instalamos, iniciamos e criamos o link de inicialização do MariaDB.
Em seguida vamos criar as senhas para acesso do DB. Fazemos isso com o comando:
$ mysql_secure_installation
Na primeira execução a senha do mysql será nula.
Nesse curso vamos apenas definir a senha de root, mantendo as demais opções no padrão sugerido pelo mysql_secure_installation.
O gerenciamento do DB será feito pelo phpMyAdmin que será instalado com o comando:
$ yum install epel-release
O epel-release adiciona um repositório que permite a instalação do phpmyadmin.
A seguir instalamos o phpMyAdmin:
$ yum install phpmyadmin
Devemos então configurar as permissões para o phpMyAdmin editando o seu arquivo de configuração localizado em /etc/httpd/conf.d/phpMyAdmin.conf
Nesse arquivo devemos inserir após o primeiro bloco <Directory> o seguinte código:
<Directory /usr/share/phpMyAdmin>
Options none
AllowOverride Limit
Require all granted
</Directory>
Outro arquivo a ser editado é o
/etc/phpMyAdmin/config.inc.php. Options none
AllowOverride Limit
Require all granted
</Directory>
Nesse arquivo na linha 41 ou na linha que configura o método de autenticação:
...
$cfg['Servers'][$i]['auth_type']='cookie'; // Authentication method (config, http or cookie based)
...
Nessa linha devemos substituir o 'cookie' por 'http'.
$cfg['Servers'][$i]['auth_type']='cookie'; // Authentication method (config, http or cookie based)
...
Em seguida reiniciamos o Apache:
$ systemctl restart httpd.service
Feito isso já podemos acessar os phpMyAdmin através do navegador acessando:
nome_do_host/phpmyadmin
Aula 17 - Gerenciando o DNS
Para ativar o servidor DNS devemos primeiro precisamos instalar o
BIND:
$ yum install bind bind-utils
Agora configuramos o arquivo named.conf.
Neste arquivo devemos configurar quais redes serão escutadas. Para isso inserimos na linha:
options {
listen-on port 53 {127.0.0.1; any; };
...
allow-query {localhost; any;};
E mais abaixo nesse arquivo devemos incluir o servidor complementar para resolução de nomes (no caso utilizamos o DNS do google):
forwarders {
8.8.8.8; }; Esse parametro deve ser incluído ainda na chave options como último registro.
Ao final do arquivo inserimos os dados de apontamento:
Esse arquivo terá a seguinte configuração:
TTL (time to live);
SOA (start of authority) (autoridade de DNS).
Agora devemos criar o arquivo /var/named/192.168.10.db.
Esse arquivo terá a seguinte configuração:
O segundo arquivo é o arquivo de DNS Reverso.
A seguir liberamos o acesso ao firewall.
$ firewall-cmd --permanent --add-service=dns
$ firewall-cmd --complete-reload
Por fim iniciamos o BIND e incluimos o link para inicio permanente:
$ systemctl enable named.service $ systemctl start named.service
$ yum install bind bind-utils
Agora configuramos o arquivo named.conf.
Neste arquivo devemos configurar quais redes serão escutadas. Para isso inserimos na linha:
options {
listen-on port 53 {127.0.0.1; any; };
...
allow-query {localhost; any;};
E mais abaixo nesse arquivo devemos incluir o servidor complementar para resolução de nomes (no caso utilizamos o DNS do google):
forwarders {
8.8.8.8; }; Esse parametro deve ser incluído ainda na chave options como último registro.
Ao final do arquivo inserimos os dados de apontamento:
zone "homeserver" IN {
type master;
file "homeserver.db";
};
zone "192.168.10.in-addr.arpa" IN {
type master;
file "192.168.10.db";
};
Agora devemos criar o arquivo /var/named/homeserver.db.
type master;
file "homeserver.db";
};
zone "192.168.10.in-addr.arpa" IN {
type master;
file "192.168.10.db";
};
Esse arquivo terá a seguinte configuração:
$TTL 24h @ IN SOA dns.homeserver. root.homeserver. ( 1 ; Serial 12h ; Refresh 15m ; Retry 3w ; Expire 2h ; Minimum TTL ) @ IN NS dns.homeserver. dns IN A 192.168.10.101 servcentos IN A 192.168.10.101 www IN A 192.168.10.101 email IN A 192.168.10.101
SOA (start of authority) (autoridade de DNS).
Agora devemos criar o arquivo /var/named/192.168.10.db.
Esse arquivo terá a seguinte configuração:
$TTL 24h @ IN SOA dns.homeserver. root.homeserver. ( 1 ; Serial 12h ; Refresh 15m ; Retry 3w ; Expire 2h ; Minimum TTL ) @ IN NS dns.homeserver. 101 IN PTR dns.homeserver. 101 IN PTR servcentos.homeserver. 101 IN PTR www.homeserver. 101 IN PTR email.homeserver
A seguir liberamos o acesso ao firewall.
$ firewall-cmd --permanent --add-service=dns
$ firewall-cmd --complete-reload
Por fim iniciamos o BIND e incluimos o link para inicio permanente:
$ systemctl enable named.service $ systemctl start named.service
Seção 4 - Servidor de e-mail corporativo
Aula 18 - Configurações iniciais$ yum install postfix
Em seguida vamos configurar o serviço através do arquivo /etc/postfix/main.cf
Nesse arquivo vamos fazer as seguintes configurações: Na seção INTERNET HOST AND DOMAIN NAMES (linha 75):
Configurar:
myhostname = servcentos.homeserver
E na linha 83:
mydomain = homeserver Em SENDING MAIL (linha 99)
Descomentar a linha:
myorigin = $mydomain
Em RECEIVING MAIL (linha 116)
Alterar o parametro inet_interfaces de localhost para:
inet_interfaces = all
(linha 164)
Incluir em mydestination a variável $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
Em TRUST AND RELAY CONTROL (linha 264):
Incluir a linha:
mynetworks = 192.168.10.0/24, 127.0.0.0/8
Nesse caso o 24 representa a mascara 255.255.255.0.
Em DELIVERY TO MAILBOX (linha 419):
Descomentar a linha:
home_mailbox = Maildir/
Em SHOW SOFTWARE VERSION OR NOT (linha 575):
Inserir a linha:
smtpd_banner = $myhostname ESMTP
E ao final do arquivo inserir as seguintes linhas:
message_size_limit = 10485760
mailbox_size_limit = 1073741824
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
Em seguida reiniciamos o Postfix e habilitamos ele na
inicialização: mailbox_size_limit = 1073741824
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
$ systemctl restart postfix
$ systemctl enable postfix
Agora devemos instalar o Dovecot que é o servidor de e-mail.
$ yum install dovecot
E fazemos sua configuração no arquivo /etc/dovecot/dovecot.conf:
Nesse arquivo devemos descomentar a linha 24:
protocols = imap pop3 lmtp
Na linha 30 descomentar e remover o '::' referente ao IPV6:
listen = *
Em seguida editamos o arquivo /etc/dovecot/conf.d/10-auth.conf:
Neste arquivo descomentamos e alteramos a linha 10:
disable_plaintext_auth = no
Na linha 100 adicionar a opção login:
auth_mechanisms = plain login
O próximo arquivo é o /etc/dovecot/conf.d/10-mail.conf.
Na linha 30 devemos desomentar e alterar para:
mail_location = maildir:~/Maildir
Agora no arquivo /etc/dovecot/conf.d/10-master.conf
Na linha 96 devemos descomentar e adicionar as linhas faltantes:
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
E o último arquivo a configurar é /etc/dovecot/conf.d/10-ssl.conf
Alterar a linha 8 de required para no
ssl = no
Finalmente podemos iniciar o dovecot e inclui-lo na inicialização:
$ systemctl start dovecot $ systemctl enable dovecot
Aula 19 - Criando usuários de e-mail
Para criar usuários de e-mail vamos inicilamente criar um novo
usuário:
$ adduser -m contato
$ passwd contato
Irei verificar depois se foi criado e-mail para os usuários existentes.
A seguir vamos instalar o MailX e o Telnet
$ yum install mailx
$ yum install telnet
Agora vamos testar o envio de e-mail:
$ mail contato@homeserver
Subject: email teste
Este email é um teste
. O ponto finaliza o email.
Para localizarmos o email utilizaremos o telnet:
$ telnet localhost 110
$ adduser -m contato
$ passwd contato
Irei verificar depois se foi criado e-mail para os usuários existentes.
A seguir vamos instalar o MailX e o Telnet
$ yum install mailx
$ yum install telnet
Agora vamos testar o envio de e-mail:
$ mail contato@homeserver
Subject: email teste
Este email é um teste
. O ponto finaliza o email.
Para localizarmos o email utilizaremos o telnet:
$ telnet localhost 110