A maioria dos clientes da Think Bigger opta pelos nossos serviços de alojamento. No entanto, alguns clientes preferem alojá-lo nos seus próprios sistemas. Esta informação dedica-se exclusivamente aos que se enquadram neste caso. Nesse sentido, nas linhas seguintes tem toda a informação técnica relevante para colocar em produção o seu site.


Pré-Requisitos

Os pré-requisitos de instalação estão descritos no artigo de ajuda Pré-Requisitos.


Instalação

A estrutura de diretórios é simples. Embora contenha muitos ficheiros, apenas 3 são importantes para a instalação com sucesso:


/assets/
/content/
/kirby/
/painel/
/site/

  • accounts/
  • blueprints/
  • cache/
  • config/
    • config.php - ficheiro de configuração
  • controllers/
  • fields/
  • languages/
  • plugins/
  • snippets/
  • templates/

/thumbs/

/uploads/

.htaccess - ficheiro de definições do Apache

index.php

robots.txt - ficheiro com instruções para robots


Procedimentos de Instalação

Para instalar o site, basta descompactar o ficheiro comprimido enviado pela Think Bigger e colocar a estrutura na raiz do site. 


.htaccess

O ficheiro .htaccess tem que ter a seguinte configuração:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^content/(.*)\.(txt|md|mdown)$ index.php [L]
RewriteRule ^assets/plugins/([a-zA-Z0-9\.\-_%=]+)/(.*)$ site/plugins/$1/assets/$2 [L,N]
RewriteCond $1 !^plugins/[a-zA-Z0-9\.\-_%=]+/assets/.*
RewriteRule ^site/(.*) index.php [L]
RewriteRule ^(kirby|painel\/app|painel\/tests)/(.*) index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^painel/(.*) painel/index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\.(\d+)\.(js|css)$ $1.$3 [L]
</IfModule>
AddDefaultCharset UTF-8


config.php

O ficheiro site/config/config.php tem que ter a seguinte configuração:


<?php 
c::set('license', 'a licença Kirby atribuída pela Think Bigger'); 
c::set('producao', true);
c::set('panel.install', false);
c::set('debug', false);
c::set('thumbs.driver', 'im');
c::set('dominio', 'o domínio do site');
c::set('date.handler', 'strftime'); 
c::set('panel.language', 'pt_PT'); 
c::set('panel.session.timeout', 3000); 
c::set('timezone','Europe/Lisbon'); 
c::set('cache.ignore', array('sitemap')); 
c::set('google-maps-api', 'a API do Google MAPS atribuida pela Think Bigger'); 
c::set('languages', array( 
   array( 
     'code' => 'pt', 
     'name' => 'Português', 
     'default' => true, 
     'locale' => 'pt_PT', 
     'url' => '/', 
   ), 
   array( 
     'code' => 'en', 
     'name' => 'English', 
     'locale' => 'en_GB', 
     'url' => '/en', 
   ), 
)); 
// DADOS DO EMAIL 
c::set('sparkpost', 'a API do SPARKPOST atribuida pela Think Bigger'); 
c::set('email.service', 'sparkpost'); 
c::set('email.from', 'o endereço de email usado para envio'); 
c::set('email.from_nome', 'o nome associado ao endereço de email usado para envio'); 
c::set('email.to_nome', 'o nome do destinatário de email por defeito'); 
c::set('email.to_email', 'o endereço do destinatário de email por defeito'); 
c::set('email.replyTo', 'um endereço facultativo para o reply-to'); 
c::set('local.upload', 'a localização do diretório de uploads');
c::set('simplemde.excludeModules', true);
c::set('modules.parent.uid', 'modulos');
c::set('modules.template.prefix', 'modulo.');
c::set('modules.directory', 'a raiz do site/site/modulos');
c::set('error','erro');



Aquando a entrega do site, todos os ficheiros de configuração estão preenchidos corretamente com os dados finais, à exceção das linhas que identificam a raiz do site, que obviamente varia de servidor para servidor.


Por este motivo, a linha seguinte tem que ser atualizada com o caminho correto, caso contrário o site pode não funcionar.


c::set('modules.directory', 'a raiz do site/site/modulos');


Por exemplo, se o site for colocado no diretório /var/www/site-exemplo, a instrução tem que ser configurada da seguinte forma:


c::set('modules.directory', '/var/www/site-exemplo/site/modulos');


Apenas terá que se preocupar com este ficheiro ou estas configurações, caso pretenda modificar algo.


robots.txt

O ficheiro robots.txt tem as intruções para os bots que indexam o seu site. Ele deverá ter a seguinte configuração:


User-agent: *
Disallow: /content/*.txt$
Disallow: /kirby/
Disallow: /site/
Disallow: /panel/
Disallow: /*.md$

sitemap: https://o domínio do site/sitemap.xml


A linha com o sitemap deve ser mudada para coincidir com o seu domínio. Por exemplo, caso o seu domínio seja o-meu-dominio.pt, a instrução deveria ser:

sitemap: https://o-meu-dominio.pt/sitemap.xml


Resolução de Problemas

Quando algo corre mal, há várias formas de obter informação de diagnóstico. A primeira é através dos ficheiros de log do Apache. A segunda é ativar a opção de debug do site, alterando para true a seguinte instrução no ficheiro site/config/config.php


c::set('debug', true);


Após ultrapassar o incidente, não se esqueça de mudar novamente a instrução para false. Se não o fizer, o código será exposto e fornecer dados comprometedores a alguém mal intencionado.


c::set('debug', false);


Segurança no Sistema Operativo

Para efeitos de segurança, é fundamental que aplique as seguintes permissões na estrutura de ficheiros do site, executando os seguintes comandos na raiz do mesmo:


$ find . -type f -exec chmod 664 {} + 
$ find . -type d -exec chmod 775 {} +