servidor apache
Post on 23-Jun-2015
4.924 Views
Preview:
TRANSCRIPT
1 UFCD 0840 - Servidores Web
odução ............................................................................................................................................... 4
de de páginas e suas aplicações ...................................................................5
do Servidor Apache ......................................................................................................... 7
Instalação, Iniciação e Configuração de um Servidor Web com Apache, MySQL, PHP
no Windows (WAMP) ........................................................................................................................... 8
Instalação, Iniciação e Configuração de um Servidor Web com Apache, MySQL, PHP
no Ubuntu (LAMP) .............................................................................................................................. 15
Conclusão ............................................................................................................................................... 30
Bibliografia ............................................................................................................................................. 31
2 UFCD 0840 - Servidores Web
Ilustração 1 - Gráfico dos servidores ................................................................................................. 6
Ilustração 2 - Apache ............................................................................................................................ 7
Ilustração 3 - Instalação WampServer ............................................................................................ 8
Ilustração 4 - Directoria da configuração Wamp ...................................................................... 9
Ilustração 5 - Página escolhida ......................................................................................................... 9
Ilustração 6 - Ficheiro hosts ............................................................................................................... 10
Ilustração 7 - Reiniciar serviços .......................................................................................................... 11
Ilustração 8 - Aceder remotamente ao servidor de páginas .................................................. 11
Ilustração 9 - Instalação OpenSSL .................................................................................................. 12
Ilustração 10 - openssl genrsa -des3 -out server.key 1024 ....................................................... 12
Ilustração 11 - Criar Certificado ........................................................................................................ 13
Ilustração 12 - Ficheiro httpd-ssl.conf ............................................................................................. 14
Ilustração 13 - apt-get install apache2 .......................................................................................... 15
Ilustração 14 - PassWord .................................................................................................................... 16
Ilustração 15 - apt-get install mysql-server mysql-client ......................................................... 16
Ilustração 16 - apt-get install php5 libapache2-mod-php5 ................................................... 17
Ilustração 17 - aptitude install phpmyadmin .............................................................................. 18
Ilustração 18 - Reiniciar servidor Apache ...................................................................................... 18
Ilustração 19 - Configuração PHPMYADMIN2 ........................................................................... 19
Ilustração 20 - Configuração PHPMYADMIN ............................................................................ 19
Ilustração 21 - Configuração PHPMYADMIN3 .......................................................................... 20
Ilustração 22 - Configuração PHPMYADMIN4 ......................................................................... 20
Ilustração 23 - mkdir /var/www/carlos.local ............................................................................... 21
Ilustração 24 - sudo getdit /etc/apache2/sites-available/carlos.local .................................. 21
Ilustração 25 - Ficheiro hosts ............................................................................................................ 22
Ilustração 26 - a2dissite default ...................................................................................................... 23
Ilustração 27 - a2ensite carlos.local ............................................................................................... 23
Ilustração 28 - Recarregar o Apache ............................................................................................ 24
Ilustração 29 - Criar ficheiro index.html....................................................................................... 24
Ilustração 30 - cd /etc/ssl ................................................................................................................... 25
Ilustração 31 - sudo openssl genrsa -aes256 -out server.key 1024 ....................................... 25
3 UFCD 0840 - Servidores Web
Ilustração 32 - sudo openssl req -new -key server.key -out server.csr ............................... 26
Ilustração 33 - sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out
server.crt ................................................................................................................................................. 26
Ilustração 34 - cd /etc/apache2 ...................................................................................................... 27
Ilustração 35 - sudo mv server.key private/ ............................................................................... 27
Ilustração 36 - sudo a2ensite default-ssl ...................................................................................... 28
Ilustração 37 - Ficheiro default-ssl ................................................................................................. 28
Ilustração 38 - Reiniciar Apache ..................................................................................................... 29
4 UFCD 0840 - Servidores Web
O servidor Apache pode ser instalado no Linux e noutros sistemas operativos, suporta
algumas funcionalidades avançadas que iremos analisar e configurar ao longo do
presente trabalho.
A configuração do apache é efectuada com o recurso a determinados ficheiros de
configuração que iremos conhecer.
Para além das funcionalidades básicas, o Apache suporta módulos que acrescentam
novas funcionalidades.
Começaremos por focar a nossa atenção na configuração base do servidor Apache
que iremos abordar em seguida.
5 UFCD 0840 - Servidores Web
Um servidor de páginas disponibiliza informação numa rede, permite o acesso
simplificado através de cliente unificado e simples (browser WWW). Funciona como
interface entre aplicações e o utilizador, esconde as aplicações do utilizador, ajuda a
focar o utilizador nos serviços, permite construir novas aplicações através da
interligação de aplicações existentes
São necessários mecanismos de programação no servidor de páginas, tais como:
CGI – execução de programas externos;
Embebidos – linguagens internas ao servidor WWW.
Passaremos agora a mencionar alguns tipos de servidor de páginas:
Servidor HTTP Apache:
o Aplicação open source;
Servidor HTTP MS IIS:
o Aplicação proprietária;
Outros servidores HTTP
o Xitami, Zeus, OmniHTTPd, etc;
6 UFCD 0840 - Servidores Web
No uso dos servidores de páginas os dados são obtidos através de acessos ao servidor,
a sua compilação é por tipo e características do servidor, são geradas estatísticos
mensais.
Vejamos um gráfico onde nos mostra qual dos servidores é mais utilizado:
O servidor Apache é o mais utilizado como podemos ver no gráfico anterior, para
que isso aconteça, este servidor contém um conjunto de características para que tal
aconteça, vejamos:
Código mantido por uma comunidade aberta;
Elevada fiabilidade;
Excelente desempenho;
Grande flexibilidade de configuração e uso;
Suporte de várias plataformas;
Suporte do protocolo HTTP 1.1;
Estruturado em módulos;
Administração através de linha de comandos.
Vamos agora ver as aplicações disponíveis no servidor Apache.
Ilustração 1 - Gráfico dos servidores
7 UFCD 0840 - Servidores Web
O Apache como servidor Web tem como finalidade ser um servidor de páginas para
internet, mas pode ser usado como um servidor Web para acesso restrito, servir
exclusivamente para estações da rede interna.
Se usarmos um computador para partilha na internet, firewall ou proxy como um
servidor web interno, este, não consome muitos recursos, consome espaço em HD
conforme o que for disponibilizado.
Ao disponibilizar a página da empresa numa máquina interna, com o Apache
podemos obter uma economia de banda, ou disponibilizar documentos diversos,
tutoriais, instruções, normas da empresa e etc...
Fazer o download de ficheiros grandes e disponibilizar internamente, obtemos uma
grande economia de banda, o download interno é muito rápido, existe uma
separação destes ficheiros com o do servidor de ficheiros, protecção contra vírus
quando acedido por máquinas Windows, evita que os utilizadores naveguem na
Internet.
Podemos criar páginas com senha para restringir o acesso, utilizado em muitos casos
no backup de Discos Rígidos, em reinstalações, principalmente do Windows,
disponibilizar relatórios do SARG, relatórios de uso da internet com dados dos logs do
Squid.
Ilustração 2 - Apache
8 UFCD 0840 - Servidores Web
Para procedermos à instalação do Apache, Mysql e PHP no Windows, basta apenas
instalarmos o ficheiro WampServer. Como podemos ver na seguinte imagem:
Depois de instalado, a configuração do Wamp, é feita na directoria “c: wamp/www”.
Nesta directoria criamos uma pasta, e dentro desta pasta colocamos os ficheiros
pretendidos.
Ilustração 3 - Instalação WampServer
9 UFCD 0840 - Servidores Web
Sempre que quisermos colocar ficheiros no nosso servidor, basta realizar o
procedimento anterior.
Vejamos uns exemplos realizados em aula:
Agora se abrirmos o localhost ele vai abrir o índex, adicionado na directoria acima
referida:
Ilustração 4 - Directoria da configuração Wamp
Ilustração 5 - Página escolhida
10 UFCD 0840 - Servidores Web
Um outro passo importante que podemos realizar é o virtualhosts, ou seja todos os
computadores da rede acedem ao nosso servidor de páginas, vamos gora passar a
mencionar as configurações realizadas para que seja feita esta virtualização.
O primeiro passo é irmos à directoria “C: \ WINDOWS \ system32 \ drivers \ etc \”,
nesta directoria encontramos um ficheiro com o nome “hosts”, neste ficheiros
adicionamos as seguintes linhas “127.0.0.1 carlos/127.0.0.1 filipe”, estas linhas fazem
com que qualquer url com o valor “Carlos e Filipe”, seja reencaminhado para o
127.0.0.1(localhost), vejamos:
De seguida, vamos editar o ficheiro "vhosts.conf-httpd", localizado na directoria "C: \
bin wamp \ \ apache \ conf Apache2.2.11 \", e aqui vamos inserir o seguinte texto:
Ilustração 6 - Ficheiro hosts
11 UFCD 0840 - Servidores Web
Reiniciamos todos os serviços na opção Wamp, como podemos ver na seguinte imagem:
Pronto em qualquer computador podemos aceder ao nosso servidor de Páginas:
Ilustração 7 - Reiniciar serviços
Ilustração 8 - Aceder remotamente ao servidor de páginas
12 UFCD 0840 - Servidores Web
O próximo passo é colocar o openSSL a funcionar, para tal vamos instala-lo, vejamos:
Depois de instalado o OpenSSl, vamos à linha de comando do Winodws e vamos à
directória onde está instalado Apache, “C:\wamp\bin\apache\Apache2.2.11\bin”,
depois excutamos o seguinte comando “openssl genrsa -des3 -out server.key 1024”:
Ilustração 9 - Instalação OpenSSL
Ilustração 10 - openssl genrsa -des3 -out server.key 1024
13 UFCD 0840 - Servidores Web
Após criarmos a nosso pass phrase, segue-se um tipo de questionário, sobre o nosso
país, etc, para que isso existe a necessidade de executarmos o seguinte comando
“openssl req -new -key server.key -out server.csr –config
C:\wamp\bin\apache\Apache2.2.11\\conf\openssl.cnf”:
O próximo passo será criar um certificado, para basta ainda na consola digitar o
seguinte comando “openssl rsa -in server.key -out server.key”, digitamos a pass
phrase criada anteriormente e está criado o nosso certificado:
Durante estas operações realizadas anteriormente, esta foram guardadas na
directoria actual “/bin”,então existe a necessidade de as copiarmos para a directoria
para “/conf”, basta digitarmos o seguinte comando “Copy server.*
C:\wamp\bin\apache\Apache2.2.11\\conf\\conf\*”, os ficheiros a ser copiados são
server.key, server.csr e server.crt:
Ilustração 11 - Criar Certificado
14 UFCD 0840 - Servidores Web
O próximo passo, passa pela configuração de alguns ficheiros, que precisam de ser
configurados consoante as nossas necessidades, para que o SSL, funcione
correctamente, são eles httpd-ssl.conf e httpd.conf.
Comecemos por o httpd.conf, aqui vamos descomentar (retirar o símbolo cardinal)
nas seguintes linhas existentes no documento:
Abrimos o ficheiro httpd-ssl.conf e procuramos pelas seguintes linhas e observamos se
o caminho dos ficheiros server.key e server.crt estão correctos e descomentamos as
linhas em questão:
Pronto, o OpenSSL, está a funcionar no nosso servidor Apache.
Ilustração 12 - Ficheiro httpd-ssl.conf
15 UFCD 0840 - Servidores Web
Vamos agora mostrar como procedemos à instalação e configuração do Apache,
Mysql e Php no Ubuntu.
Começamos com a instalação do Apache, como habitual no Ubuntu para qualquer
instalação usamos o comando “apt-get install apache2”:
Depois de instalado o Apache, vamos agora instalar o Mysql, usando o comando
“apt-get install mysql-server mysql-client”, neste passo seremos solicitados para
fornecer uma senha para o utilizador root do MySQL, esta senha é válida para o
utilizador root @ localhost:
Ilustração 13 - apt-get install apache2
16 UFCD 0840 - Servidores Web
Agora vamos passar à instalação do PHP5 “apt-get install php5 libapache2-mod-
php5”:
Ilustração 15 - apt-get install mysql-server mysql-client
Ilustração 14 - PassWord
17 UFCD 0840 - Servidores Web
Depois de instalado o PHP5, existe a necessidade de reiniciarmos o servidor apache,
para isso executamos o seguinte comando: “/ Etc/init.d/apache2 restart”:
Ilustração 16 - apt-get install php5 libapache2-mod-php5
18 UFCD 0840 - Servidores Web
O phpMyAdmin é uma interface Web através da qual podemos gerir as nossas bases
de dados MySQL, torna-se numa ferramenta muito útil, por isso vamos mostrar como
procedemos à sua instalação, digitamos o seguinte comando “aptitude install
phpmyadmin”:
Durante esta instalação devemos escolher as opções que nos são sugeridas:
Ilustração 18 - Reiniciar servidor Apache
Ilustração 17 - aptitude install phpmyadmin
19 UFCD 0840 - Servidores Web
Ilustração 20 - Configuração PHPMYADMIN
Ilustração 19 - Configuração PHPMYADMIN2
20 UFCD 0840 - Servidores Web
Feitas todas as instalações, vamos agora passar para as configurações para que tudo
funcione correctamente.
Ilustração 21 - Configuração PHPMYADMIN3
Ilustração 22 - Configuração PHPMYADMIN4
21 UFCD 0840 - Servidores Web
Para criar um virtual host no apache2 instalado no Ubuntu, temos de criar pastas
dentro da directoria /var/www, por exemplo no meu caso criei a directoria carlos.local
através do comando, “mkdir /var/www/carlos.local”, vejamos:
De seguida vamos editar o ficheiro “sites-available” que se encontra nesta directoria,
digitamos o comando “sudo getdit /etc/apache2/sites-available/carlos.local”:
Ilustração 23 - mkdir /var/www/carlos.local
Ilustração 24 - sudo getdit /etc/apache2/sites-available/carlos.local
22 UFCD 0840 - Servidores Web
Irá aparecer uma janela com o ficheiro que vamos editar:
Guardamos este ficheiro e fechamos.
De seguida vamos editar o ficheiro “hosts” do Ubuntu: “sudo gedit /etc/hosts”,
adicionamos a seguinte linha: “127.0.0.1 carlos.local”
Guardamos e fechamos.
Vamos abrir o ficheiro “apache2.conf”, “sudo gedit /etc/apache2/apache2.conf” e
certificarmo-nos de que ele possui as linhas:
Ilustração 25 - Ficheiro hosts
23 UFCD 0840 - Servidores Web
NameVirtualHost *:80
Listen 80
Editamos se for preciso (adicionamos as linhas), guardamos e fechamos.
Na consola, desabilitamos o site default do apache: “a2dissite default”:
E habilitamos o nosso vhost: “a2ensite carlos.local”
Ilustração 26 - a2dissite default
Ilustração 27 - a2ensite carlos.local
24 UFCD 0840 - Servidores Web
Digitamos o seguinte comando: “sudo /etc/init.d/apache2 reload”
Em seguida vamos até à directoria /var/www/carlos.local, e criamos um novo ficheiro,
“index.html”, e inserimos o seguinte código:
Ilustração 28 - Recarregar o Apache
Ilustração 29 - Criar ficheiro index.html
25 UFCD 0840 - Servidores Web
Abrimos o browser e acedemos a http://carlos.local, e lá está o ficheiro que criámos
anteriormente. O virtual host está criado!
Para criar outros, seguimos o mesmo processo, substituindo carlos.local pelo nome do
novo virtual host.
Para habilitarmos o SSL no Apache2 do Ubuntu temos de aceder à directoria /etc/ssl
executando o comando “cd /etc/ssl”:
O primeiro passo é gerarmos um par de chaves RSA através do comando “sudo
openssl genrsa -aes256 -out server.key 1024”,
Ilustração 30 - cd /etc/ssl
Ilustração 31 - sudo openssl genrsa -aes256 -out server.key 1024
26 UFCD 0840 - Servidores Web
Depois de gerarmos o par de chaves, temos de criar um certificado (CSR - Cert signing
request), executamos o comando “sudo openssl req -new -key server.key -out
server.csr”, vejamos:
Neste ficheiro aparece-nos um formulário de informações que ficará incorporado no
certificado. Em seguida vamos criar Self Sign Certificate, executamos o comando
“sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt”,
vejamos:
Ilustração 32 - sudo openssl req -new -key server.key -out server.csr
Ilustração 33 - sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
27 UFCD 0840 - Servidores Web
Em seguida movemos o certificado e a respectiva chave para as pastas apropriadas,
digitamos os comandos, “sudo mv server.crt certs/” e “sudo mv server.key private/”:
O próximo passo é habilitar o default-ssl site no apache2, para isso digitamos o
comando “cd /etc/apache2/”, entramos na directoria e habilitamos o módulo ssl,
vejamos:
Ilustração 35 - sudo mv server.key private/
Ilustração 34 - cd /etc/apache2
28 UFCD 0840 - Servidores Web
Em seguida habilitamos o default-ssl site com o comando “sudo a2ensite default-ssl”:
Depois vamos editar o ficheiro sites-enabled/default-ssl com o comando, “sudo gedit
sites-enabled/default-ssl”:
Ilustração 36 - sudo a2ensite default-ssl
Ilustração 37 - Ficheiro default-ssl
29 UFCD 0840 - Servidores Web
Depois basta reiniciarmos o apache2, digitamos o comando “sudo service apache2
restart”:
Para testar e finalizar temos de abrir o browser e digitar no meu caso o endereço
https://carlos.local, e funciona.
Ilustração 38 - Reiniciar Apache
30 UFCD 0840 - Servidores Web
Depois de realizado este trabalho podemos estabelecer as diferenças existentes entre
as duas plataformas (Windows/Linux (Ubuntu)).
A instalação dos servidores em ambos é muito fácil de realizar, pois basta instalar o
Wamp em Windows e o Lamp em Linux, mas existem algumas dificuldades na
configuração do OpenSSL no Windows, coisa que no Ubuntu, torna-se uma
configuração muito fácil e rápida de se executar.
Vejamos agora algumas vantagens do uso da plataforma Linux:
O Linux tem uma boa reputação para maior segurança, e em muitos casos
não é necessário instalar software antivírus ao nível do servidor. Graças à
natureza bloqueado, modular de sistemas baseados em Unix, é difícil para um
vírus se infiltrar no sistema sem a expressa autorização do administrador.
Apesar da reputação como um sistema operativo para "nerds", é muito bem
organizado e lógico. Há poucas camadas de abstracção que reduz o inchaço
de código, e a natureza do código aberto do Linux significa vulnerabilidades
são localizados e corrigidos mais rapidamente.
Envolve menos preocupações e custos, e é mais confiável do que no Windows.
Também sai no topo em termos de segurança e protecção, e custa menos, pois
é OpenSource.
Concluímos então que a plataforma Linux é a mais fiável a nível de servidores Web.
31 UFCD 0840 - Servidores Web
Este trabalho teve como base o seguintes sites:
https://help.ubuntu.com/10.04/serverguide/C/httpd.html;
https://help.ubuntu.com/10.04/serverguide/C/web-servers.html;
http://tuxtweaks.com/2010/04/installing-lamp-on-ubuntu-10-04-lucid-lynx/;
http://tuxtweaks.com/2009/07/how-to-configure-apache-linux/;
http://blog.idealmind.com.br/geral/criando-virtual-hosts-no-linux-ubuntu-9-
10/;
https://wiki.auckland.ac.nz/display/BeSTGRID/Enabling+SSL+on+Apache2++%2
8Ubuntu+10.10%29;
http://www.andyhawthorne.net/2010/10/setting-up-a-lamp-server-on-
ubuntu-10-10/;
http://www.jonasmartinez.com/posts/criando-virtual-host-no-apache-2-2-
windows;
http://www.ruifeio.com/2011/01/30/setting-up-virtual-hosts-on-wampserver/;
http://www.neilstuff.com/apache/apache2-ssl-windows.htm;
http://imasters.com.br/artigo/3465/servidores_windows/instalando_ssl_no_apac
he2_em_ambiente_windows/;
http://pt.howticle.com/como-configurar-ssl-do-apache-para-windows.html;
http://ubuntu.no.sapo.pt/ssl.html;
http://nurulislam.wordpress.com/2008/06/24/https-and-ssl-setup-step-by-step-
guide/;
http://www.htmlstaff.org/ver.php?id=19702;
http://www.codigofonte.net/dicas/php/91_sistema-de-login-e-senha-com-bd;
http://osdir.com/ml/culture.publications.dicas/2008-06/msg00016.html;
http://rubayathasan.com/tutorial/apache-ssl-on-windows/;
http://phpbrasil.com/artigo/TRRz8rR-Qz_U/configurando-o-apache-22-com-
ssl-e-php-52-no-windows;
top related