Para instalar o OpenCart no ISPConfig só é necessário colar as diretivas na aba “Options” do site e copiar os arquivos e o banco de dados.
O problema é que existe uma pasta “vendor”, que na documentação de instalação do Opencart avisa que ela deve ser movida para o mesmo nivel de /web, o que no ISPConfig não é permitido por padrão. Usando uma outra dica que publiquei aqui nos tópicos de ISPConfig pode-se liberar a criação da pasta e depois bloquear novamente, mas vou mostrar uma outra maneira.
*Segundo postagens recentes no fórum do Opencart essa pasta nem mesmo é necessária para fazer a loja funcionar, mas os logs de erro continuarão a ser gravados a cada acesso.
A linha de erro que aparece é parecida com esta:
file_exists(): open_basedir restriction in effect. File(/var/www/clients/client0/web1/web/system/../../vendor/autoload.php) is not within the allowed path(s)
Para solucionar isso siga os seguintes passos:
– Crie uma pasta vendor dentro da /private do site. Acesse a /private via FTP ou SSH e crie a pasta “vendor” dentro dela;
– Acesse a pasta /private/vendor e copie o conteúdo da pasta vendor que veio compactada no pacote de instalação do Opencart. Se acessou o console com SSH os comandos para isso são (modifique o caminho de origem conforme a versão):
> cd /private/vendor
> rsync -a /web/__MACOSX/2.2.0.0-compiled/vendor/ .
– Em seguida edite o arquivo do Opencart /web/system/startup.php e altere as linhas 87 e 88 para o seguinte:
// Autoloader
if (file_exists(DIR_SYSTEM . '../../private/vendor/autoload.php')) {
require_once(DIR_SYSTEM . '../../private/vendor/autoload.php');
}
– Salve o arquivo e pronto. Acesse sua loja e note que os logs de erro irão cessar.