Development

sfBookPT-brInstallation

You must first sign up to be able to contribute.

Version 21 (modified by hpoyatos, 11 years ago)
--

Instalando o symfony

Resumo

Este capítulo descreve os passos para a instalação do framework symfony, seja a partir de um arquivo de 'sandbox', a partir de um pacote PEAR ou manualmente a partir do repositório dos fontes.

Introdução

O framework symfony é um conjunto de arquivos escritos em PHP. Um projeto baseado em symfony utiliza estes arquivos, portanto instalar o symfony significa pegar ester arquivos e torná-los disponíveis para seu projeto.

Symfony pode ser usado para um ou vários projetos. Se você trabalha em um único projeto, você pode querer embutí-lo dentro da aplicação que você desenvolve. Por outro lado, se decidir usar o symfony para mais de um projeto, você irá preferir manter todos os arquivos do symfony em um único local para tornar sua atualização mais fácil.

Adicionalmente, quando você está desenvolvendo uma aplicação, você provavelmente terá que instalar o symfony duas vezes: Um vez para o ambiente de desenvolvimento, e a outra vez no servidor de hospedagem (a não ser que seus hosts já possuam o symfony instalado).

Como diferentes necessidades possuem diferentes soluções, esta é a razão pela qual existem tantas formas de se instalar o symfony:

  • O sandbox é um projeto symfony vazio onde todas as bibliotecas necessárias já estão incluídas, e toda a configuração básica já está pronta. Isto é feito basicamente por iniciantes em symfony, que desejam fazer testes com o framework ou testar alguns tutoriais sem ter que instalar absolutamente nada.
  • Um instalação via PEAR é recomendada para aqueles que desejam rodar diversos projetos baseados em symfony, com uma forma fácil de atualizá-lo. Esta fora necessita do PEAR versão 1.4.0 ou acima, o que acontece com a maioria das distribuições PHP.
  • Um instalação manual é recomendada apenas para desenvolvedores PHP avançados, que desejem obter vantagens dos últimos patches lançados e/ou desejam incluir funcionalidades por conta própria.

Note que o framework symfony evolui rapidamente, e uma nova versão estável pode ser lançada apenas um poucos dias depois de sua primeira instalação. Você deve pensar na atualização do framework como uma grande preocupação, e é por essa razão que a primeira solução não é recomendada se você for desenvolver um website para valer. De fato, uma aplicação desenvolvida com um sandbox não pode ser atualizada facilmente.

Pré-requisitos

Para fazer uso do symfony, você precisa ter o PHP5 e um servidor web instalados. Se você for realizar uma instalação PEAR , você também precisará ter o PEAR. Se você planeja usar de persistência de dados, um banco de dados também será necessário. Symfony é compatível com MySQL, PostgreSQL, Oracle, Microsoft SQL Server (MSSQL), e qualquer outro banco de dados que possuir um driver Creole.

http://www.symfony-project.com/images/bubble.gif Nota: Você poderá encontrar muitos pacotes LAMP disponíveis para download, a qual contém um servidor Apache, um banco de dados MySQL e PHP todos juntos e configurados para uma data plataforma (XAMPP para muitas plataformas, MAMP para Macintosh, WAMP para Windows, etc.). Se você não possui um PHP5 instalado, eles provavelmente são a melhor opção que você terá para começar.

As distribuições PHP5 padrão normalmente funcionam perfeitamente com o symfony. Entretanto, como suas instalações são diferentes entre si, e porque muitas são compiladas pelos próprios desenvolvedores, em algumas ocasiões pode acontecer do servidor web apresentar erros devido a componentes do PHP que possam estar faltando. Se você não conseguir colocar seu symfony para funcionar, busque por informações no fórum de instalação, onde muitos casos individuais foram resolvidos e outras pessoas podem ajudar a resolver o seu.

http://www.symfony-project.com/images/bubble.gif Nota: Alguns pacotes muitas vezes apresentam PHP4 e PHP5 juntos. Symfony funciona apenas com PHP5. Para verificar a versão do PHP que você está usando, digite o comando abaixo na linha de comando:

        $ php -v

O sandbox

O sandbox é um simples pacote de arquivos. Ele contém um projeto symfony vazio onde todas as bibliotecas necessárias (symfony, pake, creole, propel and phing) já estão incluídas. Para instalá-lo, apenas desempacote este arquivo no diretório web raiz configurado para seu servidor (geralmente web/). Ele irá funcionar "fora da caixa", sem qualquer necessidade de configuração ou pacotes adicionais.

O sandbox é destinado para que você pratique com o symfony em um computador local, não que desenvolva aplicações complexas destinadas a publicação na web. Entretanto, esta versão do symfony é lançada com um sandbox plenamente funcional e equivalente com a versão instalada via PEAR. Esteja avisado que a versão sandbox não é facilmente atualizável.

Pegue o sandbox aqui: http://www.symfony-project.com/get/sf_sandbox.tgz. Depois de desempacotar o arquivo, teste o sandbox realizando uma requisição na seguinte URL:

http://localhost/sf_sandbox/web/

Você deverá visualizar um página de congratulações.

Se você estiver no diretório sf_sandbox/ , você pode usar a linha de comando para fazer operações de gerenciamento do site. Por exemplo, para limpar o cache, digite:

$ ./symfony.sh clear-cache              (*nix)
symfony clear-cache                  (Windows)

Para descobrir todas as ações disponíveis em seu symfony, digite:

$ ./symfony.sh -T                       (*nix)
symfony -T                           (Windows)

Consulte o arquivo README anexo ao pacote para maiores informações.

Depois de baixar o sandbox, recomendamos que você siga o tutorial "Meu primeiro projeto symfony" (My first symfony project) para descobrir os princípios básicos do desenvolvimento utilizando symfony.

Instalando symfony utilizando o pacote PEAR

Preparando o PEAR

PEAR é utilizado no PHP para instalar bibliotecas em seu repositório central. O projeto symfony possui seu próprio repositório, ou canal. Note que estes canais estão disponíveis apenas a partir da versão 1.4.0 do PEAR, portanto você deve atualizar se sua versão for mais antiga que esta:

$ pear upgrade PEAR

A primeira coisa que você deve fazer é inserir um canal 'symfony':

$ pear channel-discover pear.symfony-project.com

Para visualizar as bibliotecas disponíveis neste canal:

$ pear remote-list -c symfony

Instalação do Symfony

Agora você está pronto para instalar a última versão estável do symfony e com todas as suas dependências:

$ pear install symfony/symfony

E é isso: symfony está instalado. Agora você pode criar um novo projeto com a ferramenta na linha de comando e usar as classes e métodos das bibliotecas.

Symfony necessita de outros poucos pacotes para funcionar; alguns já estão incluídos na instalação, e outros são pedidos para que você os instale se não estiverem presentes:

  • pake: instalação automática. Você irá aprender mais sobre o Pake no próximo capítulo.
  • creole: instalação automática (usado para acesso à banco de dados)
  • propel: instalação automática (usado para mapeamento objeto/relacional)
  • phing: necessita de instalação manual
       $ pear install http://phing.info/pear/phing-current.tgz
    

Para ter um vislumbre de todas as tarefas que você tem acesso através do ferramenta na linha de comando, digite:

$ symfony -T

Onde estão os arquivos symfony ?

As bibliotecas symfony estão instaladas em:

$php_dir/symfony/      bibliotecas principais
$data_dir/symfony/     esqueleto das aplicações symfony, módulos padrão e configuração
$doc_dir/symfony/      documentação
$test_dir/symfony/     unidade de testes

As variáveis "_dir" são parte da configuração PEAR. Para ver seus valores, digite:

$ pear config-show

Para dizer a verdade, a localização exata dos arquivos não é muito importante, desde que a instalação forneça a você um novo executável, "symfony", que fará todo o trabalho para você (criação do projeto, instalação da aplicação e inicialização, etc.). Apenas o diretório "$doc_dir" será necessário em sua configuração do servidor web, uma vez que o mesmo contém alguns arquivos padrão (folhas de estilo e imagens) que serão necessários em alguns projetos symfony. Esta configuração será melhor detalhada no próximo capítulo.

Apenas para lembrá-lo, a localização padrão em Unix e Windows é a seguinte:

Unix 	                         Windows 	                          -
usr/local/lib/php/symfony/ 	 c:/Program Files/php/pear/symfony/ 	  executáveis e bibliotecas principais
usr/local/lib/php/data/symfony/  c:/Program Files/php/pear/data/symfony/  esquelo de aplicações symfony
usr/local/lib/php/doc/symfony/ 	 c:/Program Files/php/pear/doc/symfony/   documentação
usr/local/lib/php/test/symfony/  c:/Program Files/php/pear/test/symfony/  unidade de testes

Pegando pacotes 'noturnos' (nightly builds)

O processo descrito acima instalará a última versão estável. Para ter acesso às últimas correções de bugs entre duas versões estáveis, você pode querer instalar um pacote noturno (nightly build). Estes pacotes são publicados no canal symfony com uma tag 'beta', e você pode instalá-lo desta forma:

$ pear install symfony/symfony-beta

Se você já tiver uma versão beta instalada, pegue a última versão desta forma:

$ pear upgrade symfony/symfony-beta

http://www.symfony-project.com/images/bubble.gif Nota: Em algumas plataformas Windows, o utilitário PEAR aparentemente usa seu próprio cache web e não vai verdadeiramente ao canal symfony para verificar uma última versão. Tenha certeza que você limpou seu cache PEAR antes de utilizá-lo para atualização (use pear config-show para identificar a localização do diretório de cache).

Quando estiver atualização uma instalação symfony, não se esqueça de limpar o cache de todas suas aplicações usando estes comandos:

$ cd myproject
$ symfony clear-cache

Se você quiser ser mais seletivo na limpeza do cache (para manter quaisquer arquivos HTML no cache e limpar apenas a configuração de cada aplicação), utilize estes comandos no lugar:

$ cd myproject
$ symfony clear-cache myapp1 config
$ symfony clear-cache myapp2 config

Você pode verificar a versão de symfony instalada digitando:

$ symfony -V

Instalando o symfony "na mão"

Se você não quiser usar o PEAR, você anda pode baixar a última versão diretamente do repositório SVN (Subversion), chamando com um "checkout", e instalando "na mão":

$ mkdir /home/steve/mysymfony
$ cd /home/steve/mysymfony
$ svn co http://svn.symfony-project.com/trunk/ .

Para seu projeto fazer uso desta instalação, você deverá criar dois links simbólicos no seu projeto a partir dos diretórios "lib" e "data" do symfony:

$ cd /home/steve/myproject
$ ln -sf /home/steve/mysymfony/lib lib/symfony
$ ln -sf /home/steve/mysymfony/data data/symfony

Adicionalmente, terá que criar atalhos para permitir chamadas para os aplicativos linha de comando "pake" e "symfony".

http://www.symfony-project.com/images/bubble.gif Nota: Você deverá instalar adicionalmente "Phing" e "Pake". Simplesmente os instale dentro do diretório lib/symfony.

Instalando o symfony sem linha de comando

Se você quiser publicar seu website em um serviço de hospedagem que não dá a você acesso à linha de comando (e isso acontece em servidores de hospedagem que lhe liberam um único acesso FTP), você precisará instalar dois diretórios symfony manualmente na árvore do seu projeto.

Primeiro, pegue o arquivo .tgz do pacote do framework symfony a partir do site do projeto symfony. Desempacote-o em um diretório temporário. Você visualizará a seguinte estrutura de arquivos:

package.xml
symfony/
  LICENSE
  bin/
  data/
  lib/

O diretório bin não terá qualquer utilização já que você não poderá chamar comando algum.

Vamos supor que você já transferiu seu projeto baseado em symfony para este servidor remoto. A estrutura em árvore remota será parecida com algo como:

myproject/
  apps/
    myapp/
  batch/
  cache/
  config/
  data/
  doc/
  lib/
  log/
  test/
  web/

Para aprender mais a respeito da estrutura de arquivos dos projetos em symfony, leia o capítulo relacionado.

Agora você terá que copiar alguns arquivos do pacote symfony para dentro do seu diretório de projeto. Primeiramente, crie um subdiretório symfony nos diretório "data" e "lib" do seu projeto no servidor remoto. Depois, transfira os arquivos como abaixo:

- 	local 	        - 	remoto
copiar 	symfony/data/* 	para	myproject/data/symfony/
copiar 	symfony/lib/* 	para    myproject/lib/symfony/

Se sentir-se inseguro quanto ao procedimento, você pode baixar o sandbox para ver como um projeto embutido com o framework deve parecer. Além do mais, os scripts de criação do sandbox detalham todas as operações necessárias para a criação de um projeto capaz de rodar sozinho.

Dica: Alguns servidores de hospedagem não rodam scripts php5 se os arquivos php não estiverem com extensão .php5. Se este é seu caso, você terá que renomear o arquivo index.php encontrado em myproject/web/ para index.php5. Não se preocupe em renomear os outros arquivos : uma que vez o symfony use o controlador frontal, apenas o arquivo index.php precisa ser declarado como um script php5 (aprenda mais a respeito do funcionamento do controlador frontal no capítulo de controladores)

Guias feito com contribuição dos usuários

O wiki do symfony contém alguns artigos descrevendo instalações passo-a-passo em diversas plataformas.

O fórum possui um seção dedicada ao tema onde muitos problemas de instalação já foram resolvidos, onde você pode encontrar outros usuários symfony dispostos a ajudá-lo em minutos caso você tenha um novo problema.