> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://ajuda.activeweb.com.br/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Instalar Certificado - OpenCart

Versões do OpenCart compatíveis com este tutorial:

**OpenCart 2.0.3.1 ou superior**

**OpenCart 3.0.1.1 ou superior**

Pré-requisitos para este tutorial:

Certificado de segurança instalado em sua hospedagem.

Introdução:

Um recurso essencial e indispensável para a sua loja, é a utilização de certificado de segurança para a troca de informações através de uma conexão segura (https) entre o seu cliente e a loja, por isso, neste tutorial, vou ensinar como habilitar a utilização da conexão segura no OpenCart.

1. Acesse a administração de sua loja, e vá no menu **Configurações→Lojas**, clique no botão **Editar**, clique na aba **Servidor**, localize o campo **Ativar SSL** e marque a opção **Sim**, depois clique no botão **Salvar**.

2. Edite os arquivo **config.php**, localize a linha que é parecida com o exemplo abaixo:

*define(‘HTTPS_SERVER’, ‘http://www.seudominio.com.br/’);*

Modifique apenas o http para https, conforme o exemplo abaixo:

*define(‘HTTPS_SERVER’, ‘https://www.seudominio.com.br/’);*

E salve as alterações no arquivo.

3. Edite o arquivo **/admin/config.php**, localize as linhas que são parecidas com o exemplo abaixo:

*define(‘HTTPS_CATALOG’, ‘http://www.seudominio.com.br/admin/’);*
*define(‘HTTPS_SERVER’, ‘http://www.seudominio.com.br/’);*

Modifique apenas o http para https, conforme o exemplo abaixo:

*define(‘HTTPS_CATALOG’, ‘https://www.seudominio.com.br/admin/’);*
*define(‘HTTPS_SERVER’, ‘https://www.seudominio.com.br/’);*

E salve as alterações no arquivo.

4. Edite o arquivo /system/config/admin.php, localize a linha abaixo (Somente na versão 2.2.0.0 do OpenCart):

**$_['site_ssl'] = false;**

Altere para:

**$_['site_ssl'] = true;**

E salve as alterações no arquivo.

5. Edite o arquivo /system/config/catalog.php, localize a linha abaixo (Somente na versão 2.2.0.0 do OpenCart):

**$_['site_ssl'] = false;**

Altere para:

**$_['site_ssl'] = true;**

E salve as alterações no arquivo.

6. Edite o arquivo /catalog/controller/startup/startup.php, localize a linha abaixo (Somente na versão 2.2.0.0 do OpenCart):

**$this->config->set('config_url', HTTP_SERVER);**

E após a linha acima, adicione:

**$this->config->set('config_ssl', HTTPS_SERVER);**

E salve as alterações no arquivo.


***Problemas que você pode encontrar após ativar o SSL:***

Se quando você acessar o ambiente seguro de sua loja for exibido um aviso que há itens não seguros, verifique as seguintes situações que ocasionam este problema:

1. Verifique se todos os arquivos com as extensões CSS e JS estão sendo carregados com "https://".

2. Verifique se todos os arquivos de fontes utilizadas nos arquivos CSS estão sendo carregados com "https://".

3. Se você adicionou imagens no código do seu layout (tema), verifique se você fez da forma correta:

– Assim é errado: img src=”/image/minha-imagem.jpg” 
– Assim é errado: img src=”http://www.meudominio.com.br/image/minha-imagem.jpg”
– Assim é correto: img src=”image/minha-imagem.jpg”
– Assim é correto: img src=”https://www.meudominio.com.br/image/minha-imagem.jpg”


**Para forçar o SSL em toda a loja:**

- Vamos modificar nos arquivos config.php e /admin/config.php o http para https, para que os links da loja sejam todos gerados para serem abertos por https.

1. Edite os arquivo **config.php**, e localize a linha que é parecida com o exemplo abaixo:

*define(‘HTTP_SERVER’, ‘http://www.seudominio.com.br/’);*

E modifique apenas o http para https, conforme o exemplo abaixo:

*define(‘HTTP_SERVER’, ‘https://www.seudominio.com.br/’);*

Salve a alteração no arquivo.

2. Edite o **arquivo /admin/config.php**, e localize as linhas que são parecidas com o exemplo abaixo:

*define(‘HTTP_CATALOG’, ‘http://www.seudominio.com.br/admin/’);*
*define(‘HTTP_SERVER’, ‘http://www.seudominio.com.br/’);*

E modifique apenas o http para https, conforme o exemplo abaixo:

*define(‘HTTP_CATALOG’, ‘https://www.seudominio.com.br/admin/’);*
*define(‘HTTP_SERVER’, ‘https://www.seudominio.com.br/’);*

Salve as alterações no arquivo.

3. Edite o arquivo .htaccess para adicionar as linhas de código que irão forçar o uso do https.

- No final do arquivo .htaccess adicione o código abaixo:

**RewriteEngine On**
**RewriteCond %{SERVER_PORT} 80**
**RewriteRule ^(.*)$&#32;https://www.seudominio.com.br/$1&#32;[R,L]**
* Substitua o www.seudominio.com.br pelo domínio da sua loja, e caso você não utilize o www no seu domínio, apague o www.

- Se após utilizar o código acima, a URL da loja der erro de acesso, você pode tentar o código abaixo:

**RewriteEngine On**
**RewriteCond %{HTTPS} != on**
**RewriteRule .* https://www.seudominio.com.br%{REQUEST_URI} [R,L]**
* Substitua o www.seudominio.com.br pelo domínio da sua loja, e caso você não utilize o www no seu domínio, apague o www.

- Ou ainda, este outro código:

**RewriteCond %{HTTPS} off**
**RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]**
- Caso sua loja esteja em um diretório (pasta), e seja acessada deste diretório, utilize o código abaixo:

**RewriteEngine On**
**RewriteCond %{SERVER_PORT} 80**
**RewriteCond %{REQUEST_URI} diretorio RewriteRule ^(.*)$&#32;https://www.seudominio.com.br/diretorio/$1&#32;[R,L]**
* Substitua a palavra diretorio pelo nome do diretório em que você instalou sua loja.
* Substitua o www.seudominio.com.br pelo domínio da sua loja, e caso você não utilize o www no seu domínio, apague o www.

- Se estiver utilizando o **CloudFlare**, acesse sua conta no CloudFlare, **clique no domínio**, depois no botão **Crypto**, e no campo **SSL**, selecione a opção **Flexible**.

E ao invés dos códigos citados anteriormente, utilize o código abaixo:

**RewriteEngine On**
**RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'**
**RewriteRule ^(.*)$&#32;https://www.seudominio.com.br/$1&#32;[L]**
* Substitua o www.seudominio.com.br pelo domínio da sua loja, e caso você não utilize o www no seu domínio, apague o www.

Ou, caso estiver utilizando o multilojas com apenas um domínio utilizando o https do Cloudflare, utilize o código abaixo:

**RewriteCond %{HTTP_HOST} ^seudominio.com.br$ [NC]**
**RewriteCond %{HTTPS} off [OR]**
**RewriteCond %{HTTPS}:s on:(s)**
**RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'**
**RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]**
* Substitua o seudominio.com.br pelo domínio da sua loja que vai utilizar o https.

Pronto!

Sua loja já está habilitada para utilizar seu certificado de segurança e promover a troca de informações com seu cliente de forma segura.