Você está na página 1de 26

Web Server Apache

O Web Server Apache é o serviço web mais utilizado no mundo para


disponibilização de aplicações web, sua estabilidade, segurança e
desempenho são os responsáveis por todo esse sucesso.

Em verdade toda arquitetura do serviço é desenvolvida de forma


modular, fato que facilita a adesão de recursos para suporte a novas
tecnologias.

O desenvolvimento de recursos para o Apache contínuo, essa é


uma das vantagens do software de código aberto, permitindo assim
um ciclo de vida de software com muito mais correções do que
soluções fechadas.
Web Server Apache
O Apache ou httpd para os íntimos será implementado no node
Intranet, para dar inicio a implementação autentique no host e suba
a root.

Verfque se o pacote já esta instalado no node


# dpkg -l apache2

Devido a impementações passadas o pacote deve estar instalado,


verfque então o status do serviço
# systemctl status apache2
Web Server Apache
Entre no direório raiz do apache
# cd /etc/apache2

Execute a listagem do diretório e verfque seu conteúdo


# ls -lh

A estrutura modular do apache esta distribuida em diretórios de


alocação de módulos e diretórios de ativação de módulos.

O processo de ativação de um módulo ocorre através de um link


simbólico criado no diretório de ativação que aponta para o arquivo
de carregamento do módulo contido no diretório de alocação de
módulos.
Web Server Apache
Arquivos e diretórios de confgurações do apache
apache2.conf
conf-abailable
conf-enabled
envvars
magic
mods-available
mods-enabled
ports.conf
sites-available
sites-enabled
Web Server Apache
Abra o arquivo principal do apache e altere o bloco contido entre as
linhas 176 e 180 adicionando o conteúdo em negrito na linha 176 e
descomentando todas as linhas do bloco

# vim + 176 /etc/apache2/apache2.conf


<Directory /srv/www/>

Grave as alterações no arquivo e saia.

Reincie o serviço do Apache


# systemctl restart apache2
Web Server Apache
Instale o módulo do PHP e todas as bibliotecas necessárias para
integra-lo ao Apache
# apt install php7.0 php-pear php7.0-curl php7.0-gd php7.0-intl
php7.0-xmlrpc php7.0-mysql

Crie um arquivo teste para verifcar o módulo PHP no Apache


# vim /var/www/html/info.php
<!DOCTYPE html>
<html>
<head>
<title>Info about PHP</title>
</head>
Web Server Apache
<body>
<?php phpinfo(); ?>
</body>
</html>

Grave o arquivo e inicie o serviço do Apache


# systemctl start apache2

Verifque o status do serviço


# systemctl status apache2
Web Server Apache
Verifque as ifnormações sobre o versionamento do PHP
# php -v

Verifque quais módulos estão ativos no PHP


# php -m | less

Verifque no Apache a execução do módulo principal do php


# a2enmod php7.0

Acesse através do node Interno a página de testes criada


$ frefox http///intranet.asf.com/info.php
Web Server Apache
Execute o download dos pacotes que contém a aplicação e o dump
SQL contidos no Forceclass através do node interno e transfra o
pacote com a aplicação para o node intranet e o pacote com o dump
SQL para o node Datacenter.

Transferindo a aplicação para o node Intranet


# scp -P 52010 /home/analista/Downloads/express.zip
intranet.asf.com//home/analista/

Transferindo o dump SQL para o node Datacenter


# scp -P 52020 /home/analista/Downloads/backup.zip
datacenter.asf.com//srv/asf/homes/analista/
Web Server Apache
No node Intranet, descompacte o conteúdo do pacote express.zip
no diretório /srv/www
# cd /srv/www && unzip /home/analista/express.zip

No node Datacenter, descompacte o conteúdo do pacote backup.zip


no diretório /root
# unzip /srv/asf/homes/analista/backup.zip

No node Intranet, inicie a criação do bloco de VirtualHost para a


aplicação express.
# vim /etc/apache2/sites-available/express.conf
Web Server Apache
<VirtualHost express.asf.com/80>
DocumentRoot /srv/www/express
ServerName express.asf.com
ServerAdmin analista@asf.com
ErrorLog /var/log/apache2/express-error.log
CustomLog /var/log/apache2/express-access.log common
</VirtualHost>

Aplique as opções de dono e grupo para a aplicação ao usuário de


execução do apache
# chown www-data/ -R /srv/www/express
Web Server Apache
Verifque se o módulo PHP esta ativo no servidor
# a2enmod php7.0

Verifque o link e o arquivo de carregamento do módulo


# ls /etc/apache2/mods-*/php7.0*

Desabilite o módulo
# a2dismod php7.0

Verifque o link e o arquivo de carregamento do módulo


# ls /etc/apache2/mods-*/php7.0*
Web Server Apache
Reinicie o serviço
# systemctl restart apache2

Verifque o link e o arquivo de carregamento do módulo


# ls /etc/apache2/mods-*/php7.0*

Habilite o módulo
# a2enmod php7.0

Verifque o link e o arquivo de carregamento do módulo


# ls /etc/apache2/mods-*/php7.0*
Web Server Apache
Reinicie o serviço
# systemctl restart apache2

Levante o o VirtualHost express


# a2ensite express

Confgure o arquivo /etc/hosts no node intranet


# echo '192.168.1.11 express.asf.com' >> /etc/hosts

Reinicie o serviço do Apache


# systemctl restart apache2
Web Server Apache
Acesse a aplicação via browser pelo node Interno
$ frefox http///express.asf.com

Com o teste de acesso aplicação executado com êxito é hora de


direcionarmos a atenção para a implementação de módulos que
trarão maior segurança ao serviço do Apache e a aplicação
levantada.

Para prover comunicação tunelada com criptografa entre clientes e


apliacação será necessário confgurar um certifcado digital, esta
aterfa será feita manualmente através do processo de geração e
auto assinatura do certifcado digital.
Web Server Apache
Além do certifcado trabalharemos com o módulo rewrite para
executar redirecionamentos de qualquer acesso destinado a porta
80 para a aplicação express. O redirecionamento também provê um
recurso de segurança ao impedir que um usuário tente acessar
diretórios aleatórios no servidor através da porta 80.

Para inciarmos essas tarefas instale os pacotes abaixo


# apt install openssl

Habilite o módulo rewrite no Apache


# a2enmod rewrite && systemctl restart apache2
Web Server Apache
Crie o diretório que alocará o certifcado e seus arquivos
# mkdir /etc/ssl/express

Crie a chave para o certifcado digital


# openssl genrsa -out /etc/ssl/express/express.key 2048

Crie o arquivo de requisição para o certifcado digital, ou certifcado


digital não assinado

# openssl req -new -key /etc/ssl/express/express.key -out


/etc/ssl/express/express.csr
MTA Postfix
Country Name (2 letter code) [AU]/ BR
State or Province name (full name) [Some-State]/RJ
Locality Name (eg, city)/ RiodeJaneiro
Organizational Unit Name (eg,section) [ ]/ SI
Common Name (eg,YOUR name) [ ]/ express.asf.com
Email Address [ ]/ analista@asf.com
Please enter the following ’ extra ’ attributes to be sent with your
certifcate request
A challenge password [ ]/ (Apenas tecle Enter)
An optional company name [ ]/ (Apenas tecle Enter)
Web Server Apache
Assine o certifcado digital
# openssl x509 -req -days 365 -in /etc/ssl/express/express.csr
-signkey /etc/ssl/express/express.key -out
/etc/ssl/express/express.crt

Abra o arquivo /etc/apache2/ports.conf e substitua a linha Listen 443


contida nos blocos ssl_module e mod_gnutls.c pelas confgurações
abaixo nosdois blocos

Listen 192.168.1.10/443
Listen 192.168.1.11/443
Web Server Apache
Assine o certifcado digital
# openssl x509 -req -days 365 -in /etc/ssl/express/express.csr
-signkey /etc/ssl/express/express.key -out
/etc/ssl/express/express.crt

Abra o arquivo /etc/apache2/ports.conf e substitua a linha Listen 443


contida nos blocos ssl_module e mod_gnutls.c pelas confgurações
abaixo nosdois blocos

Listen 192.168.1.10/443
Listen 192.168.1.11/443
Web Server Apache
Edite a confguração do arquivo express.conf
# vim /etc/apache2/sites-available/express.conf

<VirtualHost express.asf.com/443> Altere de 80 para 443!


...
SSLEngine on
SSLCertifcateFile /etc/ssl/express/express.crt
SSLCertifcateKeyFile /etc/ssl/express/express.key
</VirtualHost>
<VirtualHost express.asf.com/80> Crie esse novo bloco
RewriteEngine On
Web Server Apache
Options +FollowSymlinks
rewriteCond %{SERVER_PORT} 80
rewriteRule ^(.*)$ https///express.asf.com/ [R,L]
</VirtualHost>

Teste o acesso ao site em https e teste o redirecionamento de


tentativas de acesso ao site via porta 80 através do node Interno.

$ frefox http///express.asf.com

Você também pode gostar