Instalando Laravel no painel ISPConfig 3
Aprenda a configurar e instalar via composer o Laravel no painel ISPConfig 3
Fala pessoal tudo beleza?
Conheci o painel ISPConfig 3 buscando uma solução para meu droplet na Digital Ocean, onde eu tinha meu site e gerenciava ele apenas via SSH. Fazer tudo via SSH muitas das vezes não é produtivo (mas é muito insano), então um painel é uma ótima opção.
Encontrei um site ótimo onde aprendi mais sobre o ISP. Hoje gerencio meu site (este mesmo que você está acessando) através desse painel que otimiza e muito nosso trabalho.
ISPConfig é um painel para gerenciar sites, banco de dados, e-mails, relatórios e muito mais. Para mais informações sobre o painel visite o site https://www.ispconfig.org/.
Só que hoje não será dele que irei falar, mas de como instalar e configurar as diretivas do servidor web para que o Laravel funcione corretamente em seu ISPConfig.
No final do artigo deixarei um link muito bom para quem quiser aprender sobre o ISPConfig.
Criando um site
Para criar um site no ISPConfig vá em Site -> Adicionar novo site. Preencha os campos necessários na aba Domínio e clique em Salvar.
Nota: Para que o site responda pelo seu domínio não esqueça de apontar na sua tabela de DNS o IP do servidor ISPConfig.
Após criar o site entre nele novamente e vá na aba Opções. No final da página você verá a caixa de Diretivas do Nginx. Será aí que iremos adicionar nossas diretivas para que o Laravel funcione.
Diretivas do Nginx
Para que o Laravel funcione corretamente, a configuração abaixo é essencial. Copie e cole na caixa de diretivas.
location = /robots.txt {
root {DOCROOT}public;
access_log off;
log_not_found off;
allow all;
}
location / {
root {DOCROOT}public;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location @php {
try_files $uri =404;
root {DOCROOT}public;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/lib/php7.1-fpm/web1.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
}
Nota: a diretiva acima está definida para o usuário web1 conforme a linha fastcgi_pass unix:/var/lib/php7.1-fpm/web1.sock
. Altere essa diretiva para o usuário que você estará usando em seu Painel.
Se vocês notarem nas 3 diretivas acima todos possuem a linha:
root {DOCROOT}public
Essa variável docroot é o próprio painel que facilita nossa vida. Então ficaria algo como:
root /var/www/example.com/web/public
Nessa linha indicamos ao Nginx que ele irá buscar os arquivos nesse diretório, ou seja, quando usamos um Framework que é o caso do Laravel, o diretório onde ficam os arquivos é a pasta public e não a raiz do site. Portanto devemos indicar isso ao nosso servidor web.
Note que até o arquivo robots.txt é necessário essa diretiva, pois caso contrário o servidor retornará um erro 404 caso tentarmos acessar o endereço http://example.com/robots.txt
.
Instalando o Laravel
Primeiro vamos criar um usuário shell pelo painel ISP. Vá em Sites -> Usuários shell e clique em adicionar novo usuário. Preencha todas as informações necessárias.
Na opção Shell enjaulado (chroot) sempre escolha Jailkit. Isso deixará o usuário shell sempre em Jail (enjaulado), evitando que caso alguém consiga quebrar sua senha e ter acesso ao servidor fique enjaulado dentro de um espaço do site e não tenha acesso ao resto do servidor.
Acesse seu servidor via SSH com o usuário que foi criado agora (em Jail) e vamos fazer uma instalação limpa do Laravel utilizando o composer no diretório /web do usuário. Será necessário remover todo o conteúdo do diretório /web para que o composer consiga baixar a aplicação. Execute os comandos:
cd /web
rm -rf *
composer create-project --prefer-dist laravel/laravel .
O ponto no final quer dizer que a instalação será feita no diretório atual, ou seja, no /web
do usuário. Após o composer finalizar toda a instalação acesse o endereço da sua aplicação e verá a tela inicial do Laravel.
Agora basta criar um banco de dados, usuário para o banco e configurar seu arquivo .env para conectá-lo ao seu banco e começar a brincar.
Bom, vou deixar aqui dois links de sites que eu acompanho bastante e que me ajuda muito com o painel ISPConfig.
- HowtoForge: https://www.howtoforge.com
- Fator Binário: https://fatorbinario.com
Até a próxima.