Ambientes de hospedagem compartilhada geralmente são muito limitados com relação a configuração e estrutura de diretórios. Ainda assim, na maioria dos casos, você pode executar Yii 2.0 em um ambiente de hospedagem compartilhada com poucos ajustes.
Uma vez que em um ambiente de hospedagem compartilhada geralmente não há apenas um webroot, use o template básico, se puder. Consulte o Capítulo Instalando o Yii e instale o modelo de projeto básico localmente. Depois de ter sua aplicação funcionando localmente, vamos fazer alguns ajustes para que possa ser hospedado em seu servidor de hospedagem compartilhada.
Ao conectar no seu servidor compartilhado através de FTP ou outros meios, você provavelmente verá algo como a seguir:
config
logs
www
No exemplo acima, www
é seu diretório raíz do servidor web e pode possuir nomes diferente. Nomes comuns são: www
, htdocs
, e public_html
.
O diretório raíz de nosso template básico é chamado web
. Antes de enviar a aplicação para seu servidor renomeie seu diretório raiz local de acordo com o do seu servidor, ou seja, de web
para www
, public_html
ou qualquer que seja o nome do seu diretório raíz na hospedagem.
Se você possui permissão de escrita no diretório raíz, (onde estão config
, logs
e www
), então faça upload de assets
, commands
etc.
Se o seu servidor web é Apache você precisará adicionar um arquivo .htaccess
com o seguinte conteúdo em web
(ou public_html
ou qualquer outro) (onde o arquivo index.php
está localizado):
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
Se o seu servidor web é Nginx, você não precisa de nenhuma configuração extra.
Para executar Yii, o seu servidor web deve atender alguns requisitos. O requisito mínimo é PHP 5.4. Para verificar os requisitos copie o arquivo requirements.php
da raíz da aplicação para o diretório raíz do servidor web e execute-o através do navegador usando o endereço https://example.com/requirements.php
. Não se esqueça de apagar o arquivo depois.
A implantação do Template Avançado para a hospedagem compartilhada é um pouco mais complicada do que o Template Básico, porque ele tem duas webroots, que servidores web da hospedagem compartilhada não suportam. Vamos precisar de ajustar a estrutura de diretórios.
Primeiro de tudo, precisamos de um diretório raíz. Crie um novo diretório e nomeie-o para corresponder à raíz de sua hospedagem, conforme descrito no Renomear webroot, por exemplo www
ou public_html
ou semelhante. Em seguida, crie a seguinte estrutura onde www
é o diretório raíz de sua hospedagem que você acabou de criar:
www
admin
backend
common
console
environments
frontend
...
www
será nosso diretório frontend, então mova o conteúdo de frontend/web
para ele. Mova o conteúdo de backend/web
para www/admin
. Em ambos os casos você precisará ajustar os caminhos em index.php
and index-test.php
.
Originalmente, o backend e frontend destinam-se a ser executado em diferentes domínios. Quando movemos tudo para o mesmo domínio, tanto frontend quanto backend estarão partilhando os mesmos cookies, criando um problema. Para corrigi-lo, ajuste sua configuração backend backend/config/main.php
da seguinte forma:
'components' => [
'request' => [
'csrfParam' => '_backendCSRF',
'csrfCookie' => [
'httpOnly' => true,
'path' => '/admin',
],
],
'user' => [
'identityCookie' => [
'name' => '_backendIdentity',
'path' => '/admin',
'httpOnly' => true,
],
],
'session' => [
'name' => 'BACKENDSESSID',
'cookieParams' => [
'path' => '/admin',
],
],
],
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.