Go to file
Vadim vtroshchinskiy 274f2b956e Store and restore GPT partition UUIDs
GPT disks and individual partitions have UUIDs that can be used by
the Windows boot process. Store them, so they can be restored.
2024-12-12 09:52:25 +01:00
api Add api/README-en.md 2024-11-29 06:15:35 +01:00
config refs #734 Removes innecesaries parameters and changes php platform to 8.2 2024-09-16 17:56:44 +02:00
docker Add mock api for testing dockerfile 2024-09-16 17:44:06 +02:00
gitlib Store and restore GPT partition UUIDs 2024-12-12 09:52:25 +01:00
installer Add installer/README-en.md 2024-11-29 06:40:57 +01:00
packages Move packages to /usr/share 2024-11-28 15:00:07 +01:00
src refs #734 Adds new endpoints sync and backup and status endpoint 2024-09-13 17:20:01 +02:00
.env refs #734 Removes innecesaries parameters and changes php platform to 8.2 2024-09-16 17:56:44 +02:00
Dockerfile Update to 24.04, solves deployment issue 2024-09-18 20:19:23 +02:00
README.md refs #734 Adds README for Api installation 2024-09-13 13:37:46 +02:00
composer.json refs #734 Removes innecesaries parameters and changes php platform to 8.2 2024-09-16 17:56:44 +02:00
nelmio_api_doc.yaml refs #734 just changes name and description in swagger web page 2024-09-18 09:32:15 +02:00

README.md

OpenGnsys - Git

Manual de Instalación para Desplegar la API "oggit"

Este manual describe los pasos necesarios para descargar, instalar, configurar y desplegar la API "oggit" en un servidor, incluyendo la configuración de Nginx y la integración con Nelmio API Doc.

Requisitos Previos:

  • PHP 8.2 o superior.
  • Composer instalado.
  • Nginx configurado.
  • Symfony 5.x o 6.x.
  • Git.

1. Descargar el Repositorio

Clona el repositorio del proyecto en el servidor donde deseas desplegar la API. Asegúrate de que el servidor tenga acceso a Git.

2. Instalar Dependencias

Una vez descargado el repositorio, navega a la raíz del proyecto y ejecuta el siguiente comando para instalar todas las dependencias necesarias usando Composer:

composer install

3. Configurar Nginx

A continuación, debes configurar Nginx para servir el proyecto Symfony. Crea un archivo de configuración en /etc/nginx/sites-available/oggit o edita tu archivo de configuración Nginx existente.

sudo nano /etc/nginx/sites-available/oggit

Copia y pega la siguiente configuración en el archivo:

server {
    listen 80;
    server_name localhost;  # Reemplaza 'localhost' por la IP del servidor si es necesario

    # Raíz del documento para el proyecto Symfony
    root /opt/oggit/public;

    # Bloque para manejar las solicitudes a /oggit
    location /oggit {
        try_files $uri $uri/ /index.php?$query_string;
        # Aumentar el tiempo de espera por el install oglive
        proxy_read_timeout 600;
        proxy_connect_timeout 600;
        proxy_send_timeout 600;
        send_timeout 600;
    }

    # Bloque para manejar las solicitudes a index.php
    location ~ ^/index.php(/|$) {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Asegúrate de que esto sea correcto
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param DOCUMENT_ROOT $document_root;
        internal;
    }

    # Bloque para devolver 404 en cualquier solicitud a archivos PHP que no sean index.php
    location ~ \.php$ {
        return 404;
    }

    # Logs de error y acceso para el proyecto Symfony
    error_log /var/log/nginx/oggit_error.log;
    access_log /var/log/nginx/oggit_access.log;

    location /api/doc {
        try_files $uri /index.php?$query_string;
    }
}

Guarda los cambios y activa el sitio:

sudo ln -s /etc/nginx/sites-available/oggit /etc/nginx/sites-enabled/

Reinicia Nginx para aplicar los cambios:

sudo systemctl restart nginx

4. Configurar Nelmio API Doc

Si usas NelmioApiDocBundle para la documentación Swagger, debes configurar Nelmio para aceptar rutas específicas, como las rutas de /oggit. Para hacerlo, edita el archivo de configuración Nelmio:

sudo nano /opt/oggit/config/packages/nelmio_api_doc.yaml

Asegúrate de que el archivo tenga la siguiente configuración para permitir las rutas de la API:

nelmio_api_doc:
    documentation:
        info:
            title: Oggit API
            description: Documentación de la API Oggit
            version: 1.0.0
    areas: # filtrar las áreas documentadas
        path_patterns:
            - ^/oggit

Guarda los cambios.

5. Verificar la Instalación

  1. Revisar la API: Accede a tu API a través de http://<IP-del-servidor>/oggit. Si todo está correctamente configurado, deberías poder hacer solicitudes a los endpoints definidos.

  2. Documentación Swagger: Accede a la documentación Swagger de la API en http://<IP-del-servidor>/api/doc para ver los endpoints documentados.

6. Logs y Depuración

Los registros de Nginx se pueden consultar para verificar posibles errores durante el despliegue. Los logs se encuentran en las siguientes rutas:

  • Logs de error: /var/log/nginx/oggit_error.log
  • Logs de acceso: /var/log/nginx/oggit_access.log