Como subir a aplicação na hospedagem?
Como subir a aplicação na hospedagem?
Oi Yuri
Vai variar um pouco de cada hospedagem.
Normalmente, com PHP, basta copiar seus arquivos e depois mexer na configuração para setar o banco de dados correto/ip/etc. Isso não foi suficiente?
Com mais tempo do projeto, é interessante deixar essa parte, o chamado "deploy para produção", automatizado.
Sou meio novato nisso, e terminei os curso de Laravel aqui da Alura e alguns em PHP Puro, eu vi a diferença entre fazer isso, mais queria testar essa parte de subir um projeto na hospedagem com laravel, como posso deixar isso automatizado?
Yuri, acho que se você ainda está começando com php e laravel, talvez não seja o melhor momento de automizar tudo. Quando estiver mais maduro, faça os cursos de Devops aqui da alura que vão te ensinar isso passo a passo.
Para fazer o deploy manual da sua aplicação agora, realmente basta você copiar os arquivos se o php estiver configurado. Sabe dizer qual é a hospedagem em questão? Um dos cursos de wordpress também ensina como trabalhar com hospedagens em PHP. Se nunca fez nenhuma, também pode ser um bom passo
A hostinger tem uma hospedagem gratuita que é bom para iniciantes. Inclusive, um dos cursos de PHP e MySQL (acredito que o I) tem como última aula um exemplo de como subir o projeto nessa hospedagem. Recomendo.
Qualquer outra dúvida, fico a disposição ;)
Opa, eu sei hostinger já kkkkk, quero saber como subir um projeto feito no Laravel.
Yuri, levando em conta que você vai subir o projeto pra um servidor na Hostinger, faz assim:
Na sua pasta public_html
do servidor, coloca todos os arquivos da pasta public
do seu projeto.
Agora na raiz do seu servidor (fora da public_html
), você faz o upload de todos os demais arquivos.
Se tiver qualquer problema, posta aí pq eu devo ter me esquecido, mas, eu inclusive tenho um projeto em Laravel rodando lá, e fiz dessa forma.
;-)
Yuri, subi um projeto ontem em um servidor pessoal e passei por alguns problemas que já posso te adiantar:
Você vai precisar do arquivo .env com as configurações, configurá-lo de "local" para "production", remover o debug (false para true) e gerar a chave do app pelo comando
php artisan key:generate
Se for um servidor compartilhado e você não tiver acesso a linha de comando, faça as alterações na sua máquina antes de subir os arquivos. Porém, neste caso, você teria que subir o projeto com o diretório vendor completo.
Não deu certo, aparece Index of/ estoquelaravel.
Manda o link pra gente? Esse estoque laravel deveria estar na raiz do outro diretorio, entende?
http://exemploestoque.esy.es/
Oi Yuri
você está no caminho certo, a única coisa que percebi é que você moveu todos os arquivos do projeto pra dentro do www (public_html) do servidor. No lugar disso, experimente criar uma pasta com o nome do projeto do lado de fora do public_html e mova todos esses arquivos para ela.
Feito isso, você vai copiar apenas os arquivos de dentro da pasta /public do seu projeto pra dentro do /public_html do servidor. São apenas os arquivos de dentro dessa pasta, soltos.
Agora sim, você deve encontrar algum resultado melhor. Claro que ainda podem faltar os detalhes de configuração do ambiente e banco, mas vamos por partes. Veja o que acontece depois dessa alteração e nos conte aqui (;
Vai ficar
-app
......
-public
-public_html
-vendor
?
Oi Yuri
sua arvore de arquivos precisa ficar parecida com:
-seu-projeto-de-estoque
|_ app
|_ vendor
|_ public
|_ ......
-public_html
|_css
|_fontes
|_index.php
|_ (todo conteudo de dentro da pasta seu-projeto-de-estoque/public)
faz sentido?
Fatal error: require(): Failed opening required '/home/u214830356/public_html/../bootstrap/autoload.php' (include_path='.:/opt/php-5.5/pear') in /home/u214830356/public_html/index.php on line 21
acredite ou não, esse foi um grande avanço (;
agora abra o arquivo index.php, de dentro da sua pasta /public_html, e procure as linhas:
require __DIR__.’/../bootstrap/autoload.php’;
$app = require_once __DIR__.’/../bootstrap/app.php’;
voc6e precisa edita-las, apontando para o seu projeto que está do lado de fora da public_html.
Acreditando que você chamou a pasta do projeto de "seu-projeto-de-estoque", como no meu exemplo, as linhas ficariam assim:
equire __DIR__.’/../seu-projeto-de-estoque/bootstrap/autoload.php’;
$app = require_once __DIR__.’/../seu-projeto-de-estoque/bootstrap/app.php’;
Tenta encontrar e editar essas linhas?
Deu certo, mais alguns css meu parou de funcionar, eu lembro bem que algumas aulas da laravel você utilizava o url{' '} para alguma rotas nas view, vai ter que arrumar essa parte também?
Okay, o banco agora para conectar precisa já fazer no config/database ou pode usar env?
o env! você tem o arquivo .env no seu projeto? ele precisa estar dentro dessa pasta public_html também, com as informações de produção.
Sobre o problema dos CSSs, conseguiu resolver?
Deu certo!.
Essas orientações podiam estar numa aulinha extra lá no curso.
Mas e se caso eu estiver trabalhando com varios dominios dentro do meu servidor como ficaria isso????
Oi Diego. Vai depender do seu servidor e da sua hospedagem.
No apache e no tomcat, basta configurar que determinado dominio vai acessar a aplicação/contexto de determinada pasta. Aí basta apontar os diversos domínios para os ips que a sua hospedagem indicou.
Se voce ja sabe qual é o servidor e qual é a hospedagem, abre um novo tópico com esses dados pra gente!