# 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 local**: `http://192.168.10.113` > **URL pública**: `https://strada.consultoria-as.com` > **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. Cloudflare Tunnel La aplicación está expuesta a internet a través de un **Cloudflare Tunnel** (`cloudflared`). | Parámetro | Valor | |---|---| | **Tunnel name** | `strada` | | **Tunnel ID** | `10c867f3-4492-497e-94e8-374ba1e02844` | | **Subdominio** | `strada.consultoria-as.com` | | **URL pública** | `https://strada.consultoria-as.com` | | **Origen local** | `http://localhost:80` | | **Servicio** | `cloudflared` | ### Comandos útiles ```bash # Estado del servicio systemctl status cloudflared # Ver logs journalctl -u cloudflared -f # Listar tuneles cloudflared tunnel list # Recargar configuracion systemctl restart cloudflared ``` ### Configuración `/root/.cloudflared/config.yml`: ```yaml tunnel: 10c867f3-4492-497e-94e8-374ba1e02844 credentials-file: /root/.cloudflared/10c867f3-4492-497e-94e8-374ba1e02844.json ingress: - hostname: strada.consultoria-as.com service: http://localhost:80 - service: http_status:404 ``` --- ## 11. Seguridad y Pendientes - [ ] Cambiar password de root. - [x] Configurar HTTPS con certificado SSL (gestionado por Cloudflare). - [ ] Crear primer usuario administrador desde `/register`. - [x] Configurar dominio propio para 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*