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:

[code]suhosin.executor.include.whitelist = phar[/code]

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

[code]allow_url_fopen = On[/code]

2º Passo - Baixar e instalar o Composer

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

[code language="bash"] curl -sS https://getcomposer.org/installer | php71 -c ~/php.ini [/code]

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:

[code language="bash"] php71 -c ~/php.ini ~/composer.phar [/code]

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:

[code language="bash"]php71 -c ~/php.ini ~/composer.phar create-project laravel/laravel ~/laravel[/code]

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

[code language="bash"]mv ~/laravel/* ~/laravel/.* ~/

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

[/code]

Pode ser que um erro tipo esse apareça:

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

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:

[code language="bash"]# 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[/code]

Exclua o .htaccess da pasta public:

[code language="bash"]rm ~/public/.htaccess[/code]

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

[code language="bash"]mv ~/public/* ~/public/.* ~/public_html[/code]

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:

[code language="bash"]php71 -c ~/php.ini ~/composer.phar create-project laravel/laravel ~/public_html/meu_app[/code]

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:

[code] order deny,allow deny from all [/code]

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

[code] allow from all [/code]

É isso!

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

You should also read:

Instalando Emby Server no PfSense

Descobrindo a versão do FreeBSD no PfSense freebsd-version -k Explorando o repositório de arquivos do FreeBSD http://pkg.freebsd.org/ Emby Server no repositorio FreeBSD https://www.freebsd.org/cgi/ports.cgi?query=emby-server&stype=all…