Cambio de nombre estándar w3c |
||
---|---|---|
api | ||
config | ||
docker | ||
gitlib | ||
installer | ||
packages | ||
src | ||
.env | ||
Dockerfile | ||
README-en.md | ||
README.md | ||
composer.json | ||
nelmio_api_doc.yaml |
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
-
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. -
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