Carregando...
Sem categoria

Instalando Laravel em hospedagem compartilhada Locaweb

Você precisa ter uma hospedagem Linux com a versão do PHP mais atual (quanto mais atual melhor). Neste tutorial usarei o PHP 7.1. Você pode mudar facilmente a versão do PHP no seu servidor pelo Painel de Controle da Locaweb.

1º Passo – Permitir que o Composer seja executado na sua hospedagem

Abra o php.ini na sua hospedagem (pode ser via FTP, SFTP ou SSH)

e adicione no final do arquivo texto, em uma nova linha, o seguinte:

suhosin.executor.include.whitelist = phar

Essa linha permite que você possa executar o composer via SSH.

Pelo que andei lendo, esse Suhosin é um plugin para o PHP que aumenta a segurança do servidor. É algo que a Locaweb usa para impedir que seus clientes rodem códigos maliciosos nas hospedagens compartilhadas.

Modifique a seguinte linha para permitir que abertura de arquivos via PHP

allow_url_fopen = On

2º Passo – Baixar e instalar o Composer

Acesse seu servidor via SSH e faça o seguinte comando:

curl -sS https://getcomposer.org/installer | php71 -c ~/php.ini

Perceba que em php71 você deve trocar para exatamente a versão do php que você está usando. Se estiver com o PHP 5.6 digite php56, se estiver com o PHP 7.0 digite php70 e assim por diante.

Veja se você consegue rodar o composer com sucesso digitando:

php71 -c ~/php.ini ~/composer.phar

Deverá mostrar Composer escrito em ASCII Art, sua versão e uma explicação dos comandos que o software pode executar.

3º Passo – Instalando o Laravel

php71 -c ~/php.ini ~/composer.phar global require “laravel/installer”

Isso irá instalar o Laravel. Pronto.

4º Passo – Criando um projeto com o modelo do Laravel

Vamos criar uma pasta chamada laravel com todo os arquivos necessários para o laravel funcionar dentro da raíz da sua hospedagem:

php71 -c ~/php.ini ~/composer.phar create-project laravel/laravel ~/laravel

Ainda não está pronto. Precisaremos organizar as pastas manualmente. Vamos mover tudo que está dentro da pasta ~/laravel para a pasta raíz:

mv ~/laravel/* ~/laravel/.* ~/

#o ~/laravel/.* serve para mover arquivos que começam com ponto tipo .env

Pode ser que um erro tipo esse apareça:

mv: cannot move `/home/storage/a/5b/50/minha_hospedagem/laravel/.' to `/home/storage/a/5b/50/minha_hospedagem/.': Device or resource busy

Não se preocupe, o erro aconteceu comigo também, mas todas as pastas foram transportadas.

Certifique-se de que todos os arquivos foram passados, inclusive os ocultos “.env”, “.env_example”, “.gitignore”, etc…

A pasta ~/public é quem contém a página inicial da sua aplicação laravel, o index.php está lá. Como o Locaweb trabalha com a pasta public_html teremos que mover tudo da pasta public para a public_html, mas vamos com calma…

Há um arquivo .htaccess em ambas as pastas! Você vai precisar mesclar as duas.

Copie o conteúdo do ~/public/.htaccess  e cole no final do ~/public_html/.htaccess:

# Dá pra fazer isso com o comando cat, mas não lembro exatamente como

# Você também pode fazer via SFTP com WinSCP ou FileZilla

Exclua o .htaccess da pasta public:

rm ~/public/.htaccess

Agora mova tudo da pasta ~/public para a ~/public_html:

mv ~/public/* ~/public/.* ~/public_html

Pronto! Agora já pode usar o Laravel na sua hospedagem compartilhada da Locaweb.

[Extra] Se quiser instalar o Laravel numa subpasta do ~/public_html

Se quiser instalar o Laravel numa pasta tipo ~/public_html/meu_app siga essas instruções:

Quando for pedir ao composer criar o projeto do Laravel, crie diretamente dentro da pasta ~/public_html:

php71 -c ~/php.ini ~/composer.phar create-project laravel/laravel ~/public_html/meu_app

Cuidado, ao fazer isso seus arquivos podem ser acessados por qualquer pessoa. Para impedir que isso aconteça você precisará criar regras no .htaccess.

Na pasta ~/public_html/meu_app crie um arquivo .htaccess e nele escreva:

order deny,allow
deny from all

Agora na pasta ~/public_html/meu_app/public edite o .htaccess e adicione no final:

allow from all

É isso!

Qualquer dúvida ou erro me informe nos comentários!

3 comentários
  1. Tadeu Torquato

    Boa noite,

    Não estou conseguindo instalar o laravel….fiz todos os procedimentos e na hora da esse erro abaixo

    -bash-3.2$ php71 -c ~/php.ini ~/composer.phar global require “laravel/installer”
    Changed current directory to /home/storage/5/48/f3/infoconsultor/.composer
    Using version ^2.0 for laravel/installer
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)

    mmap() failed: [12] Cannot allocate memory
    PHP Fatal error: Out of memory (allocated 216621056) (tried to allocate 4096 bytes) in phar:///home/storage/5/48/f3/infoconsultor/composer.phar/src/Composer/Repository/ComposerRepository.php on line 593

    mmap() failed: [12] Cannot allocate memory
    PHP Fatal error: Out of memory (allocated 216621056) (tried to allocate 4096 bytes) in phar:///home/storage/5/48/f3/infoconsultor/composer.phar/src/Composer/Repository/ComposerRepository.php on line 593

    mmap() failed: [12] Cannot allocate memory
    PHP Fatal error: Out of memory (allocated 216621056) (tried to allocate 4096 bytes) in phar:///home/storage/5/48/f3/infoconsultor/composer.phar/src/Composer/Repository/ComposerRepository.php on line 593

    mmap() failed: [12] Cannot allocate memory
    PHP Fatal error: Out of memory (allocated 216621056) (tried to allocate 4096 bytes) in phar:///home/storage/5/48/f3/infoconsultor/composer.phar/src/Composer/Repository/ComposerRepository.php on line 593

    mmap() failed: [12] Cannot allocate memory
    PHP Fatal error: Out of memory (allocated 216621056) (tried to allocate 4096 bytes) in phar:///home/storage/5/48/f3/infoconsultor/composer.phar/src/Composer/Repository/ComposerRepository.php on line 593

    mmap() failed: [12] Cannot allocate memory
    PHP Fatal error: Out of memory (allocated 216621056) (tried to allocate 4096 bytes) in phar:///home/storage/5/48/f3/infoconsultor/composer.phar/src/Composer/Repository/ComposerRepository.php on line 593

    mmap() failed: [12] Cannot allocate memory

    1. tiagosmx

      Parece que você tá com pouca memória RAM na sua hospedagem PHP.
      Você sabe aumentar a memória do PHP pelo php.ini?

      1. Joao Coltrane

        Não estou conseguindo instalar um laravel que criei e coloquei no seguinte diretório:

        public_html/meu_app

        Eu só consigo acessar se eu coloco na url o seguinte: meu_dominio/meu_app/public OU meu_dominio/meu_app/index.php

        Eu gostaria que o usuário ao cair em meu_dominio/meu_app (ou qualquer outro projeto) fosse direto para o index.php . Eu estou tentando fazer assim porque preciso instalar vários projetos na locaweb. Help!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *