# **Mail Server**
> Tecnologias utilizadas: Ubuntu Server 18, Postfix, Courier, Mailutils e Thunderbird.
---
### Neste relatório, vou abordar a instalação de um servidor Ubuntu, e configurar o mesmo para prestar serviços de mail, utilizando o Postfix como MTA (Mail Transfer Agent) e o Courier como MDA (Mail Delivery Agent), e o Mailutils vai complementar com as ferramentas necessárias para um servidor mail, para no final testar com um cliente que tenha instalado o MUA (Mail User Agent) Thunderbird.
## **1ª Fase - Instalação do servidor Ubuntu**
* ### **1.1 - Configuração de linguagem e layout do teclado**
Aqui configurei a linguagem que pretendia utilizar no servidor, no meu caso seleccionei `English` (Inglês). E depois seleccionei o layout do teclado que estava a utilizar `Portuguese` (referente ao teclado de formato português).


* ### **1.2 - Seleção de sistema e configuração de rede**
Neste passo selecionei a verão que queria. Selecionei `Ubuntu`, pois contém o sistema base, que é o que vamos utilizar.
Depois tive de configurar a interface de rede que vai servir a rede, `enp0s8`, e configurei a com o IP `192.168.0.1/24`.
Como a rede onde a máquina está a ser executada tem um servidor proxy `http://172.16.10.253:8080`, teve de ser inserido de modo a poder prosseguir com a instalação do Ubuntu.




* ### **1.3 - Configuração do storage**
Neste passo, configurei o disco onde o Ubuntu foi instalado, para tal selecionei a opção `Use an entire disk` e selecionei o disco desejado, para esse mesmo disco ser particionado automaticamente.




* ### **1.4 - Criação do user e fim da instalação**
Neste passo defini o nome da máquina e o username com a sua respetiva password, depois foi só esperar pelo fim do processo da instalação do servidor e reiniciar o mesmo.


## **2ª fase - Configurações iniciais da máquina**
* ### **2.1 - Password root**
Em qualquer máquina Linux, este deve ser sempre o primeiro passo a efetuar. Para o fazer, executei o comando `sudo passwd`.

* ### **2.2 - Configuração do proxy**
Volto a referir que o ambiente de rede onde esta máquina estava a ser executada. tinha um servidor proxy. Para aplicar este servidor a nivel de sistema, tive de editar o ficheiro `/etc/enviroment` e acrescentar as linhas:
`http_proxy="http://172.16.10.253:8080"` e
`https_proxy="http://172.16.10.253:8080"`.
Onde `http://172.16.10.253:8080` era o proxy da rede.
Para aplicar o proxy, a máquina teve de ser reiniciada.


* ### **2.3 - Atualização de repositórios**
Antes de instalar qualquer software no servidor, tive de atualizar os repositórios, sendo este também um dos passos obrigatórios em qualquer máquina Linux. Para o fazer executei o comando `apt-get update`.

## **3ª fase - Postfix**
* ### **3.1 - Instalação**
Neste passo comecei a instalação do Postix com o comando `apt-get install postfix`.
Depois na configuração inicial, selecionei a opção `Internet Site` pois é a opção que se adequava ao nosso servidor. Depois defini o "System mail name" como o nome do servidor, por uma questão de coerência.



* ### **3.2 - Main. cf**
Para configurar o Postfix, necessitei de editar o ficheiro `/etc/postfix/main.cf`. Sendo este um ficheiro de configuração, uma precaução a tomar foi a criação de um backup do mesmo, para o fazer executei o comando `cp /etc/postfix/main.cf /etc/postfix/main.cf~` sendo o `main.cf~` o ficheiro de backup.


A primeira configuração feita, foi a declaração da rede onde o servidor vai trabalhar, portanto acrescentei `192.168.0.0/24` à linha `mynetworks`.

Outra confiuração foi a definição do banner, simplesmente inseri o hostname do servidor `ubmail`.

Para finalizar, inseri as configurações de mailbox. para o fazer inseri as linhas
`home_mailbox=Maildir/` e
`mailbox_command=`.

Após as configurações, reiniciei o serviço Postfix para o mesmo assumir as novas configurações. Para o fazer inseri `systemctl restart postfix`. E verifiquei o estado do mesmo com o comando `service postfix status`.

## **4ª fase - Mailutils**
Para instalar o conjunto de software Mailutils, inseri o comando `apt-get install mailutils`.

## **5ª fase - Courier**
Para a instalação do nosso MDA, o Courier, bastou inserir o comando `apt-get install courier-imap`, pois só pretendemos utilizar o protocolo IMAP, selecionar `no` quando pedida a instalção do componente para administração web e selecionar `ok` nas janelas seguintes.




## **6ª fase - Configurações adicionais**
* ### **6.1 - Criação mailbox**
Para garantir que qualquer novo utilizador já viesse com mailbox criada, criei no diretorio `/etc/skel` (diretorio do conteúdo que qualquer nova conta de utilizador contém) uma mailbox. Para o fazer utilizei o comando `maildirmake /etc/skel/Maildir`.

* ### **6.2 - Criação de um user**
Para poder testar os serviços de mail, criei um novo utilizador no servidor, o Ronaldo. Para o fazer utilizei o comando `adduser ronaldo`.

* ### **6.3 - Serviço de autenticação**
Para garantir que não existia nenhum problema na autenticação dos utilizadores nos serviços mail, adicionei o serviço de autenticação do Courier ao arranque do servidor, com o comando `systemctl enable courier-authdaemon.service` e verifiquei se o mesmo estava a trabalhar com o comando `service courier-authdaemon status`.


## **7ª Fase - Teste com cliente**
Para testar o servidor, liguei uma máquina cliente na mesma rede.
Primeiro editei o ficheiro `/etc/hosts` e acrescentei a linha `192.168.0.1 ubmail` de modo a que o cliente reconhecesse o servidor pelo hostname.
Depois bastou configurar o MUA Thunderbird, com as configurações da conta `ronaldo` criada anteriormente.



---
**Rodrigo Oliveira || TIIGR 0916 B || UFCD 0842 || Formador: David Sanguinetti**
