ITI 41

Sistemas Operacionais,

Análise e Projeto de Sistemas

 

4º Encontro da 1ª Unidade (04/07/2017)

 

Prof. Pedro Jatobá

Sumário:

 

 

Exercício 1.2

 

Servidor Apache

 

Exercício 1.3

ITI41 - S.O. e A.P.S.

Exercício 1.2

 

 

Criar máquina virtual no Oracle Virtual Box

 

 

Instalar o Ubuntu Server 16.04 LTS

ITI41 - S.O. e A.P.S.

Servidor Apache

 

Criado em 1995 por Rob McCool, na época funcionário da NCSA (National Center for Supercomputing Applications), o servidor Apache ou Servidor HTTP Apache é o mais bem sucedido servidor web livre que existe. Trata-se de um servidor web muito popular, utilizado principalmente no Linux.

Assim como qualquer servidor do tipo, o Apache é responsável por disponibilizar páginas e todos os recursos que podem ser acessados pelo internauta. Envio de e-mails, mensagens, compras online e diversas outras funções podem ser executadas graças a servidores como o Apache. O que vale destacar no Apache é que, apesar de tudo, ele é distribuído sob a licença GNU, ou seja, é gratuito e pode ser estudado e modificado através de seu código fonte por qualquer pessoa.

ITI41 - S.O. e A.P.S.

Servidor Apache

 

 

ITI41 - S.O. e A.P.S.

Etapa 0: Instalando o Apache 2

 

Antes de você começar este tutorial, você deve criar um usuário não-root

Você também precisará ter o Apache instalado a fim de trabalhar com estes passos.

Se você não tiver feito isto, você poderá ter o Apache instalado em seu servidor através do apt-get:

  • sudo apt-get update
  • sudo apt-get install apache2

 

ITI41 - S.O. e A.P.S.

Etapa 1: Criar a estrutura de diretórios

 

O primeiro passo que vamos tomar é criar uma estrutura de diretórios que irá armazenar os dados do site que estará servindo aos visitantes.

Nosso document root (o diretório de nível superior que o Apache olha para encontrar o conteúdo para servir) será definido para diretórios individuais sob o diretório /var/www.

Dentro de cada diretório, vamos criar o diretório public_html que irá manter nossos arquivos reais. Por exemplo:

  • sudo mkdir -p /var/www/example.com/public_html

ITI41 - S.O. e A.P.S.

Etapa 2: Conceder Permissões

 

Agora temos a estrutura de diretórios para nossos arquivos, mas eles são de propriedade de nosso usuário root. Para que nosso usuário regular esteja apto a modificar arquivos em nosso diretório web, alteramos o proprietário fazendo isto:

  • sudo chown -R $USER:$USER /var/www/example.com/public_html

A variável $USER terá o valor do usuário com o qual você está logado atualmente.

 

Devemos também modificar nossas permissões para garantir que o acesso de leitura é permitido para o diretório web geral e todos os arquivos e pastas que ele contém de modo que a páginas possam ser servidas corretamente:

  • sudo chmod -R 755 /var/www

ITI41 - S.O. e A.P.S.

Etapa 3: Criar as Páginas Demo

para cada Virtual Host

 

Temos nossa estrutura de diretório no lugar. Vamos criar algum conteúdo para servir.

Vamos fazer apenas uma demonstração, assim nossas páginas serão bastante simples. Vamos apenas fazer uma página index.html para cada site.

Vamos começar com example.com. Podemos abrir um arquivo index.html em nosso editor digitando:

  • nano /var/www/example.com/public_html/index.html

ITI41 - S.O. e A.P.S.

Etapa 3: Criar as Páginas Demo

para cada Virtual Host

Nesse arquivo, crie um documento HTML simples que indica o site que está conectado. Meu arquivo se parece com isso:

/var/www/example.com/public_html/index.html

<html>
  <head>
    <title>Bem vindo ao Exemplo da Aula 4!</title>
  </head>
  <body>
    <h1>Página de Teste</h1>
  </body>
</html>

ITI41 - S.O. e A.P.S.

Etapa 4: Criar arquivos de Virtual Hosts

Arquivos de virtual host são arquivos que especificam a configuração real do nosso virtual host e determina como o servidor web Apache irá responder às várias requisições de domínio.

O Apache vem com um arquivo padrão de virtual host chamado 000-default.conf que podemos usar como ponto de partida. Vamos copiá-lo para criar um arquivo de virtual host para cada um de nossos domínios.

Crie o primeiro arquivo de Virtual Host

Comece copiando o arquivo para o primeiro domínio:

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

ITI41 - S.O. e A.P.S.

Etapa 4: Criar arquivos de Virtual Hosts

Arquivos de virtual host são arquivos que especificam a configuração real do nosso virtual host e determina como o servidor web Apache irá responder às várias requisições de domínio.

O Apache vem com um arquivo padrão de virtual host chamado 000-default.conf que podemos usar como ponto de partida. Vamos copiá-lo para criar um arquivo de virtual host para cada um de nossos domínios.

Crie o primeiro arquivo de Virtual Host

Comece copiando o arquivo para o primeiro domínio:

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

ITI41 - S.O. e A.P.S.

Etapa 4: Criar arquivos de Virtual Hosts

Abra o novo arquivo em seu editor com privilégios de root:

  • sudo nano /etc/apache2/sites-available/example.com.conf

O arquivo será algo parecido com isso (eu removi os comentários aqui para tornar o arquivo mais legível):

/etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ITI41 - S.O. e A.P.S.

Etapa 4: Criar arquivos de Virtual Hosts

Vamos personalizar os itens aqui para nosso primeiro domínio e adicionar algumas diretivas adicionais. Esta seção de virtual host corresponde a quaisquer requisições que são feitas na porta 80, a porta padrão HTTP.

 

Em primeiro lugar, precisamos alterar a diretiva ServerAdmin para um e-mail que o administrador do site possa receber e-mails por ele.

  • ServerAdmin admin@example.com

 


ITI41 - S.O. e A.P.S.

Etapa 4: Criar arquivos de Virtual Hosts

Depois disso, precisamos adicionar duas diretivas. A primeira, chamada ServerName, estabelece o domínio de base que deve corresponder à esta definição de virtual host. Este provavelmente será o seu domínio. A segunda, chamada ServerAlias, define outros nomes que devem corresponder como se fossem o nome de base. Isto é útil para a correspondência dos hosts que você definiu, como www:

ServerName example.com
ServerAlias www.example.com

A outra única coisa que precisamos mudar para o arquivo de virtual host básico é a localização do documento raiz para este domínio. Nós já criamos o diretório que precisamos, então precisamos apenas alterar a diretiva DocumentRoot para refletir o diretório que criamos:

DocumentRoot /var/www/example.com/public_html

ITI41 - S.O. e A.P.S.

Etapa 4: Criar arquivos de Virtual Hosts

 

Ao final, o arquivo de virtualhost deve ficar assim:

/etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Salve e feche o arquivo.

ITI41 - S.O. e A.P.S.

Etapa 5: Ative o arquivo de Virtual Host

 

Agora que criamos nosso arquivo de virtual host, devemos ativá-lo. O Apache inclui algumas ferramentas que nos permitem fazer isto.

 

Podemos utilizar a ferramenta a2ensite para ativar cada um de nossos sites assim:

sudo a2ensite example.com.conf

Quando terminar, você precisará reiniciar o Apache para fazer com que estas alterações tenham efeito:

sudo service apache2 restart

ITI41 - S.O. e A.P.S.

Etapa 6: Configure o arquivo de hosts local

 

Se você não usou os nomes de domínio reais que você possui para testar este procedimento e tem usado alguns exemplos de domínios em vez disso, você pode testar ao menos a funcionalidade desse processo modificando temporariamente o arquivo hosts em seu computador local.

Isto irá interceptar todas as requisições para os domínios que você configurou e os apontará para o seu servidor VPS, da mesma forma que o DNS faria se você estivesse utilizando domínios registrados.

Você precisará da senha administrativa do computador ou de outra forma, ser membro do grupo administrativo.  Edite seu arquivo local digitando:

sudo nano /etc/hosts

ITI41 - S.O. e A.P.S.

Etapa 6: Configure o arquivo de hosts local

 

Os detalhes que você precisa adicionar são o endereço IP público do seu servidor seguido pelo domínio que você quer usar para alcançar esse endereço.

Para o domínio de exemplo utilizei o endereço local da minha máquina incluindo uma nova linha no final do meu arquivos hosts:

/etc/hosts
127.0.0.1   localhost
127.0.1.1   guest-desktop
127.0.1.1   example.com

ITI41 - S.O. e A.P.S.

Etapa 7: Teste seus resultados

 

Agora que você tem seu virtual hosts configurado.

 Para testar sua configuração instale o navegador web lynx através do comando:

 

  • sudo apt-get install lynx

 

Após a instalação digite:

 

  • lynx http://example.com
    
  • ITI41 - S.O. e A.P.S.

Exercício 1.3

 

 

Na máquina virtual criada no exercício 1.2:

 

 

Instalar e configurar o servidor Apache

  • ITI41 - S.O. e A.P.S.

ITI41 - Sistemas Operacionais e Análise e Projeto de Sistemas - 4º Encontro da 2ª Unidade (04/07/2017)

By Pedro Jatobá

ITI41 - Sistemas Operacionais e Análise e Projeto de Sistemas - 4º Encontro da 2ª Unidade (04/07/2017)

ITI41 - Sistemas Operacionais e Análise e Projeto de Sistemas, 4º Encontro da 1ª Unidade (04/07/2017), Temas abordados: Exercício 1.2, DNS e Bind9 e Exercício 1.3. Professor Pedro jatobá - IFBA Ilhéus 2017.

  • 473