Todo lo necesario para instalar AutomatizaNegocios en tu servidor VPS o entorno local.
| Requisito | Mínimo | Recomendado |
|---|---|---|
| Sistema Operativo | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS |
| CPU | 1 vCPU | 2+ vCPU |
| RAM | 1 GB | 2+ GB |
| Disco | 20 GB SSD | 40+ GB SSD |
| PHP | 8.1 | 8.2+ |
| MySQL | 8.0 | 8.0+ |
| Node.js | 18.x | 18.x LTS |
| Nginx | 1.18 | Última versión |
# Actualizar sistema
sudo apt update && sudo apt upgrade -y
# Instalar PHP 8.2 y extensiones
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-mbstring \
php8.2-xml php8.2-curl php8.2-zip php8.2-gd php8.2-bcmath \
php8.2-intl php8.2-readline -y
# Instalar MySQL
sudo apt install mysql-server -y
# Instalar Nginx
sudo apt install nginx -y
# Instalar Node.js 18
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs -y
# Instalar Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
# Instalar Supervisor (para workers)
sudo apt install supervisor -y
# Entrar a MySQL
sudo mysql -u root
# Crear base de datos y usuario
CREATE DATABASE app_wsp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'tu_password_seguro';
GRANT ALL PRIVILEGES ON *.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
GRANT ALL ON *.* porque el sistema crea bases de datos dinámicas para cada tenant.# Crear directorio
sudo mkdir -p /var/www/automatizanegocios
cd /var/www/automatizanegocios
# Subir archivos (usando scp desde tu PC)
scp -r ./proyecto/* usuario@tu-ip:/var/www/automatizanegocios/
# Copiar y configurar .env
cp .env.example .env
nano .env
APP_NAME="AutomatizaNegocios"
APP_ENV=production
APP_KEY=base64:...
APP_DEBUG=false
APP_URL=https://tu-dominio.com
# Idioma predeterminado (es=Español, en=English, fr=Français, pt=Português)
APP_LOCALE=es
APP_FALLBACK_LOCALE=es
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=app_wsp
DB_USERNAME=app_user
DB_PASSWORD=tu_password_seguro
QUEUE_CONNECTION=database
# Instalar dependencias PHP
composer install --no-dev --optimize-autoloader
# Generar key
php artisan key:generate
# Ejecutar migraciones y seeders
php artisan migrate --seed
# Instalar OAuth2
php artisan passport:install
# Permisos
sudo chown -R www-data:www-data /var/www/automatizanegocios
sudo chmod -R 775 storage bootstrap/cache
server {
listen 80;
server_name tu-dominio.com;
root /var/www/automatizanegocios/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht { deny all; }
}
# Activar sitio y reiniciar
sudo ln -s /etc/nginx/sites-available/automatizanegocios /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
# Instalar SSL con Certbot
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d tu-dominio.com
# /etc/supervisor/conf.d/automatizanegocios-worker.conf
[program:an-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/automatizanegocios/artisan queue:work --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/automatizanegocios/storage/logs/worker.log
stopwaitsecs=3600
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start an-worker:*
# Dar permisos al binario
chmod +x /var/www/automatizanegocios/node-engine
# Ejecutar engine
cd /var/www/automatizanegocios
./node-engine &
https://tu-dominio.com — deberías ver la pantalla de loginadmin@admin.com / passwordsudo supervisorctl statusstorage/logs/laravel.logchmod -R 775 storage bootstrap/cache.env esté configurado correctamenteAPP_LOCALE=es en tu .envphp artisan config:cleares, en, fr, pt.env (variable NODE_PORT)sudo ufw allow 3000 (o el puerto configurado)