Servidor apache

5,783 views
5,624 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,783
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
249
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Servidor apache

  1. 1. odução ............................................................................................................................................... 4 de de páginas e suas aplicações ...................................................................5 do Servidor Apache ......................................................................................................... 7Instalação, Iniciação e Configuração de um Servidor Web com Apache, MySQL, PHPno Windows (WAMP) ...........................................................................................................................8Instalação, Iniciação e Configuração de um Servidor Web com Apache, MySQL, PHPno Ubuntu (LAMP) .............................................................................................................................. 15Conclusão ............................................................................................................................................... 30Bibliografia ............................................................................................................................................. 31 1UFCD 0840 - Servidores Web
  2. 2. Ilustração 1 - Gráfico dos servidores ................................................................................................. 6Ilustração 2 - Apache ............................................................................................................................ 7Ilustração 3 - Instalação WampServer ............................................................................................8Ilustração 4 - Directoria da configuração Wamp ...................................................................... 9Ilustração 5 - Página escolhida ......................................................................................................... 9Ilustração 6 - Ficheiro hosts ...............................................................................................................10Ilustração 7 - Reiniciar serviços.......................................................................................................... 11Ilustração 8 - Aceder remotamente ao servidor de páginas .................................................. 11Ilustração 9 - Instalação OpenSSL .................................................................................................. 12Ilustração 10 - openssl genrsa -des3 -out server.key 1024 ....................................................... 12Ilustração 11 - Criar Certificado ........................................................................................................ 13Ilustração 12 - Ficheiro httpd-ssl.conf ............................................................................................. 14Ilustração 13 - apt-get install apache2 .......................................................................................... 15Ilustração 14 - PassWord .................................................................................................................... 16Ilustração 15 - apt-get install mysql-server mysql-client ......................................................... 16Ilustração 16 - apt-get install php5 libapache2-mod-php5 ................................................... 17Ilustração 17 - aptitude install phpmyadmin .............................................................................. 18Ilustração 18 - Reiniciar servidor Apache ...................................................................................... 18Ilustração 19 - Configuração PHPMYADMIN2 ........................................................................... 19Ilustração 20 - Configuração PHPMYADMIN ............................................................................ 19Ilustração 21 - Configuração PHPMYADMIN3 ..........................................................................20Ilustração 22 - Configuração PHPMYADMIN4 .........................................................................20Ilustração 23 - mkdir /var/www/carlos.local ............................................................................... 21Ilustração 24 - sudo getdit /etc/apache2/sites-available/carlos.local .................................. 21Ilustração 25 - Ficheiro hosts ............................................................................................................ 22Ilustração 26 - a2dissite default...................................................................................................... 23Ilustração 27 - a2ensite carlos.local ............................................................................................... 23Ilustração 28 - Recarregar o Apache ............................................................................................ 24Ilustração 29 - Criar ficheiro index.html....................................................................................... 24Ilustração 30 - cd /etc/ssl ................................................................................................................... 25Ilustração 31 - sudo openssl genrsa -aes256 -out server.key 1024 ....................................... 25 2UFCD 0840 - Servidores Web
  3. 3. Ilustração 32 - sudo openssl req -new -key server.key -out server.csr ............................... 26Ilustração 33 - sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -outserver.crt ................................................................................................................................................. 26Ilustração 34 - cd /etc/apache2 ...................................................................................................... 27Ilustração 35 - sudo mv server.key private/ ............................................................................... 27Ilustração 36 - sudo a2ensite default-ssl ...................................................................................... 28Ilustração 37 - Ficheiro default-ssl ................................................................................................. 28Ilustração 38 - Reiniciar Apache ..................................................................................................... 29 3UFCD 0840 - Servidores Web
  4. 4. O servidor Apache pode ser instalado no Linux e noutros sistemas operativos, suportaalgumas funcionalidades avançadas que iremos analisar e configurar ao longo dopresente trabalho.A configuração do apache é efectuada com o recurso a determinados ficheiros deconfiguração que iremos conhecer.Para além das funcionalidades básicas, o Apache suporta módulos que acrescentamnovas funcionalidades.Começaremos por focar a nossa atenção na configuração base do servidor Apacheque iremos abordar em seguida. 4UFCD 0840 - Servidores Web
  5. 5. Um servidor de páginas disponibiliza informação numa rede, permite o acessosimplificado através de cliente unificado e simples (browser WWW). Funciona comointerface entre aplicações e o utilizador, esconde as aplicações do utilizador, ajuda afocar o utilizador nos serviços, permite construir novas aplicações através dainterligação de aplicações existentesSã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; 5UFCD 0840 - Servidores Web
  6. 6. 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ísticosmensais.Vejamos um gráfico onde nos mostra qual dos servidores é mais utilizado: Ilustração 1 - Gráfico dos servidoresO servidor Apache é o mais utilizado como podemos ver no gráfico anterior, paraque isso aconteça, este servidor contém um conjunto de características para que talaconteç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. 6UFCD 0840 - Servidores Web
  7. 7. O Apache como servidor Web tem como finalidade ser um servidor de páginas parainternet, mas pode ser usado como um servidor Web para acesso restrito, servirexclusivamente para estações da rede interna.Se usarmos um computador para partilha na internet, firewall ou proxy como umservidor web interno, este, não consome muitos recursos, consome espaço em HDconforme o que for disponibilizado.Ao disponibilizar a página da empresa numa máquina interna, com o Apachepodemos 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 umagrande economia de banda, o download interno é muito rápido, existe umaseparação destes ficheiros com o do servidor de ficheiros, protecção contra vírusquando acedido por máquinas Windows, evita que os utilizadores naveguem naInternet.Podemos criar páginas com senha para restringir o acesso, utilizado em muitos casosno 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 doSquid. Ilustração 2 - Apache 7UFCD 0840 - Servidores Web
  8. 8. Para procedermos à instalação do Apache, Mysql e PHP no Windows, basta apenasinstalarmos o ficheiro WampServer. Como podemos ver na seguinte imagem: Ilustração 3 - Instalação WampServerDepois de instalado, a configuração do Wamp, é feita na directoria “c: wamp/www”.Nesta directoria criamos uma pasta, e dentro desta pasta colocamos os ficheirospretendidos. 8UFCD 0840 - Servidores Web
  9. 9. Sempre que quisermos colocar ficheiros no nosso servidor, basta realizar oprocedimento anterior.Vejamos uns exemplos realizados em aula: Ilustração 4 - Directoria da configuração WampAgora se abrirmos o localhost ele vai abrir o índex, adicionado na directoria acimareferida: Ilustração 5 - Página escolhida 9UFCD 0840 - Servidores Web
  10. 10. Um outro passo importante que podemos realizar é o virtualhosts, ou seja todos oscomputadores da rede acedem ao nosso servidor de páginas, vamos gora passar amencionar 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 ficheirosadicionamos as seguintes linhas “127.0.0.1 carlos/127.0.0.1 filipe”, estas linhas fazemcom que qualquer url com o valor “Carlos e Filipe”, seja reencaminhado para o127.0.0.1(localhost), vejamos: Ilustração 6 - Ficheiro hostsDe 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: 10UFCD 0840 - Servidores Web
  11. 11. Reiniciamos todos os serviços na opção Wamp, como podemos ver na seguinteimagem: Ilustração 7 - Reiniciar serviçosPronto em qualquer computador podemos aceder ao nosso servidor de Páginas: Ilustração 8 - Aceder remotamente ao servidor de páginas 11UFCD 0840 - Servidores Web
  12. 12. O próximo passo é colocar o openSSL a funcionar, para tal vamos instala-lo, vejamos: Ilustração 9 - Instalação OpenSSLDepois de instalado o OpenSSl, vamos à linha de comando do Winodws e vamos àdirectória onde está instalado Apache, “C:wampbinapacheApache2.2.11bin”,depois excutamos o seguinte comando “openssl genrsa -des3 -out server.key 1024”: Ilustração 10 - openssl genrsa -des3 -out server.key 1024 12UFCD 0840 - Servidores Web
  13. 13. Após criarmos a nosso pass phrase, segue-se um tipo de questionário, sobre o nossopaís, etc, para que isso existe a necessidade de executarmos o seguinte comando“openssl req -new -key server.key -out server.csr –configC:wampbinapacheApache2.2.11confopenssl.cnf”:O próximo passo será criar um certificado, para basta ainda na consola digitar oseguinte comando “openssl rsa -in server.key -out server.key”, digitamos a passphrase criada anteriormente e está criado o nosso certificado: Ilustração 11 - Criar CertificadoDurante estas operações realizadas anteriormente, esta foram guardadas nadirectoria actual “/bin”,então existe a necessidade de as copiarmos para a directoriapara “/conf”, basta digitarmos o seguinte comando “Copy server.*C:wampbinapacheApache2.2.11confconf*”, os ficheiros a ser copiados sãoserver.key, server.csr e server.crt: 13UFCD 0840 - Servidores Web
  14. 14. O próximo passo, passa pela configuração de alguns ficheiros, que precisam de serconfigurados consoante as nossas necessidades, para que o SSL, funcionecorrectamente, 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 seo caminho dos ficheiros server.key e server.crt estão correctos e descomentamos aslinhas em questão: Ilustração 12 - Ficheiro httpd-ssl.confPronto, o OpenSSL, está a funcionar no nosso servidor Apache. 14UFCD 0840 - Servidores Web
  15. 15. 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 qualquerinstalação usamos o comando “apt-get install apache2”: Ilustração 13 - apt-get install apache2Depois de instalado o Apache, vamos agora instalar o Mysql, usando o comando“apt-get install mysql-server mysql-client”, neste passo seremos solicitados parafornecer uma senha para o utilizador root do MySQL, esta senha é válida para outilizador root @ localhost: 15UFCD 0840 - Servidores Web
  16. 16. Ilustração 14 - PassWord Ilustração 15 - apt-get install mysql-server mysql-clientAgora vamos passar à instalação do PHP5 “apt-get install php5 libapache2-mod-php5”: 16UFCD 0840 - Servidores Web
  17. 17. Ilustração 16 - apt-get install php5 libapache2-mod-php5Depois de instalado o PHP5, existe a necessidade de reiniciarmos o servidor apache,para isso executamos o seguinte comando: “/ Etc/init.d/apache2 restart”: 17UFCD 0840 - Servidores Web
  18. 18. Ilustração 18 - Reiniciar servidor ApacheO phpMyAdmin é uma interface Web através da qual podemos gerir as nossas basesde dados MySQL, torna-se numa ferramenta muito útil, por isso vamos mostrar comoprocedemos à sua instalação, digitamos o seguinte comando “aptitude installphpmyadmin”: Ilustração 17 - aptitude install phpmyadminDurante esta instalação devemos escolher as opções que nos são sugeridas: 18UFCD 0840 - Servidores Web
  19. 19. Ilustração 20 - Configuração PHPMYADMIN Ilustração 19 - Configuração PHPMYADMIN2 19UFCD 0840 - Servidores Web
  20. 20. Ilustração 21 - Configuração PHPMYADMIN3 Ilustração 22 - Configuração PHPMYADMIN4Feitas todas as instalações, vamos agora passar para as configurações para que tudofuncione correctamente. 20UFCD 0840 - Servidores Web
  21. 21. Para criar um virtual host no apache2 instalado no Ubuntu, temos de criar pastasdentro da directoria /var/www, por exemplo no meu caso criei a directoria carlos.localatravés do comando, “mkdir /var/www/carlos.local”, vejamos: Ilustração 23 - mkdir /var/www/carlos.localDe 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 24 - sudo getdit /etc/apache2/sites-available/carlos.local 21UFCD 0840 - Servidores Web
  22. 22. 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” Ilustração 25 - Ficheiro hostsGuardamos e fechamos.Vamos abrir o ficheiro “apache2.conf”, “sudo gedit /etc/apache2/apache2.conf” ecertificarmo-nos de que ele possui as linhas: 22UFCD 0840 - Servidores Web
  23. 23. NameVirtualHost *:80 Listen 80Editamos se for preciso (adicionamos as linhas), guardamos e fechamos.Na consola, desabilitamos o site default do apache: “a2dissite default”: Ilustração 26 - a2dissite defaultE habilitamos o nosso vhost: “a2ensite carlos.local” Ilustração 27 - a2ensite carlos.local 23UFCD 0840 - Servidores Web
  24. 24. Digitamos o seguinte comando: “sudo /etc/init.d/apache2 reload” Ilustração 28 - Recarregar o ApacheEm seguida vamos até à directoria /var/www/carlos.local, e criamos um novo ficheiro,“index.html”, e inserimos o seguinte código: Ilustração 29 - Criar ficheiro index.html 24UFCD 0840 - Servidores Web
  25. 25. Abrimos o browser e acedemos a http://carlos.local, e lá está o ficheiro que criámosanteriormente. O virtual host está criado!Para criar outros, seguimos o mesmo processo, substituindo carlos.local pelo nome donovo virtual host.Para habilitarmos o SSL no Apache2 do Ubuntu temos de aceder à directoria /etc/sslexecutando o comando “cd /etc/ssl”: Ilustração 30 - cd /etc/sslO primeiro passo é gerarmos um par de chaves RSA através do comando “sudoopenssl genrsa -aes256 -out server.key 1024”, Ilustração 31 - sudo openssl genrsa -aes256 -out server.key 1024 25UFCD 0840 - Servidores Web
  26. 26. Depois de gerarmos o par de chaves, temos de criar um certificado (CSR - Cert signingrequest), executamos o comando “sudo openssl req -new -key server.key -outserver.csr”, vejamos: Ilustração 32 - sudo openssl req -new -key server.key -out server.csrNeste ficheiro aparece-nos um formulário de informações que ficará incorporado nocertificado. 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 33 - sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 26UFCD 0840 - Servidores Web
  27. 27. 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/”: Ilustração 35 - sudo mv server.key private/O próximo passo é habilitar o default-ssl site no apache2, para isso digitamos ocomando “cd /etc/apache2/”, entramos na directoria e habilitamos o módulo ssl,vejamos: Ilustração 34 - cd /etc/apache2 27UFCD 0840 - Servidores Web
  28. 28. Em seguida habilitamos o default-ssl site com o comando “sudo a2ensite default-ssl”: Ilustração 36 - sudo a2ensite default-sslDepois vamos editar o ficheiro sites-enabled/default-ssl com o comando, “sudo geditsites-enabled/default-ssl”: Ilustração 37 - Ficheiro default-ssl 28UFCD 0840 - Servidores Web
  29. 29. Depois basta reiniciarmos o apache2, digitamos o comando “sudo service apache2restart”: Ilustração 38 - Reiniciar ApachePara testar e finalizar temos de abrir o browser e digitar no meu caso o endereçohttps://carlos.local, e funciona. 29UFCD 0840 - Servidores Web
  30. 30. Depois de realizado este trabalho podemos estabelecer as diferenças existentes entreas duas plataformas (Windows/Linux (Ubuntu)).A instalação dos servidores em ambos é muito fácil de realizar, pois basta instalar oWamp em Windows e o Lamp em Linux, mas existem algumas dificuldades naconfiguração do OpenSSL no Windows, coisa que no Ubuntu, torna-se umaconfiguraçã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. 30UFCD 0840 - Servidores Web
  31. 31. 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; 31UFCD 0840 - Servidores Web

×