README.EN.md
Traducción a inglés del Readme. Actualizar en caso de existir modificaciones en el Readme en Español.setsshkey
parent
fdb530eab3
commit
866a92b3d9
|
@ -0,0 +1,127 @@
|
||||||
|
# OpenGnsys - Git
|
||||||
|
|
||||||
|
### Installation Guide to Deploy the "oggit" API
|
||||||
|
|
||||||
|
This guide outlines the steps necessary to download, install, configure, and deploy the "oggit" API on a server, including **Nginx** configuration and integration with **Nelmio API Doc**.
|
||||||
|
|
||||||
|
#### Prerequisites:
|
||||||
|
- **PHP 8.2** or higher.
|
||||||
|
- **Composer** installed.
|
||||||
|
- **Nginx** configured.
|
||||||
|
- **Symfony** 5.x or 6.x.
|
||||||
|
- **Git**.
|
||||||
|
|
||||||
|
### 1. Download the Repository
|
||||||
|
|
||||||
|
Clone the project repository to the server where you want to deploy the API. Make sure the server has access to Git.
|
||||||
|
|
||||||
|
### 2. Install Dependencies
|
||||||
|
|
||||||
|
Once the repository is downloaded, navigate to the project root and run the following command to install all necessary dependencies using **Composer**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
composer install
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Configure Nginx
|
||||||
|
|
||||||
|
Next, configure **Nginx** to serve the Symfony project. Create a configuration file at `/etc/nginx/sites-available/oggit` or edit your existing Nginx configuration file.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo nano /etc/nginx/sites-available/oggit
|
||||||
|
```
|
||||||
|
|
||||||
|
Copy and paste the following configuration into the file:
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name localhost; # Replace 'localhost' with the server's IP address if necessary
|
||||||
|
|
||||||
|
# Document root for the Symfony project
|
||||||
|
root /opt/oggit/public;
|
||||||
|
|
||||||
|
# Block to handle requests to /oggit
|
||||||
|
location /oggit {
|
||||||
|
try_files $uri $uri/ /index.php?$query_string;
|
||||||
|
# Increase the timeout for the install oglive
|
||||||
|
proxy_read_timeout 600;
|
||||||
|
proxy_connect_timeout 600;
|
||||||
|
proxy_send_timeout 600;
|
||||||
|
send_timeout 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Block to handle requests to index.php
|
||||||
|
location ~ ^/index.php(/|$) {
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Make sure this is correct
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Block to return 404 for any PHP requests other than index.php
|
||||||
|
location ~ \.php$ {
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Error and access logs for the Symfony project
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Save the changes and enable the site:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo ln -s /etc/nginx/sites-available/oggit /etc/nginx/sites-enabled/
|
||||||
|
```
|
||||||
|
|
||||||
|
Restart Nginx to apply the changes:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl restart nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Configure Nelmio API Doc
|
||||||
|
|
||||||
|
If you're using **NelmioApiDocBundle** for Swagger documentation, you need to configure **Nelmio** to accept specific routes, such as the `/oggit` routes. To do this, edit the **Nelmio** configuration file:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo nano /opt/oggit/config/packages/nelmio_api_doc.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
Make sure the file has the following configuration to allow API routes:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
nelmio_api_doc:
|
||||||
|
documentation:
|
||||||
|
info:
|
||||||
|
title: Oggit API
|
||||||
|
description: Oggit API Documentation
|
||||||
|
version: 1.0.0
|
||||||
|
areas: # filter documented areas
|
||||||
|
path_patterns:
|
||||||
|
- ^/oggit
|
||||||
|
```
|
||||||
|
|
||||||
|
Save the changes.
|
||||||
|
|
||||||
|
### 5. Verify the Installation
|
||||||
|
|
||||||
|
1. **Check the API**: Access your API at `http://<server-IP>/oggit`. If everything is correctly configured, you should be able to make requests to the defined endpoints.
|
||||||
|
|
||||||
|
2. **Swagger Documentation**: Access the Swagger API documentation at `http://<server-IP>/api/doc` to view the documented endpoints.
|
||||||
|
|
||||||
|
### 6. Logs and Debugging
|
||||||
|
|
||||||
|
Nginx logs can be checked to verify any errors during deployment. The logs are located at the following paths:
|
||||||
|
|
||||||
|
- **Error logs**: `/var/log/nginx/oggit_error.log`
|
||||||
|
- **Access logs**: `/var/log/nginx/oggit_access.log`
|
Loading…
Reference in New Issue