Problemas de permissão ao executar o "php artisan serve" na porta 80

Introdução

O artisan serve tem como finalidade rodar o servidor embutido para uma aplicação que utiliza o framework Laravel. Eu já ensinei aqui no blog como Executar o "php artisan serve" em uma porta específica.

As vezes é necessário executar o php artisan serve em uma porta específica, como a porta 80 e afins, porém alguns problemas podem surgir.

O problema

Em distribuições Linux, costuma acontecer um bloqueio ao tentar executar o php artisan serve na porta 80.

Exemplo, ao executar o comando php artisan serve --port=80, recebemos o seguinte erro:

[Thu Dec 24 14:24:07 2020] Failed to listen on 127.0.0.1:80 (reason: Permission denied).

Isso acontece porque, no Linux, somente o usuário root pode abrir conexões da porta 1 até 1024.

Solução

Para resolver esse problema, basta utilizar o sudo ao executar o comando.

Assim:

sudo php artisan serve --port=80

Outras dicas

Existem algumas opções disponíveis ao executar o comando php artisan serve. Você pode conferir alguns truques aqui.