MeuMySQL Blog is now at http://blog.mdnsolutions.com/.

Monday, September 24, 2012

Instalando o Symfony

Olá galera! Hoje, como um bom curioso que sou, fui fazer uma instalação do framework Symfony 2 para fins de testes e um possível uso do mesmo no meu website (www.mdnsolutions.com). Como sempre, há muito o que se aprender com o uso de uma nova ferramenta, então espero quer me apreciem este artigo e aprendam tanto quanto eu.

1 As dependências

Bem, já de cara na página de instalação há várias opções de download do Symfony, eu optei por utilizar o Composer para este fim. Contudo também não tinha o composer instalado (e acredito que nem mesmo vocês), então tive que realizar algumas pequenas tarefas antes de qualquer coisa.

1.1 O Composer

Não irei entrar em detalhes sobre o Composer neste artigo, mas você pode encontrar toda a documentação sobre ele aqui, acho de extrema importância saber como essa ferramenta funciona e estar atento as mudanças que ela esta/irá gerar na forma como os desenvolvedores php lidam com a distribuição de pacotes de suas aplicações.

1.1.1 Instalação

Primeira coisa é fazer o download do executável:

$ curl -s https://getcomposer.org/installer | php


Se alguma mensagem de erro pule em sua tela de uma olhada neste artigo. Caso contrário você deveria esta vendo essa mensagem:

$ curl -s https://getcomposer.org/installer | php

All settings correct for using Composer
Downloading...

Composer successfully installed to: /home/medina/composer.phar
Use it: php composer.phar

Agora vamos tornar o acesso ao binário que baixou global:

$ sudo mv composer.phar /usr/local/bin/composer

A partir de agora você digitar composer no seu console e verá uma lista de comandos que pode utilizar.


2 O Symfony

2.1 Instalação

Uma vez com o Composer funcionando vamos à instalação do nosso framework.

$ composer create-project symfony/framework-standard-edition path/ 2.1.2

Lembrando que path/ é o local onde você deseja criar seu projeto ex.: /var/www/meu_sf2. Aqui você vê um log que o comando gera.

2.1 Configuração

Lembre-se que você precisa preferencialmente de um servidor Apache 2 e PHP 5.3.8 ou superiores.

Remova o histórico de git que vem no pacote:

$ rm -rf .git

Podemos agora verificar se o nosso ambiente de trabalho atende as especificações de um projeto symfony rodando o comando abaixo ou o script "web/config.php" no endereço onde instalou sua aplicação. No meu caso criei um virtual host chamado "local.sf2" e rodei a url "http://local.sf2/web/config.php". (você pode verificar como criar um virtual host neste artigo).

$ php ./app/check.php 

Ele vai te dar uma ideia dos ajuste que você deveria fazer desde seu servidor apache até algumas variáveis do php.ini (ex. aqui).

No meu caso tive que instalar o Intl, uma extensão de internacionalização para executar collation e date/time/number/currency formatação nos scripts php:

$ sudo apt-get install php5-intl

, alterar a linha no  nano /etc/php5/apache2/php.ini

short_open_tag = Off

, instalar o APC do PHP. que você encontra aqui como fazer. E habilitar permissões de escrita para seu apache (nesse caso como é o meu local habilitei com 777)

$ chmod 777 -R app/cache/
$ chmod 777 -R app/logs/

2.2 Testando

Bem, seu Symfony neste ponto deveria estar instalado e pronto para rodar. O symfony tem um servidor interno que pode ser iniciado com:

$ php ./app/console server:run

E então digite em seu browser algo como:


Uma página com sua aplicação rodando deve está aparecendo em sua tela. Bem, é isso symfony rodando sucesso ao iniciar o desenvolvimento de sua aplicação.


Happy coding!


Referências:
http://www.symfony.com/
http://getcomposer.org/
http://packagist.org/
http://php.net/manual/en/intro.intl.php

3 comments:

  1. show de bola, kkkk Manjando um tiquim de bash eim rsrr

    ReplyDelete
  2. Opa.. obrigado Jr, linux e desenvolvimento andam de mãos dadas. ;-)

    ReplyDelete
  3. Minha instalação diz:

    Major problems

    Major problems have been detected and must be fixed before continuing:

    Set the "date.timezone" setting in php.ini* (like Europe/Paris).

    Recommendations

    Additionally, to enhance your Symfony experience, it’s recommended that you fix the following:

    Install and enable the intl extension (used for validators).
    Install and enable a PHP accelerator like APC (highly recommended).
    Set short_open_tag to off in php.ini*.

    Porém, com exceção do short_open_tag os demais eu não consegui alterar. Algum help???

    ReplyDelete