start-installation.md 8.61 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
Instalando o Yii
================

Você pode instalar o Yii de duas maneiras, usando o [Composer](http://getcomposer.org/)
ou baixando um arquivo compactado. O primeiro modo é o preferido, já que permite
que você instale novas [extensões](extend-creating-extensions.md) 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 <a name="installing-via-composer"></a>
-----------------------

Se você já não tiver o Composer instalado, você pode fazê-lo seguindo as instruções
em [getcomposer.org](https://getcomposer.org/download/). 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](https://getcomposer.org/Composer-Setup.exe).

Por favor consulte a [Documentação do Composer](https://getcomposer.org/doc/) 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](https://getcomposer.org/doc/04-schema.md#minimum-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 name="installing-from-archive-file"></a>
--------------------------------------------

A instalação do Yii a partir de um arquivo compactado envolve dois passos:

1. Baixe o arquivo compactado em [yiiframework.com](http://www.yiiframework.com/download/yii2-basic).
2. Descompacte o arquivo baixado em um diretório acessível pela Web.


Outras Opções de Instalação <a name="other-installation-options"></a>
---------------------------

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](tutorial-start-from-scratch.md).
* 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](tutorial-advanced-app.md).


Verificando a Instalação <a name="verifying-installation"></a>
------------------------

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.

![Instalação do Yii com Sucesso](images/start-app-installed.png)

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](http://www.php.net/manual/en/pdo.installation.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 <a name="configuring-web-servers"></a>
------------------------------

> 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](http://httpd.apache.org/) oum um [Servidor HTTP Nginx](http://nginx.org/),
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](runtime-url-handling.md). 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 de `basic/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](tutorial-shared-hosting.md)
  para mais detalhes.


### Configuração do Apache Recomendada <a name="recommended-apache-configuration"></a>

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 <a name="recommended-nginx-configuration"></a>

Você deve ter instalado o PHP como um [FPM SAPI](http://php.net/install.fpm) para
usar o [Nginx](http://wiki.nginx.org/). 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.