Servidor Web Em Linux



 CENTRO DE ENSINO SUPERIOR DE FOZ DO IGUAÇU
TECNOLOGIA EM GERENCIAMENTO DE REDES DE
COMPUTADORES

 

 


PROJETO DE INSTALAÇÃO DE UM SERVIDOR WEB EM LINUX

 

 

Evandro Liberato
Taiz Elaine Liberato

 

 

 

 

FOZ DO IGUAÇU – PR
2008


CENTRO DE ENSINO SUPERIOR DE FOZ DO IGUAÇU
TECNOLOGIA EM GERENCIAMENTO DE REDES DE
COMPUTADORES

 

 

PROJETO DE INSTALAÇÃO DE UM SERVIDOR WEB EM LINUX

Evandro Liberato
Taiz Elaine Liberato

 

 

 

Trabalho apresentado como requisito à aprovação na disciplina PIM III Projeto Integrado Multidisciplinar do curso de Tecnologia em Gerenciamento de Redes de Computadores do Centro de Ensino Superior de Foz do Iguaçu – CESUFOZ.


      Orientador: Giliardi de Oliveira
                                                
     

FOZ DO IGUAÇU – PR
2008
Sumário

1  INTRODUÇÃO 1
1.1 Tema 1
1.2 Objetivo 1
1.2.1 Geral 1
1.2.2 Específicos 1
1.3 Delimitações 2
1.4 Justificativa 2
2 Ubuntu 3
2.1 Vantagens na utilização 3
2.1.1 Desvantagens 3
2.2 Servidor Apache 3
Visão Geral 3
2.2.1 Instalação do Apache 4
2.2.2 Configuração do Arquivo HTTPD.CONF 5
2.2.3 Logs de Erro  Acompanhando os logs do apache, executar no console: 6
2.2.4 Testando a Configuração   Após a instalação do Apache, deverá ser possível aceder através de um browser aos seguintes recursos: 7
2.2.5 Resolvendo o problema de acentuação no Apache 7
2.3 PHP 7
2.3.1 Visão Geral 7
2.3.2 Instalando PHP 8
2.3.3 Configurando o PHP 9
2.3.4 Rodando e Testando o PHP 10
2.3.5 Aumentando a memória reservada ao PHP. 11
2.4 MySQL 11
2.4.1 Visão Geral 11
2.4.2 Instalando o MySQL 12
2.4.3 Configurando o MySQL 13
3 Informações e Versões 14
4 Conclusão 16
5 Referências Bibliográficas 17
Lista de Figuras


Figura 1. comandos no terminal.......................................................................... 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
1  INTRODUÇÃO
 Servidores Web foram desenvolvidos para rodar em computadores de hospedagem de websites que possuam sistemas operacionais Linux, Unix ou mesmo no Windows. Praticamente todos os websites que acessamos buscam no Apache o conteúdo que é mostrado na tela. O Apache é hoje um dos mais seguros programas desenvolvidos para ambientes TCP/IP e que mantém em operação muitas das”homepages” e sites do mundo. Mostraremos como baixar, instalar, configurar e colocar em funcionamento um servidor web em Linux.

1.1 Tema
 Projeto de instalação de um servidor WEB em Linux.

1.2 Objetivo
1.2.1 Geral
Objetivo é demonstrar instalação e configuração de um servidor WEB em Linux, demonstrando que é possível construir um, com baixo custo e um ótimo desempenho. A importância de ter um servidor web local, para testes e desenvolvimento de páginas PHP.

1.2.2 Específicos
• Instalação do Apache
• Instalar um servidor WEB para rodar páginas localmente, dando permissão aos usuários para visualizarem páginas internas, e para testes e desenvolvimento de páginas PHP.
• Instalação do PHP
• Instalação do gerenciador de banco de dados MySQL


1.3 Delimitações
Disponibilizar a página da empresa em maquina interna, economia de banda, ou disponibilizar documentos diversos, tutoriais, instruções, normas da empresa e etc. Baixar arquivos e disponibilizar internamente, grande economia de banda, download interno muito rápido, separação destes arquivos com o do servidor de arquivos, proteção contra vírus quando acessado por estações Windows, evita que usuários fiquem navegando na net a procura do pacote e outras vantagens.
.


1.4 Justificativa
É um tema que tínhamos interesse em adquirir mais conhecimento, pois trabalhamos com aplicações que necessitam desse tipo de servidor para serem testadas.

 

 

 

 

 

 

 

 

 

2 Ubuntu

2.1 Vantagens na utilização
 É um Sistema Operacional super seguro - Não precisa de Firewall ou antivírus. Para adquiri-lo pode fazer download ou preencher um formulário no próprio website: “ http://www.ubuntu.com “ solicitando um cd de instalação do sistema operacional. Em alguns dias o cd chegara em sua casa, e o que é melhor sem custo nenhum.
 - Comunidade, que é muito útil quando houver dúvidas. Fóruns, mailing-lists, blogs, websites de tutoriais.
 - Apresenta um excelente suporte a língua portuguesa do Brasil.
 - Atualizações: enquanto que em outros sistemas operacionais os Updates podem ser mensalmente, no Ubuntu, diariamente.
2.1.1 Desvantagens
 Para designers e webdesigners, os programas de edição de imagem e editores de programação ainda são muito limitados. Os mais utilizados por exemplo os da Adobe, Macromedia flash, fireworks, dreamweaver, photoshop não estão disponíveis para linux. A solução seria usar um emulador, por exemplo o wine para emular tais programas, porém o desempenho não é tão eficaz.
Ref.( http://www.blog.nonsensebb.com/2007/09/08/dicas-para-um-recem-chegado-ao-ubuntu/)


2.2 Servidor Apache
Visão Geral
 O servidor Apache é utilizado no mundo todo, como servidor de páginas para internet, ou servidor Web para acesso restrito e estações de rede interna. Possui alto nível de personalização, confiabilidade, portabilidade, fornece o código-fonte completo. Também pode ser executado em diferentes plataformas, e não possui licenças restritivas. Resultando em excelente desempenho e baixo custo. O acesso é feito pela porta 80.
Ao contrário do que acontecia no Apache 1.3.x, onde bastava configurar o arquivo httpd.conf com todas as diretivas desejadas e o servidor estava no ar, com a implementação das MPM (Multi-Processing Module / Módulo de multi-processamento), desde a versão 2.0 o Apache ficou mais versátil e subdividiu seus arquivos de configuração da seguinte maneira:
No /etc/apache2:
 default_server.conf
listen.conf
server-tuning.conf
httpd.conf
ssl-global.conf
uid.conf
No /etc/apache2/vhost.d:
vhost.template
 No /etc/apache2/conf.d colocar configurações para os servidores específicos de determinado site. Por default ele estará vazio ao instalar o Apache 2.2.
 O diretório /etc/apache2/sysconfig.d é o "X" da questão. Todos os arquivos contidos nele foram criados automaticamente quando o Apache foi instalado e rodou o script "rcapache".

2.2.1 Instalação do Apache
Alguns comandos, detalhes ou configurações podem mudar nas diversas versões e distribuições Linux.
 Pré-requisitos para instalação:
 A rede deve estar corretamente configurada e funcionando;
 O serviço de DNS deve estar instalado e configurado corretamente.
 No sistema operacional utilizado (Ubuntu 7.0) o servidor web (Apache) vem configurado pra rodar uma página de exemplo. Basta digitar no console:
 $ sudo apt-get install apache2
 $ service apache start

 

 

 

 

 

 

 

 


Figura 1. comandos no terminal


Figura 1. comandos no terminal

2.2.2 Configuração do Arquivo HTTPD.CONF

 Configurando o arquivo httpd.conf, conforme definições em 3 grandes escalas:
Global Environment: diretivas globais do server apache;
Main Server Configuration: configurações do servidor ;
Virtual Server Configuration: configurações de servidores virtuais.
Include /etc/apache2/uid.conf
Include /etc/apache2/server-tuning.conf
ErrorLog /var/log/apache2/error_log
Include /etc/apache2/sysconfig.d/loadmodule.conf
Include /etc/apache2/listen.conf
Include /etc/apache2/mod_log_config.conf
Include /etc/apache2/sysconfig.d/global.conf
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf
Include /etc/apache2/mod_usertrack.conf
Include /etc/apache2/mod_autoindex-defaults.conf
TypesConfig /etc/apache2/mime.types
DefaultType text/plain
Include /etc/apache2/mod_mime-defaults.conf
Include /etc/apache2/errors.conf
Include /etc/apache2/ssl-global.conf

<Directory />
    Options None
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

DirectoryIndex index.html index.html.var
### 'Main' server configuration ##############
Include /etc/apache2/default-server.conf

# A linha abaixo vem descomentada, comente-a para que o
# Apache entenda somente o que foi definido em htttpd.conf
# e default-server.conf
#Include /etc/apache2/sysconfig.d/include.conf

### Virtual server configuration ###################
# Nesta parte apontamos o diretório onde os arquivos
# de configuração dos sites serão armazenados.

Include /etc/apache2/vhosts.d/*.conf
Com o httpd.conf essa configuração é o suficiente para que o servidor suba, (funcione).

2.2.3 Logs de Erro

Acompanhando os logs do apache, executar no console:
 $ tail -f /var/log/httpd/access_log
 Ver também:
 $ /var/log/httpd/error_log
Outros arquivos estarão listados em: /var/log/httpd/
2.2.4 Testando a Configuração

 Após a instalação do Apache, deverá ser possível aceder através de um browser aos seguintes recursos:
   http://127.0.0.1/
    ou
   http://localhost/.
2.2.5 Resolvendo o problema de acentuação no Apache

 Sempre que salvar uma página como ISO-8859-1 ou mesmo UTF-8, notará que os acentos e caracteres especiais serão substituídos por pequenas interrogações pretas ou caracteres estranhos.

Uma forma de resolver isso é voltar lá para o inicio do desenvolvimento web, e utilizar entities ou codificação ASCII.

Ou alterar o charset padrão do Apache, que é muito mais simples. Abrindo o terminal, e digitar:
#sudo gedit /etc/apache2/apache2.conf

Fazer uma busca por "AddDefaultCharset". Observe que esta linha tem um "#" no início. Isto significa que ela está comentada. Descomentá-la, salvar o arquivo e reiniciar o Apache.

Os problemas de acentuação serão resolvidos. Lembrar sempre de salvar os arquivos como ISO-8859-1 ou ISO-8859-15, que é a codificação para idiomas latinos.
2.3 PHP
2.3.1 Visão Geral
É uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web. PHP é uma poderosa linguagem orientada a objetos.
 Com as primeiras 2 versões de PHP, PHP 3 e PHP 4, conseguiram uma plataforma potente e estável para a programação de páginas do lado do servidor.
 Estas versões serviram muito de ajuda para a comunidade de desenvolvedores, tornando possível que PHP seja a linguagem mais utilizada na web para a realização de páginas avançadas.
 Entretanto, ainda existiam pontos negros no desenvolvimento de PHP que trataram de solucionar com a versão 5, aspectos que fizeram falta na versão 4, quase desde o dia de seu lançamento. Referimo-nos principalmente à programação orientada a objetos (POO) que, apesar de estar suportada a partir de PHP3, só implementava uma parte muito pequena das características deste tipo de programação.
 A orientação a objetos é uma maneira de programar que trata de modelar os processos de programação de uma maneira próxima à realidade: tratando a cada componente de um programa como um objeto com suas características e funcionalidades.
 O principal objetivo de PHP5 foi melhorar os mecanismos de POO para solucionar as carências das versões anteriores. Um passo necessário para conseguir que PHP seja uma linguagem apta para todo tipo de aplicações e meios, inclusive os mais exigentes.

 

2.3.2 Instalando PHP

O download do PHP pode ser feito pelo site “http://www.php.net”
 A instalação básica do PHP4 e do PHP5 são iguais.
 Depois de baixar os fontes, descompacte-os:

 # tar zxfv php-xxx.tar.gz
 # cd php-xxx (xxx é substituído pela versão a escolhida)
 
 Esta linha apenas cria integração com o Apache e informa que o php.ini (arquivo de configuração do PHP) ficará na pasta /etc:

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/etc/

# make && make install

O arquivo php.ini deve ser copiado para a pasta /etc da seguinte forma:

# cp php.ini-dist /etc/php.ini

 O PHP foi instalado.

 Outra opção para instalar o PHP, é digitar no terminal:

#sudo apt-get install php4

É necessário digitar sua senha de administrador e depois o Apache terá de ser reiniciado, com o seguinte comando:

#sudo /etc/init.d/apache2 restart

Para trabalhar com PHP 5, basta trocar o 4 de "php4". Poderá ser instalado o PHP 5 juntamente com o 4  sem ter conflito. Basta adicionar "php5" na linha cima, separando as palavras por pacote:
#sudo apt-get install php4 php5

2.3.3   Configurando o PHP

 Após a instalação, é necessário configurar e ativar o PHP no arquivo de
configuração do Apache.

 Abra o arquivo com algum editor de texto, por exemplo, o VI:

# vi /usr/local/apache2/conf/httpd.conf

Verificar se a linha abaixo foi incluída corretamente:

 LoadModule php5_module        modules/libphp5.so
 
 Esta linha carrega o módulo do PHP no Apache, geralmente ela é adicionada sozinha.

 A próxima linha serve para identificar as páginas iniciais. É daí quem vem os famosos "index.html":
 
 DirectoryIndex index.html index.html.var

 Para configurar o Apache para abrir os index.php sozinho, configurar da seguinte forma:

 DirectoryIndex index.php index.html index.html.var

 O Apache procura os arquivos para mostrar, a linha seguinte mostra onde buscar HTML e PHP:
 
 DocumentRoot "/usr/local/apache/htdocs"

 Finalmente adicionar a seguinte linha no final do arquivo:

 AddType application/x-httpd-php .php

 Reiniciar o Apache

# /usr/local/apache/bin/apachectl stop

# /usr/local/apache/bin/apachectl start


2.3.4 Rodando e Testando o PHP
 
Para testar a instalação do PHP, crie um arquivo qualquer na pasta /var/www:

 #sudo gedit /var/www/teste.php

 Observe que é necessário criar o arquivo como root, pois o arquivo está sendo criado e editado fora da sua pasta home.

 As linhas seguinte devem ser incluídas no arquivo:
 
 <?
    php phpinfo();
 ?>
 
 O arquivo pode ser salvo como teste.php
 
Para testar, abrir o navegador e digitar a seguinte linha:
  http://localhost/teste.php

 Se o PHP estiver instalado corretamente, e o apache reinicializado, a página a exibida deverá mostrar a informação do PHP (versão, versão do apache, etc).

2.3.5 Aumentando a memória reservada ao PHP.

 Por padrão, o PHP vem com uma memória reservada para execução de scripts relativamente. Pode ser que alguns scripts excedam este limite. Mas aumentá-lo é relativamente simples. Considere que esteja usando o PHP 5.
Abra o terminal e digite:

#sudo gedit /etc/php5/apache2/php.ini

Agora pressione ctrl+f e faça uma busca por "memory_limit". Altere o valor 8M para outro à sua escolha. Usando 64M não haverá problemas com pouca memória para scripts.
Salve o arquivo, feche-o e reinicie o Apache
2.4 MySQL
2.4.1 Visão Geral

MySQL é um SGBD (Sistema Gerenciador de Banco de Dados) SQL amplamente divulgado.
 O banco de dados MySQL é um dos mais populares do mundo, e também é o mais utilizado na internet. É utilizado principalmente em projetos LAMP (Linux / Apache / MySQL / PHP).
Para utilizar um banco de dados, é necessário:
- Criar um novo banco de dados.
- Dar, a um usuário do banco de dados, a permissão de acesso a um servidor de banco de dados.
- Conceder, ao usuário, todos os direitos para utilizar este banco de dados específico.

2.4.2 Instalando o MySQL

Para instalar o suporte ao banco de dados, digite no terminal:
 #sudo apt-get install libapache2-mod-auth-mysql php4-mysql

ou se o php5 estiver instalado, digite:
 #sudo apt-get install libapache2-mod-auth-mysql php5-mysql

Instale também o MySQL Server e o MySQL Client:
 #sudo apt-get install mysql-server-5.0 mysql-client

O apache deve ser reiniciado:
  #sudo /etc/init.d/apache2 restart

 
2.4.3 Configurando o MySQL

O MySQL na configuração padrão traz um usuário root que não precisa de senha para autenticação no localhost. Logar-se no servidor mysql utilizando:

$ mysql -u root

Se uma senha já tiver sido atribuída para o usuário root, utilize o parâmetro extra –p::

$ mysql -u root -p

Será exibido um prompt para inserir a senha:

Enter password:

O interpretador de comandos do mysql exibirá seu prompt:

mysql>

 Após o login, um banco de dados pode ser criado:

mysql> create database alunodb;
Query OK, 1 row affected (0.00 sec)
 Dar permissão ao usuário “fulano” para conectar ao servidor a partir de Localhost utilizando a senha ninguem:
 mysql> grant usage on *.* to fulano@localhost identified by ‘ninguem’;
Query OK, 0 rows affected (0.00 sec)

 Conceder todos os privilégios no banco de dados alunodb para este usuário:

 mysql> grant all privileges on alunodb.* to fulano@localhost ;
 Query OK, 0 rows affected (0.00 sec)

 Digitar exit para sair do prompt do mysql e retornar ao prompt do sistema ou então, em outro terminal, para se conectar ao servidor mysql, utilizar o comando:

$ mysql -u fulano -p’ninguem’ alunodb

O mysql exibirá uma mensagem semelhante a esta abaixo e disponibilizará seu prompt.

Your MySQL connection id is 2
Server version: 5.0.38-Ubuntu_0ubuntu1-log Ubuntu 7.04 distribution
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>

O MySQL estará instalado, configurado e pronto para a utilização.


3 Informações e Versões
Sistema Operacional: Linux
Distribuição:UBUNTU
Desenvolvedor: Canonical Ltd / Fundação Ubuntu
Versão utilizada: 7.0
Última versão: 8.04 Hardy Heron (24 de Abril de 2008)
Licenças: GNU, GPL e outras
Website: http://www.ubuntu.com

Servidor Web: APACHE
Desenvolvedor: Apache Software Foundation
Versão utilizada: 2.0
Última versão: 2.2.8
Licença: Apache
Website: httpd.apache.org

Linguagem de Programação: PHP
Criador: Rasmus Lerdof
Versões utilizadas: 4 e 5
Última versão: 5.2.6 (1 de Maio de 2008)
Website: : http://www.php.net

Sistema Gerenciador de Banco de Dados (SGBD): MYSQL
Desenvolvedor: MySQL AB
Versões utilizadas: 4.0 e 5.0
Última Versão: 5.0.51a (18 de Janeiro de 2008)
Licença: GPL e Comercial
Website: : http://www.mysql.com

 

.

 

 

 

 

 

 

 

4  Conclusão

 Um servidor web é muito útil. O Apache é hoje um dos mais seguros programas desenvolvidos para ambientes TCP/IP e que mantém em operação muitas das homepages e websites do mundo.
 Como servidor Web, o Apache é o mais conhecido e usado. Os motivos incluem sua excelente performance, segurança, compatibilidade com diversas plataformas e todos os seus recursos. Baixo custo, fácil manutenção e segurança tornam o apache um servidor web excelente.

 

 

 

 

 

 

 

 

 

 

 


5  Referências Bibliográficas

Snort, Mysql, Apache e Acid - Paulo Augusto Moda Lari; Dino Macedo Amaral
Editora: Brasport

Apache Guia de Consulta Rapida - Roberto G. A. Veiga – Editora: Novatec

Apache 2 Em 24 Horas: Passo a Passo - Daniel Lopez Ridruejo
Editora: Ciência Moderna

Desenvolvendo websites com PHP (2ª. Edição) – Juliano Niederauer – Editora: Novatec.

MYSQL – Guia do Programador – Novatec - Milani, André
20/04/2008 - http://www.apache.org

PHP 5
20/04/2008 - http://www.php.net

MY SQL
23/04/2008
http://www.mysql.com

Servidor Apache – Etimologia – Instalação - Configuração
24/04/2008
http://pt.wikipedia.org/wiki/Servidor_Apache

Ubuntu (Distribuição de Linux) - Informações
05/05/2008  http://pt.wikipedia.org/wiki/Ubuntu_%28distribui%C3%A7%C3%A3o_de_Linux%29

Um servidor LAMP (Linux+Apache+MySQL+PHP) no UBUNTU
 08/05/2008
http://linux-facil.blogspot.com/2005/07/um-servidor-lamp-linuxapachemysqlphp.html

Dicas para um recém chegado ao Ubuntu - Informações
10/05/2008
http://www.blog.nonsensebb.com/2007/09/08/dicas-para-um-recem-chegado-ao-ubuntu/


Autor: Taiz Liberato


Artigos Relacionados


"amo Você."

Maior LiÇÃo De Vida

SolidÃo...

Longe De Ti

"amor E Vida"

Faces

Parto Ou Aparto