Proyecto

General

Perfil

Acciones

Wiki

Comandos Completos - Instalación Redmine AWS

Todos los Comandos Ejecutados en Orden

IMPORTANTE: Ejecutar estos comandos EN ORDEN, uno por uno.


FASE 1: Preparación del Sistema

Conectarse a la Instancia

# Via AWS Console: EC2 → Connect → EC2 Instance Connect
# O via SSH con PuTTY/terminal

Actualizar Sistema

sudo apt update
sudo apt upgrade -y

Instalar Dependencias

sudo apt install -y build-essential ruby-full ruby-dev libmysqlclient-dev \
mysql-server imagemagick libmagickwand-dev git curl libyaml-dev

Verificar Instalaciones

ruby -v
mysql --version
git --version

FASE 2: Configurar SWAP

# Crear archivo SWAP de 2GB
sudo fallocate -l 2G /swapfile

# Permisos
sudo chmod 600 /swapfile

# Formatear como swap
sudo mkswap /swapfile

# Activar
sudo swapon /swapfile

# Verificar
free -h

# Hacer permanente
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

FASE 3: Configurar MySQL

# Acceder a MySQL
sudo mysql

# Dentro de MySQL, ejecutar:
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'redmine_password_2024';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT;

FASE 4: Instalar Bundler

sudo gem install bundler
bundle --version

FASE 5: Descargar Redmine

cd /tmp
sudo git clone https://github.com/redmine/redmine.git /opt/redmine
cd /opt/redmine
ls -la

FASE 6: Configurar Base de Datos

# Crear archivo de configuración
nano config/database.yml

Contenido del archivo:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "redmine_password_2024"
  encoding: utf8mb4

Guardar: Ctrl+O, Enter, Ctrl+X


FASE 7: Configurar Permisos

sudo chown -R ubuntu:ubuntu /opt/redmine
sudo chmod -R 755 /opt/redmine
sudo mkdir -p /opt/redmine/tmp/pdf /opt/redmine/public/plugin_assets
sudo chmod -R 755 /opt/redmine/files /opt/redmine/log /opt/redmine/tmp /opt/redmine/public/plugin_assets

FASE 8: Instalar Gemas

cd /opt/redmine

# Configurar bundler
bundle config set --local path 'vendor/bundle'
bundle config set --local without 'development test'

# Instalar (tardará 10-15 minutos)
bundle install

FASE 9: Generar Secret Token

# Generar clave
openssl rand -hex 64

# Crear archivo (copiar la clave generada)
nano config/secrets.yml

Contenido (reemplazar con tu clave):

production:
  secret_key_base: TU_CLAVE_GENERADA_AQUI

Guardar: Ctrl+O, Enter, Ctrl+X


FASE 10: Crear Tablas de BD

cd /opt/redmine
RAILS_ENV=production bundle exec rake db:migrate

FASE 11: Cargar Datos Iniciales

RAILS_ENV=production REDMINE_LANG=es bundle exec rake redmine:load_default_data

Cuando pregunte idioma: escribir es y Enter


FASE 12: Configurar Servicio Systemd

# Crear archivo de servicio
sudo nano /etc/systemd/system/redmine.service

Contenido:

[Unit]
Description=Redmine Project Management
After=network.target mysql.service

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/opt/redmine
Environment="RAILS_ENV=production"
Environment="RAILS_SERVE_STATIC_FILES=true"
ExecStart=/usr/local/bin/bundle exec rails server -e production -b 0.0.0.0 -p 3000
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Guardar: Ctrl+O, Enter, Ctrl+X

# Recargar systemd
sudo systemctl daemon-reload

# Habilitar inicio automático
sudo systemctl enable redmine

# Iniciar servicio
sudo systemctl start redmine

# Verificar
sudo systemctl status redmine

FASE 13: Instalar Nginx

sudo apt update
sudo apt install -y nginx

# Verificar
sudo systemctl status nginx

FASE 14: Configurar Nginx

# Crear configuración
sudo nano /etc/nginx/sites-available/redmine

Contenido (reemplazar con tu dominio):

server {
    listen 80;
    server_name dvera-redmine.duckdns.org;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Guardar: Ctrl+O, Enter, Ctrl+X

# Habilitar configuración
sudo ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/

# Verificar sintaxis
sudo nginx -t

# Reiniciar
sudo systemctl restart nginx

FASE 15: Instalar Certbot

sudo apt install -y certbot python3-certbot-nginx

FASE 16: Obtener Certificado SSL

# Reemplazar con tu dominio
sudo certbot --nginx -d dvera-redmine.duckdns.org

Responder:

  1. Email:
  2. Terms: Y
  3. Share email: N
  4. Redirect: 2 (Yes, redirect)

FASE 17: Verificar Renovación

sudo certbot renew --dry-run

✅ ¡COMPLETADO!

Ahora accede a:

https://dvera-redmine.duckdns.org

Comandos de Mantenimiento

Ver Logs

sudo journalctl -u redmine -f
sudo journalctl -u nginx -f
tail -f /var/log/nginx/error.log

Reiniciar Servicios

sudo systemctl restart redmine
sudo systemctl restart nginx
sudo systemctl restart mysql

Backup Base de Datos

mysqldump -u redmine -p redmine > backup_$(date +%Y%m%d).sql

Verificar Recursos

free -h
df -h
top

Verificar Certificado

sudo certbot certificates

Renovar Certificado

sudo certbot renew
sudo systemctl restart nginx

Fin de los Comandos

Actualizado por Redmine Admin hace 2 meses · 1 revisiones