Instalando o Yii
Você pode instalar o Yii de duas maneiras, usando o Composer ou baixando um arquivo compactado. O primeiro modo é o preferido, já que permite que você instale novas extensões ou atualize o Yii simplesmente executando um único comando.
Note: Ao contrário do Yii 1, as instalações padrão do Yii 2 resultam em tanto o framework quanto um esqueleto de aplicação sendo baixados e instalados.
Instalando via Composer
Se você já não tiver o Composer instalado, você pode fazê-lo seguindo as instruções em getcomposer.org. No Linux e no Mac OS X, você executará os seguintes comandos:
curl -s http://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
No Windows, você baixará e executará o Composer-Setup.exe.
Por favor consulte a Documentação do Composer se você encontrar quaisquer problemas ou se quiser aprender mais sobre o uso do Composer.
Com o Composer instalado, você pode instalar o Yii executando o seguinte comando em um diretório acessível pela Web:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
O comando acima instala o Yii em um diretório chamado basic
.
Tip: Se você quiser instalar a última versão de desenvolvimento do Yii, você pode usar o seguinte comando, que adiciona uma opção stability:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
Perceba que a versão de desenvolvimento do Yii não deve ser usada para produção, uma vez que ela pode quebrar o seu código que está rodando.
Instalando a partir de um Arquivo Compactado
A instalação do Yii a partir de um arquivo compactado envolve dois passos:
- Baixe o arquivo compactado em yiiframework.com.
- Descompacte o arquivo baixado em um diretório acessível pela Web.
Outras Opções de Instalação
As instruções de instalação acima mostram como instalar o Yii, que também cria uma aplicação Web básica que funciona fora da caixa. Este método é um ponto de início para projetos pequenos, ou para quando você acaba de começar a aprender o Yii.
No entanto, existem outras opções de instalação disponíveis:
- Se você só quer instalar o core do framework e gostaria de construir uma aplicação inteira do zero, você pode seguir as instruções conforme explicadas em Construindo uma Aplicação a Partir do Zero.
- Se você quiser começar com uma aplicação mais sofisticada, mais adequada ao ambiente de desenvolvimento de equipes, você pode considerar instalar o Modelo de Aplicação Avançada.
Verificando a Instalação
Após a instalação, você pode usar o seu navegador para acessar a aplicação do Yii instalada através da seguinte URL:
http://localhost/basic/web/index.php
Essa URL presume que você tenha instalad o Yii em um diretório chamado de basic
,
diretamente no diretório raiz do servidor Web, e que o servidor Web está rodando
em sua máquina local (localhost
). Você pode precisar ajustá-la ao seu ambiente
de instalação.
Você deve ver a página de "Congratulations!" acima em seu navegador. Se não vê-la, por favor verifique se a sua instalação do PHP satisfaz os requisitos do Yii. Você pode verificar se os requisitos mínimos são atendidos através de um dos seguintes modos:
- Use um navegador para acessar a URL
http://localhost/basic/requirements.php
- Execute os seguintes comandos:
cd basic
php requirements.php
Você deve configurar a sua instalação do PHP de modo que ela atenda aos requisitos
mínimos do Yii. Mais importante ainda, você deve ter o PHP 5.4 ou superior. Você
também deve instalar a Extensão PDO do PHP
e o driver de banco de dados correspondente (tal como pdo_mysql
para bancos de
dados MySQL), se a sua aplicação precisa de um banco de dados.
Configurando os Servidores Web
Info: Você pode pular essa sub-seção se só estiver fazendo um test drive do Yii sem a intenção de publicá-lo em um servidor de produção.
A aplicação instalada de acordo com as instruções acima deve funcionar fora da caixa com um Servidor HTTP Apache oum um Servidor HTTP Nginx, no Windows, Mac OS X ou Linux.
Em um servidor de produção, você pode querer configurar o seu servidor Web de
modo que a aplicação possa ser acessada pela URL http://www.example.com/index.php
ao invés de http://www.example.com/basic/web/index.php
. Tal configuração requer que
você aponte a raiz dos documentos de seu servidor Web para o diretório basic/web
.
Você também pode querer ocultar o index.php
da URL, conforme descrito na seção
Análise e Geração de URLs. Nesta sub-seção, você
aprenderá como configurar o seu servidor Apache ou Nginx para atingir estes
objetivos.
Info: Definindo
basic/web
como a raiz dos documentos, você também previne os usuários finais de acessarem o código privado de sua aplicação e os arquivos de dados sensíveis que estão armazenados em diretórios irmãos debasic/web
. Negar o acesso a estes outros diretórios é uma melhoria de segurança.Info: Se a sua explicação rodará em um ambiente de hospedagem compartilhada onde você não tem permissão para alterar a configuração do seu servidor Web, você ainda pode ajustar a estrutura de sua aplicação para uma melhor segurança. Por favor consulte a seção Ambiente de Hospedagem Compartilhada para mais detalhes.
Configuração do Apache Recomendada
Use a seguinte configuração no arquivo httpd.conf
do Apache ou em uma
configuração de virtual host. Perceba que você pode deve substituir path/to/basic/web
com o caminho real para basic/web
.
# Define a raiz dos documentos como sendo "basic/web"
DocumentRoot "path/to/basic/web"
<Directory "path/to/basic/web">
RewriteEngine on
# Se um diretório ou arquivo existe, usa a requisição diretamente
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Caso contrário, encaminha a requisição para index.php
RewriteRule . index.php
# ...outras configurações...
</Directory>
Configuração do Nginx Recomendada
Você deve ter instalado o PHP como um FPM SAPI para
usar o Nginx. Use a seguinte configuração do Nginx,
substituindo path/to/basic/web
com o caminho real para basic/web
e mysite.local
com o nome de host real a servir.
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name mysite.local;
root /path/to/basic/web;
index index.php;
access_log /path/to/basic/log/access.log main;
error_log /path/to/basic/log/error.log;
location / {
# Redireciona tudo que não é um arquivo real para index.php
try_files $uri $uri/ /index.php?$args;
}
# descomente para evitar o processamento de chamadas a arquivos estáticos não existentes pelo Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
Ao usar esta configuração, você deve definir cgi.fix_pathinfo=0
no arquivo php.ini
de modo a evitar muitas chamadas desnecessárias ao comando stat()
do sistema.
Também perceba que ao rodar um servidor HTTPS, você precisa adicionar fastcgi_param HTTPS on;
,
de modo que o Yii possa detectar adequadamente se uma conexão é segura.