Criando e executando um projeto Laravel no ServBay
Visão geral
O ServBay é um ambiente de desenvolvimento web local robusto, compatível com macOS e Windows, que integra diversos pacotes populares, incluindo PHP, Node.js, Python, Go, Java, vários bancos de dados (MySQL, PostgreSQL, MongoDB), serviços de cache (Redis, Memcached) e servidores web (Caddy, Nginx, Apache).
Este documento irá guiá-lo no processo de criação, configuração e execução de um projeto Laravel utilizando o ServBay. Vamos aproveitar o ambiente PHP integrado do ServBay, o gerenciador de pacotes Composer e os poderosos recursos de administração de sites para simplificar cada etapa.
O que é Laravel?
Laravel é um dos frameworks PHP de código aberto mais populares, criado por Taylor Otwell. Ele segue o padrão de arquitetura MVC (Model-View-Controller) e oferece diversas funcionalidades prontas para uso, tornando tarefas comuns do desenvolvimento web mais simples — como autenticação de usuários, roteamento, gerenciamento de sessões, cache e manipulação de bancos de dados. Laravel se destaca pela sintaxe elegante, pelo conjunto de recursos amplo e pela forte comunidade, sendo a escolha ideal para construções de aplicações web modernas e fáceis de manter.
Principais características e vantagens do Laravel
- Sintaxe elegante: Código claro e expressivo, facilitando a produtividade e legibilidade.
- Eloquent ORM: Implementação poderosa do ActiveRecord, tornando as operações de banco de dados intuitivas e simples.
- Console Artisan: Uma linha de comando repleta de ferramentas úteis para migrações, geração de código, execução de testes, entre outros.
- Engine de templates Blade: Sintaxe limpa e fácil para criação de views dinâmicas.
- Ecossistema rico: Muitos pacotes oficiais e de terceiros, facilmente integrados via Composer.
- Forte suporte comunitário: Uma comunidade ativa com vasta oferta de tutoriais, recursos e soluções.
Vantagens de desenvolver projetos Laravel com ServBay
O ServBay simplifica o fluxo de desenvolvimento para quem utiliza Laravel:
- Ambiente integrado: ServBay traz vários versões do PHP, Composer, bancos de dados e serviços de cache pré-instalados — elimina necessidade de instalações manuais.
- Gerenciamento fácil: Interface gráfica para trocar versões do PHP, gerenciar configurações de sites e iniciar/parar serviços com poucos cliques.
- Servidor web pré-configurado: ServBay usa Caddy por padrão, já otimizado para frameworks PHP (incluindo Laravel) — facilitando a configuração inicial.
- Suporte HTTPS: Certificados SSL emitidos automaticamente para domínios
.localvia ServBay User CA, garantindo segurança e ambiente semelhante ao produtivo por padrão.
Criando um projeto Laravel
ServBay recomenda que os projetos de site sejam armazenados nos seguintes diretórios, para manter organização e facilitar o gerenciamento:
- macOS:
/Applications/ServBay/www - Windows:
C:\ServBay\www
Verifique o Composer instalado
O Composer já vem incluído com o ServBay, não sendo necessário instalar separadamente. Para checar, basta abrir o terminal e executar:
bashcomposer --version1Se o comando retornar a versão, o Composer está pronto para uso.
Crie um novo projeto Laravel
No terminal, navegue até o diretório recomendado e utilize o Composer para criar o projeto. Vamos nomear o diretório do projeto como
servbay-laravel-app:macOS:
bashcd /Applications/ServBay/www # Cria o diretório do projeto mkdir servbay-laravel-app # Acesse o diretório cd servbay-laravel-app # Cria o projeto Laravel na pasta atual composer create-project --prefer-dist laravel/laravel .1
2
3
4
5
6
7Windows:
cmdcd C:\ServBay\www # Cria o diretório do projeto mkdir servbay-laravel-app # Acesse o diretório cd servbay-laravel-app # Cria o projeto Laravel na pasta atual composer create-project --prefer-dist laravel/laravel .1
2
3
4
5
6
7O Composer irá baixar e instalar o Laravel e todas as suas dependências.
Entre no diretório do projeto
Certifique-se que você está na raiz da nova aplicação Laravel:
macOS:
bashcd /Applications/ServBay/www/servbay-laravel-app1Windows:
cmdcd C:\ServBay\www\servbay-laravel-app1
Configuração inicial
Gere a chave de aplicação
O Laravel utiliza uma chave de aplicação para proteger sessões e dados criptografados. No terminal, estando na raiz do projeto, rode:
Caminho do projeto:
- macOS:
/Applications/ServBay/www/servbay-laravel-app - Windows:
C:\ServBay\www\servbay-laravel-app
bashphp artisan key:generate1Esse comando irá gerar e definir o valor
APP_KEYno arquivo.env.- macOS:
Configurar variáveis de ambiente (
.env)O arquivo
.envgerencia variáveis como conexão com banco de dados, URL da aplicação, etc. Abra o arquivo.envna raiz do projeto e ajuste conforme sua necessidade, conferindo estes exemplos básicos:dotenvAPP_NAME=ServBay Laravel Demo APP_ENV=local APP_KEY=base64:... # Gerado pelo comando php artisan key:generate APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack # Exemplo MySQL DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app # Nome do banco desejado DB_USERNAME=root # Usuário padrão do ServBay DB_PASSWORD=password # Senha padrão do ServBay # Exemplo Redis CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Por padrão, Redis sem senha no ServBay REDIS_PORT=6379 # Exemplo Memcached # CACHE_STORE=memcached # MEMCACHED_HOST=127.0.0.1 # MEMCACHED_PORT=112111
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26Atenção: Ajuste os campos de configuração conforme o banco ou serviço que estiver usando. Usuário e senha padrão podem ser consultados no painel do ServBay.
Configurando o servidor web (adicionando um site no ServBay)
Utilize o gerenciamento de sites do ServBay para apontar seu domínio para a pasta public do projeto Laravel.
Abra o painel de controle do ServBay
Inicie o aplicativo ServBay e acesse o painel.
Adicione um novo site
Vá até a seção de "Sites" no painel e clique no botão de adicionar (
+ou similar).Preencha as informações do site
Siga este exemplo para configurar:
Nome (Name):
Meu Primeiro Site Laravel Dev(nome a sua escolha)Domínio (Domain):
servbay-laravel-test.local(domínio para acesso via navegador)Tipo de Site (Site Type):
PHPVersão PHP (PHP Version): Escolha conforme necessidade, por exemplo,
8.3.Root do Site (Site Root):
- macOS:
/Applications/ServBay/www/servbay-laravel-app/public - Windows:
C:\ServBay\www\servbay-laravel-app\public
(Importante: Deve apontar para o subdiretório
publicdentro do projeto Laravel)- macOS:
Para mais detalhes, consulte a documentação oficial do ServBay sobre Como adicionar o primeiro site (procure o link em inglês).
Salve e aplique as alterações
Salve a configuração do site. O ServBay irá atualizar a configuração do servidor (Caddy por padrão). Se solicitado, reinicie o servidor web conforme indicado.
Verificando acesso básico
Agora, seu projeto Laravel deve estar acessível via o domínio configurado.
Abra o navegador
Acesse no navegador o domínio configurado, por exemplo,
https://servbay-laravel-test.local.Cheque o resultado
Se tudo estiver correto, você verá a página de boas-vindas do Laravel.
Adicionando um exemplo de código simples
Para testar, adicione uma rota simples em routes/web.php para exibir "Hello ServBay!".
No arquivo routes/web.php do projeto, insira ou altere:
php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Aqui você pode registrar rotas web para sua aplicação.
| Essas rotas são carregadas pelo RouteServiceProvider dentro do grupo que
| contém o middleware 'web'. Agora crie algo incrível!
|
*/
Route::get('/', function () {
return 'Hello ServBay!'; // Alteração ou adição desta linha
});
// ... outras rotas1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Salve e acesse https://servbay-laravel-test.local para ver Hello ServBay! no navegador.
Exemplo de integração de banco de dados
O Laravel possui uma camada de abstração poderosa para bancos de dados (ORM Eloquent), facilitando interações com diferentes sistemas. O ServBay vem com MySQL, PostgreSQL, MongoDB, Redis e Memcached, ideais para desenvolvimento local.
Exemplo de banco NoSQL
O ServBay integra Redis e Memcached por padrão, incluindo as extensões PHP necessárias.
Exemplo com Memcached
Configurar
.envConfigure a conexão com Memcached no arquivo
.envse ainda não o fez:dotenvCACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1 MEMCACHED_PORT=11211 # Porta padrão Memcached no ServBay1
2
3Utilizar Memcached
Use a facade de cache do Laravel em rotas/controladores:
Em
routes/web.php:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached-test', function () { // Armazena dados no cache por 10 minutos (600 segundos) Cache::put('servbay_memcached_key', 'Hello from Memcached on ServBay!', 600); // Busca dados do cache $value = Cache::get('servbay_memcached_key'); if ($value) { return "Dados do Memcached: " . $value; } else { return "Dados do Memcached não encontrados ou expirados."; } });1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Acesse
https://servbay-laravel-test.local/memcached-testpara testar.
Exemplo com Redis
Configurar
.envConfigure a conexão Redis no arquivo
.env:dotenvCACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Padrão: sem senha para Redis no ServBay REDIS_PORT=6379 # Porta padrão Redis ServBay1
2
3
4Observação: Se estiver testando Redis e Memcached, apenas um deve estar ativo no
.envpor vez (descomente somente o desejado).Utilizar Redis
Use a facade Redis ou Cache do Laravel nas rotas/controladores:
Em
routes/web.php:phpuse Illuminate\Support\Facades\Redis; // Ou use Cache facade, desde que CACHE_STORE=redis // use Illuminate\Support\Facades\Cache; Route::get('/redis-test', function () { // Utiliza a facade Redis Redis::set('servbay_redis_key', 'Hello from Redis on ServBay!'); $value_redis = Redis::get('servbay_redis_key'); // Alternativamente: // Cache::put('servbay_redis_key', 'Hello from Redis on ServBay!', 600); // $value_cache = Cache::get('servbay_redis_key'); return "Dados do Redis: " . $value_redis; });1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Acesse
https://servbay-laravel-test.local/redis-testpara testar.
Exemplo com banco relacional (MySQL & PostgreSQL)
O ServBay já inclui servidores MySQL e PostgreSQL. O ORM Eloquent no Laravel conecta facilmente ambos.
Antes de tudo, crie o banco de dados do projeto usando ferramentas disponíveis no ServBay (phpMyAdmin, Adminer, pgAdmin, ou via linha de comando). Crie o banco servbay_laravel_app.
Agora, vamos usar migrations do Laravel para criar a tabela.
Criar arquivo de migration
Na raiz do projeto, execute:
bashphp artisan make:migration create_accounts_table --create=accounts1Isso irá criar um arquivo de migration em
database/migrations.Editar o arquivo de migration
Abra o arquivo criado (nome parecido com
YYYY_MM_DD_HHMMSS_create_accounts_table.php), e edite o métodoup:php<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Executa as migrations. */ public function up(): void { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); // Adiciona created_at e updated_at }); } /** * Reverte as migrations. */ public function down(): void { Schema::dropIfExists('accounts'); } };1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29Salve o arquivo.
Rodar a migration
Execute na raiz do projeto para criar a tabela
accounts:bashphp artisan migrate1Se estiver tudo correto, vários tabelas padrão do Laravel serão criadas, incluindo
accounts.
Exemplo MySQL
Configurar
.envpara MySQLNo
.env:dotenvDB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 # Porta padrão MySQL ServBay DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password # Senha padrão MySQL ServBay1
2
3
4
5
6Inserir dados de exemplo
Adicione uma rota em
routes/web.php:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay Demo User', 'email' => 'demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account adicionado no MySQL!'; });1
2
3
4
5
6
7
8
9
10
11Acesse
https://servbay-laravel-test.local/mysql-add-accountpara inserir dados.Ler dados de exemplo
Adicione uma rota para ler da tabela:
phpuse App\Models\Account; // Caso o modelo Account exista // Ou use diretamente a facade DB Route::get('/mysql-accounts', function () { // Usando DB facade $accounts = DB::table('accounts')->get(); // Ou Eloquent ORM (se existir modelo Account) // $accounts = Account::all(); return $accounts; });1
2
3
4
5
6
7
8
9
10
11
12Acesse
https://servbay-laravel-test.local/mysql-accountspara visualizar os dados.
Exemplo PostgreSQL
Configurar
.envpara PostgreSQLCaso queira usar PostgreSQL, ajuste o
.env:dotenvDB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 # Porta padrão PostgreSQL ServBay DB_DATABASE=servbay_laravel_app DB_USERNAME=root # Usuário padrão PostgreSQL DB_PASSWORD=password # Senha padrão PostgreSQL1
2
3
4
5
6Notas: Após alterar o banco, faça as migrations novamente usando
php artisan migrate:refreshouphp artisan migrate.Inserir dados de exemplo (PostgreSQL)
Adicione uma rota em
routes/web.php:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay PG Demo User', 'email' => 'pg-demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account adicionado no PostgreSQL!'; });1
2
3
4
5
6
7
8
9
10
11Acesse
https://servbay-laravel-test.local/pgsql-add-accountpara inserir dados.Ler dados de exemplo (PostgreSQL)
Adicione uma rota:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-accounts', function () { $accounts = DB::table('accounts')->get(); return $accounts; });1
2
3
4
5
6Acesse
https://servbay-laravel-test.local/pgsql-accountspara visualizar os dados.
Conclusão
Com o ServBay, criar e rodar projetos Laravel localmente se torna um processo prático e rápido. O PHP, Composer, servidor web Caddy e diversos bancos de dados/cache já integrados eliminam barreiras de configuração. Em poucos passos você começa a desenvolver e testar aplicações, com flexibilidade para integração e validação de funções de banco/caching. O ServBay está comprometido em garantir uma experiência de desenvolvimento eficiente e acessível para desenvolvedores.
Se surgir qualquer dúvida ou problema, consulte a documentação oficial do ServBay ou busque apoio na comunidade.
