https://github.com/henriquetourinho/clt
Script para provisionamento automático de servidores LEMP (Nginx, MariaDB, PHP) em Debian/Ubuntu. Instalação com um único comando.
https://github.com/henriquetourinho/clt
automacao automation bash bash-script clt debian lemp linux localhost nginx php php-fpm provisionamento provisioning server shell shell-script vhost virtual-host
Last synced: 4 months ago
JSON representation
Script para provisionamento automático de servidores LEMP (Nginx, MariaDB, PHP) em Debian/Ubuntu. Instalação com um único comando.
- Host: GitHub
- URL: https://github.com/henriquetourinho/clt
- Owner: henriquetourinho
- License: mit
- Created: 2025-06-13T14:00:22.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-13T14:07:56.000Z (4 months ago)
- Last Synced: 2025-06-13T14:51:58.891Z (4 months ago)
- Topics: automacao, automation, bash, bash-script, clt, debian, lemp, linux, localhost, nginx, php, php-fpm, provisionamento, provisioning, server, shell, shell-script, vhost, virtual-host
- Language: Shell
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS.md
Awesome Lists containing this project
README
# clt 🚀🇧🇷
**clt** é um utilitário de linha de comando escrito em Bash, criado para **provisionar rapidamente ambientes de desenvolvimento web** em servidores que utilizam a stack **LEMP** (Linux, Nginx e PHP).
Ideal para desenvolvedores que querem evitar tarefas repetitivas, o `clt` automatiza completamente a criação de diretórios de projeto, configuração de Virtual Hosts no Nginx e mapeamento local via `/etc/hosts` — tudo isso em poucos segundos.
---
## 📦 Funcionalidades Principais
O `clt` realiza, de forma sequencial e segura:
- 📂 **Criação do Diretório**
> Gera a estrutura padrão do projeto em:
> `/var/www/`
- 🔐 **Ajuste de Permissões**
> Define `www-data` como proprietário do diretório, garantindo acesso correto pelo Nginx.
- ✍️ **Geração da Configuração Nginx**
> Cria um Virtual Host personalizado em:
> `/etc/nginx/sites-available/`
> Com suporte automático a **PHP-FPM**.
- 🔗 **Habilitação do Site**
> Cria um link simbólico em `/etc/nginx/sites-enabled/` para ativar o site.
- 🌐 **Resolução de Host Local**
> Adiciona a entrada `.local` ao arquivo `/etc/hosts`, apontando para `127.0.0.1`.
- ✅ **Validação e Recarga do Nginx**
> Testa a nova configuração (`nginx -t`) e recarrega o serviço (`systemctl reload nginx`) de forma segura e sem downtime.
---
## 📋 Pré-requisitos
Para utilizar o `clt`, seu ambiente precisa ter:
- ✅ Sistema operacional **Linux** (testado em Debian/Ubuntu)
- ✅ Acesso de superusuário (via `sudo`)
- ✅ Stack **LEMP** previamente instalada:
- [x] **Nginx**
- [x] **PHP-FPM** (qualquer versão ativa)
---
## 🛠️ Instalação
Baixe o script com `curl`:
```bash
curl -o clt.sh https://raw.githubusercontent.com/henriquetourinho/clt/main/clt.sh
```
Dê permissão de execução:
```bash
chmod +x clt.sh
```
> ℹ️ *A URL acima é apenas um exemplo. Substitua pela URL real do seu repositório.*
---
## ▶️ Como Usar
Execute o script com `sudo`, passando o nome do projeto como argumento:
```bash
sudo ./clt.sh
```
O nome será usado para:
- Nomear a pasta (`/var/www/`)
- Criar o Virtual Host
- Criar o domínio local (`.local`)
---
## 💡 Exemplos
Criar um projeto acessível em `http://meu-site.local`:
```bash
sudo ./clt.sh meu-site
```
Criar uma API local em `http://nova-api.local`:
```bash
sudo ./clt.sh nova-api
```
---
## 🧪 Testado e Validado
Desenvolvido por [Carlos Henrique Tourinho Santana](https://github.com/henriquetourinho), testado em ambientes reais de desenvolvimento para **ganho de tempo**, **padronização** e **simplicidade** no dia a dia.
---
## 📜 Licença
Este projeto está licenciado sob a **MIT License**. Veja o arquivo `LICENSE` no repositório para mais detalhes.