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