- Ubuntu 18.04+ (Recomendado: Ubuntu 22.04 LTS)
- Debian 10+
- CentOS 7+
- RHEL 7+
- Fedora 30+
- Arch Linux
- Python 3.8+ (Recomendado: Python 3.11)
- Node.js 16+ (Recomendado: Node.js 18 LTS)
- PostgreSQL 12+ (Opcional: SQLite para desarrollo)
- Git (Para clonar repositorio)
```bash sudo apt update sudo apt install python3 python3-pip python3-venv nodejs npm postgresql postgresql-contrib git ```
```bash sudo dnf install python3 python3-pip nodejs npm postgresql postgresql-server git ```
```bash sudo pacman -S python python-pip nodejs npm postgresql git ```
```bash
git clone cd proyecto-combustible-cantv
cp -r /ruta/al/proyecto /destino/proyecto-combustible-cantv cd /destino/proyecto-combustible-cantv ```
```bash chmod +x scripts/*.sh ```
```bash ./scripts/instalar_linux.sh ```
```bash ./scripts/ejecutar_linux.sh ```
```bash
sudo postgresql-setup --initdb # CentOS/RHEL sudo systemctl start postgresql sudo systemctl enable postgresql
sudo -u postgres psql ```
```sql CREATE DATABASE db_combustible_cantv; CREATE USER cantv_user WITH PASSWORD 'cantv_password_2024'; GRANT ALL PRIVILEGES ON DATABASE db_combustible_cantv TO cantv_user; ALTER USER cantv_user CREATEDB; \q ```
```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'db_combustible_cantv', 'USER': 'cantv_user', 'PASSWORD': 'cantv_password_2024', 'HOST': 'localhost', 'PORT': '5432', } } ```
No requiere configuración adicional. El archivo se crea automáticamente.
```bash ./scripts/instalar_linux.sh # Instalar todas las dependencias ./scripts/ejecutar_linux.sh # Iniciar el sistema completo ./scripts/detener_linux.sh # Detener todos los servicios ./scripts/reiniciar_linux.sh # Reiniciar el sistema ./scripts/actualizar_linux.sh # Actualizar dependencias ./scripts/backup_linux.sh # Crear backup de BD ```
```bash
source venv/bin/activate
python manage.py migrate python manage.py createsuperuser python manage.py collectstatic python manage.py runserver 0.0.0.0:8000
npm start npm run build ```
Una vez iniciado el sistema:
- Frontend React: http://localhost:3000
- Backend Django: http://localhost:8000
- Panel Admin: http://localhost:8000/admin
- API REST: http://localhost:8000/api/
```bash
sudo lsof -i :8000 sudo lsof -i :3000
sudo kill -9
./scripts/detener_linux.sh ```
```bash
sudo systemctl status postgresql
sudo systemctl start postgresql
sudo -u postgres psql -c "SELECT version();" ```
```bash
source venv/bin/activate pip install -r requirements.txt
cd frontend/ npm install ```
```bash
chmod +x scripts/*.sh
sudo mkdir -p /var/log/django sudo chown $USER:$USER /var/log/django ```
```bash
sudo ufw allow 8000 sudo ufw allow 3000 sudo ufw allow 5432 # PostgreSQL (solo si es necesario) ```
```bash
sudo apt install nginx
sudo nano /etc/nginx/sites-available/cantv-combustible ```
```bash
tail -f debug.log
journalctl -f -u postgresql
htop ps aux | grep python ps aux | grep node ```
```bash
sudo systemctl status postgresql
ps aux | grep "manage.py runserver" ps aux | grep "npm start" ```
```bash
git pull origin main
./scripts/actualizar_linux.sh
source venv/bin/activate python manage.py migrate ```
```bash
./scripts/backup_linux.sh
ls -la backups/ ```
```bash
cat /etc/os-release
python3 --version
node --version
df -h
free -h ```
Los logs se guardan en:
- Django: `debug.log` (en la raíz del proyecto)
- Sistema: `/var/log/django/combustible.log`
- PostgreSQL: `/var/log/postgresql/`
- ✅ Dependencias del sistema instaladas
- ✅ Proyecto copiado/clonado
- ✅ Permisos de ejecución dados a scripts
- ✅ Entorno virtual creado
- ✅ Dependencias Python instaladas
- ✅ Dependencias React instaladas (si aplica)
- ✅ Base de datos configurada
- ✅ Migraciones aplicadas
- ✅ Superusuario creado
- ✅ Sistema iniciado correctamente
- ✅ URLs accesibles desde navegador
¡El sistema está listo para usar en Linux! 🎉 ```
Finalmente, crea un archivo para verificar la compatibilidad: