Files
network-documentation/proyectos/stradaautopartes/README.md

241 lines
5.2 KiB
Markdown

# StradaAutopartes
> Aplicación web para gestión de autopartes construida con **Laravel 10**, **Jetstream**, **Livewire**, **Tailwind CSS** y **MariaDB**.
>
> **IP**: `192.168.10.113`
> **URL**: `http://192.168.10.113`
> **VM**: Cisco1 VMID 113
> **Estado**: ✅ Running
---
## 1. Resumen Ejecutivo
StradaAutopartes es una aplicación interna para la gestión de inventario, pedidos, caja y movimientos de un negocio de autopartes. Está alojada en una VM dedicada en el nodo Cisco1 de Proxmox.
| Aspecto | Detalle |
|---|---|
| **Framework** | Laravel 10 |
| **Frontend** | Livewire + Alpine.js + Tailwind CSS |
| **Auth/Teams** | Laravel Jetstream + Fortify |
| **Roles/Permisos** | Spatie Laravel Permission |
| **Base de datos** | MariaDB 10.11 |
| **Web server** | nginx 1.24.0 |
| **PHP** | 8.2 FPM |
| **Node.js** | 20.x |
| **Composer** | 2.10 |
---
## 2. Infraestructura
### 2.1 VM en Proxmox (Cisco1)
| Parámetro | Valor |
|---|---|
| **VMID** | 113 |
| **Nombre** | StradaAutopartes |
| **Nodo** | Cisco1 (192.168.10.185) |
| **CPU** | 4 cores |
| **RAM** | 8 GB |
| **Disco** | 78.5 GB (`local-lvm`) |
| **OS** | Ubuntu 24.04 LTS |
| **IP estática** | 192.168.10.113/24 |
| **Gateway** | 192.168.10.254 |
| **DNS** | 8.8.8.8, 8.8.4.4 |
### 2.2 Acceso
| Método | Comando / URL |
|---|---|
| SSH root | `ssh root@192.168.10.113` |
| Password root | `Aasi940812` |
| Web | `http://192.168.10.113` |
> **Recomendación de seguridad**: cambiar el password de root en la primera oportunidad.
---
## 3. Software Instalado
```bash
# Stack web
nginx
mariadb-server / mariadb-client
# PHP 8.2 + extensiones
php8.2-fpm php8.2-cli php8.2-common php8.2-mysql php8.2-zip php8.2-gd
php8.2-mbstring php8.2-curl php8.2-xml php8.2-bcmath php8.2-intl
php8.2-opcache php8.2-readline php8.2-sqlite3 php8.2-redis
# Herramientas
composer 2.10
nodejs 20.x + npm
```
---
## 4. Estructura de Directorios
```
/var/www/stradaautopartes/ # Código fuente de la aplicación
├── app/
├── bootstrap/
├── config/
├── database/
├── public/ # Document root de nginx
├── resources/
├── routes/
├── storage/
└── .env # Variables de entorno
```
---
## 5. Base de Datos
| Parámetro | Valor |
|---|---|
| **Host** | 127.0.0.1 |
| **Database** | `strada` |
| **Usuario** | `strada` |
| **Password** | `StradaAAS2024!` |
| **Root password** | `StradaAAS2024!` |
### 5.1 Comandos útiles
```bash
# Acceso a MariaDB
mysql -u strada -p'StradaAAS2024!' strada
# Backup
mysqldump -u strada -p'StradaAAS2024!' strada > /tmp/strada_backup.sql
# Restore
mysql -u strada -p'StradaAAS2024!' strada < /tmp/strada_backup.sql
```
---
## 6. Configuración de nginx
`/etc/nginx/sites-available/stradaautopartes`:
```nginx
server {
listen 80;
server_name _;
root /var/www/stradaautopartes/public;
index index.php index.html;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
```
---
## 7. Variables de Entorno (.env)
Resumen de valores clave:
```ini
APP_NAME=StradaAutopartes
APP_ENV=local
APP_DEBUG=true
APP_URL=http://192.168.10.113
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=strada
DB_USERNAME=strada
DB_PASSWORD=StradaAAS2024!
```
> **Nota**: el archivo `.env` ya está creado en `/var/www/stradaautopartes/.env`.
---
## 8. Comandos de Mantenimiento
```bash
# Acceder a la VM
ssh root@192.168.10.113
cd /var/www/stradaautopartes
# Reiniciar servicios
systemctl restart nginx
systemctl restart php8.2-fpm
systemctl restart mariadb
# Permisos
chown -R www-data:www-data storage bootstrap/cache public
chmod -R 775 storage bootstrap/cache
# Instalar dependencias PHP
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-interaction --optimize-autoloader
# Actualizar dependencias
COMPOSER_ALLOW_SUPERUSER=1 composer update --no-interaction --optimize-autoloader
# Instalar/build frontend
npm install
npm run build
# Migraciones
php artisan migrate --force
# Limpiar cache
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
```
---
## 9. Actualización desde Git
```bash
ssh root@192.168.10.113
cd /var/www/stradaautopartes
git pull origin main
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-interaction --optimize-autoloader
npm install && npm run build
php artisan migrate --force
php artisan optimize
chown -R www-data:www-data storage bootstrap/cache public
```
---
## 10. Seguridad y Pendientes
- [ ] Cambiar password de root.
- [ ] Configurar HTTPS con certificado SSL.
- [ ] Crear primer usuario administrador desde `/register`.
- [ ] Configurar dominio propio si se requiere acceso público.
- [ ] Revisar y aplicar `npm audit fix` para las vulnerabilidades reportadas.
- [ ] Evaluar unir la VM a Tailscale para acceso remoto seguro.
---
*Documentación StradaAutopartes - Consultoria Alcaraz Salazar*
*Actualizado: 18 de Junio de 2026*