User Tools

Site Tools


proyecto:acceso_al_servidor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
proyecto:acceso_al_servidor [2026/09/25 18:25] – Actualizar guía del servidor a Debian 13 y Postgres 17, con capturas y explicación de cada paso semoraleproyecto:acceso_al_servidor [2026/09/25 18:35] (current) – Aclarar que la conexión externa es solo para aplicaciones web en el Hito 3 semorale
Line 19: Line 19:
   - Esta página (entrar a la máquina y subir archivos).   - Esta página (entrar a la máquina y subir archivos).
   - [[proyecto:configurar_postgres|Configurar Postgres]] (crear su usuario y su esquema).   - [[proyecto:configurar_postgres|Configurar Postgres]] (crear su usuario y su esquema).
-  - [[proyecto:conexion_externa|Conexión externa]] (solo cuando necesiten conectarse desde su notebook o desde la aplicación).+  - [[proyecto:conexion_externa|Conexión externa]]. **Solo para los grupos que hagan una aplicación web, y recién en el [[proyecto:entrega_final|Hito 3]].** Para el Hito 2 y para los proyectos de análisis estadístico no hace falta.
  
 Algunas palabras que aparecen en estas páginas: Algunas palabras que aparecen en estas páginas:
  
 ^ Término ^ Qué es ^ ^ Término ^ Qué es ^
-| **máquina virtual** (VM) | Un computador simulado dentro de un servidor del DCC. Cada grupo tiene uno propio, con Linux, y puede hacer lo que quiera en él. |+| **máquina virtual** (VM) | Un computador simulado dentro de un servidor del DCC. Cada grupo tiene uno propio, con Linux, donde puede instalar y configurar lo que necesite. |
 | **terminal** | La ventana donde se escriben comandos. En Linux y Mac se llama Terminal; en Windows, PowerShell. | | **terminal** | La ventana donde se escriben comandos. En Linux y Mac se llama Terminal; en Windows, PowerShell. |
-| **SSH** | El programa (y protocolo) para entrar a otra máquina y escribir comandos en ella como si estuvieran sentados enfrente. |+| **SSH** | El programa (y protocolo) para entrar a otra máquina y escribir comandos como si se tuviera su teclado enfrente. |
 | **puerto** | Un número que identifica a qué programa va dirigida una conexión. ''cc3201.dcc.uchile.cl'' usa un puerto distinto para cada máquina (''3XX''), y así sabe a cuál mandarlos. | | **puerto** | Un número que identifica a qué programa va dirigida una conexión. ''cc3201.dcc.uchile.cl'' usa un puerto distinto para cada máquina (''3XX''), y así sabe a cuál mandarlos. |
 | **scp** | Copia archivos entre su computador y el servidor, usando la misma conexión de SSH. | | **scp** | Copia archivos entre su computador y el servidor, usando la misma conexión de SSH. |
Line 72: Line 72:
 </code> </code>
  
-En Windows también se puede usar un cliente gráfico como [[https://winscp.net/eng/download.php|WinSCP]], con protocolo SFTP, el host ''cc3201.dcc.uchile.cl'', el puerto ''3XX'', el usuario ''cc3201'' y la misma contraseña de SSH.+=== Con WinSCP (Windows) === 
 + 
 +[[https://winscp.net/eng/download.php|WinSCP]] es un programa gratuito para Windows que muestra las carpetas de su computador y las de la máquina virtual lado a lado, y permite arrastrar archivos de un lado a otro. Solo sirve para transferir archivos; para ejecutar comandos en el servidor sigue haciendo falta ''ssh''. 
 + 
 +Al abrir WinSCP aparece la ventana //Login//. Seleccionen //New Site//, dejen //SFTP// como protocolo (//File protocol//) y llenen el servidor ''cc3201.dcc.uchile.cl'' (1), el puerto de su grupo, ''3XX'' (2), el usuario ''cc3201'' (3) y la contraseña de SSH (4). Después presionen //Login// (5). Con //Save// el sitio queda guardado para la próxima vez, como el "Grupo 7" de la captura. 
 + 
 +{{proyecto:servidor_winscp_login.png?direct&690|Ventana Login de WinSCP con servidor, puerto, usuario y contraseña}} 
 + 
 +La primera vez que se conecten, WinSCP muestra una advertencia porque no conoce la clave del servidor. Es la misma pregunta que hace ''ssh'' la primera vez; presionen //Accept//. 
 + 
 +El panel izquierdo muestra su computador y el derecho la máquina virtual. En el ejemplo se suben cuatro archivos CSV. En el panel izquierdo, abran la carpeta donde están los archivos (1), y revisen que el derecho esté en ''/home/cc3201/'' (2). Seleccionen los archivos con ''Shift'' o ''Ctrl'' (3) y arrástrenlos al panel derecho (4), o presionen //Upload// (5). WinSCP pide confirmar con una ventana en la que basta presionar //OK//. 
 + 
 +{{proyecto:servidor_winscp_antes.png?direct&900|WinSCP antes de subir: su computador a la izquierda y la máquina virtual a la derecha}} 
 + 
 +Al terminar, los archivos aparecen en el panel derecho, es decir, ya están en la máquina virtual. Para bajar archivos del servidor se hace lo mismo al revés, arrastrándolos del panel derecho al izquierdo (o con //Download//). 
 + 
 +{{proyecto:servidor_winscp_despues.png?direct&900|WinSCP después de subir: los archivos ya están en /home/cc3201/}}
  
 ==== Prueba con sudo ===== ==== Prueba con sudo =====
Line 121: Line 137:
  
 (Otra opción sería instalar un cliente ''git'' en el servidor, con ''sudo apt-get install git'', hacer un //commit/push// localmente y un //pull// en el servidor.) (Otra opción sería instalar un cliente ''git'' en el servidor, con ''sudo apt-get install git'', hacer un //commit/push// localmente y un //pull// en el servidor.)
 +
 +==== Para personas curiosas: cómo es la máquina por dentro ====
 +
 +No hace falta saber esto para el proyecto. Estos son los datos de una de las máquinas del curso; las de ustedes deberían ser iguales, y los pueden revisar con los comandos de la última columna.
 +
 +^ Qué ^ Valor ^ Comando para verlo ^
 +| Sistema operativo | Debian GNU/Linux 13 (//trixie//), kernel 6.12, 64 bits | ''cat /etc/os-release'', ''uname -rm'' |
 +| Virtualización | Máquina virtual Xen, dentro de un servidor del DCC | ''systemd-detect-virt'' |
 +| Procesador | 1 núcleo de un Intel Xeon Gold 6148 (2,4 GHz) | ''nproc'', ''lscpu'' |
 +| Memoria RAM | 700 MB, más 1 GB de //swap// (memoria de respaldo en disco, mucho más lenta) | ''free -h'' |
 +| Disco | 10 GB en total: 9 GB para el sistema y sus datos (unos 7 GB libres al partir) y 1 GB de //swap// | ''df -h /'', ''lsblk'' |
 +| Postgres | 17.11 | ''psql --version'' |
 +| Red interna | Una dirección privada ''10.0.220.x''; desde internet se llega solo por ''cc3201.dcc.uchile.cl'' | ''ip -br a'' |
 +| Zona horaria | UTC (3 o 4 horas más que en Chile, según la época del año) | ''timedatectl'' |
 +
 +Algunas consecuencias prácticas:
 +
 +  * Con 700 MB de RAM, las consultas sobre tablas grandes o los ''JOIN'' sin índices pueden ser lentos, y ahí se nota lo que se ve en clases sobre índices y planes de consulta.
 +  * Si sus datos pesan más de un par de GB, no van a caber junto con los índices. Conviene revisar el tamaño antes de subirlos (''du -h archivo.csv'' en su computador).
 +  * Como la máquina está en UTC, ''now()'' en Postgres devuelve la hora UTC. Para ver la hora de Chile: ''SELECT now() AT TIME ZONE 'America/Santiago';''.
 +  * La máquina no trae Python. Si lo necesitan, ''sudo apt-get install python3''.
  
proyecto/acceso_al_servidor.1790360747.txt.gz · Last modified: by semorale