Configura tu propio servidor Git https con Gogs

TUTORIAL INSTALAR GIT POR HTTPS EN SYNOLOGY

En este artículo vamos a instalar y configurar vuestro propio servidor Git en un NAS Synology, y por supuesto con acceso por https.

Prepararamos la instalación de Gogs

Para que todo funcioe correctamente debenmos instalar varios paquetes en nuestro synology. que instalaremos desde el centro de paquetes.

  • Git
  • PhpMyAdmin
  • MariaDB 10, aunque tambien se podría hacer con Maria DB 5.

centro de paquetes synology

 

Crear usuario en Synology

El primer paso que tenemos que utilizar para será crear usuario GIT para instalar el paquete. En este tutorial vamos a crear el usuario GIT.

Instalar Paquete Git

Vamos a comenzar con el primer paquete requerido para instalar en nuestro Nas. Entramos al centro de paquetes y buscamos Git.

Instalar Git Server en synology

Instalar Paquete PhpMyAdmin

Instalar PhpMyAdmin Server en Synology

 

Instalar Paquete Maria DB 10

recordamos que si utilizamos MariaDB10 el puerto será el 3307.

Instalar MariaDb 10 Server en synology

 

Crear una base de datos con PhpmyAdmin.

Para el siguietne paso debemos crear un usuario en la base de datos. Para eso necesitamos la clave del usuario root de la base de datos. Para eso podemos ver el paquete recien instalado de Maria DB10. lo buscamos dentro del centro de paquetes y presionamos abir. También lo poeis encontrar dentro del menu de Synology, Pulsando en la esquita superior derecha. y acontinuación pulsamos en cambiar contraseña y ponemos una nueva.

cambiar contraseña mariaDB 10 en synology

 

Ahora abrimos la aplicacion de Phpmyadmin, podeis hacerlo desde el menu de synology y haciendo cliek en Phpmyadmin. Con la clave de root que hemos modificado, en el caso de que ya lo tuvierais instalado solo poner vuestra contraseña.
y creamos un usuario «gogs_user» y una nueva base de datos tambéin llamada «gogs» para utilizarla en la configuración del paquete.

Dar permisos al usuario de sitema para Git

Lee tenemos que dar permisos al usuario para que puede ejecutar git. (el susuario con el que vamos a instalar el paquete posteriormente).

dar permisos de usuario a git synology

Crear Carpeta Compartida para Git

Sigue en DSM. Vaya al Panel de Control, y en la sección de Compartir Archivos seleccione «Carpeta Compartida«.

Cree una nueva carpeta llamada «Git«. Puedes llamarlo como quieras (o usar una carpeta existente) pero por el bien de este tutorial asumo que estás usando la carpeta «Git«.

Habilitar SSH en nuestro synology

En el panel de control, vaya a «Terminal & SNMP«. Asegúrese de que la opción «Habilitar servicio SSH» esté marcada. Necesitamos acceso SSH más adelante en esta guía, pero puede desactivarlo después de que todo esté hecho. Esto le permitirá iniciar un Secure SHell (línea de comandos) en el servidor.

Recomendamos poner un puerto que no sea el predeterminado «22». podemos utilizar el 8822.

ssh abrir puerto synology

 

Descargar Paquete Gogs para Synology

Ahora dependiendo del modelo de nuestro Nas Synology deberemos elegir un tipo de paquete u otro dependiendo de la arquitectura del procesador.

Gogs version 0.11.19 / DMS 6.x

  • gogs_arm.spk 15.5 MB funciona en Arm DS211j, en general prodesadoes ARM
  • gogs_x386.spk 16.9 MB funciona en Atom de 32bits utilizado en el DS214 Play, en general procesadores de 32
  • gogs_amd64.spk 17.4 MB funciona en Atom de 64bits como el  RS2414rp+, en general procesadores de 64.

puedes ver toda la documentación en el siguiente enlace: https://github.com/davidmullerz/gogs-spk/releases/tag/1.1

Instalar gogs como paquete externo

Despues de descargar el paquete que necesitamos dependiendo de nuestro Nas.

Abrimos el centro de paquetes y selecioamos el boton de instalación manual. deberemos hacerlo con el usuario git creado anterior mente para synology. loguearnos con eses usuario para instalarlo.

instalacion manual de un paquete en synology

CONFIGURACION DE GOGS

Iniciamos la plaicacion desde el menu de Synology.

iniciar gogs desde menu

Ahora procedemos a configurar gogs con todos los datos que hemos utilizado antes.

  • Usuario de la base de datos: gogs_user
  • Base de datos:gogs
  • contraseña: ******** la que hayas utilizado paa le usuario al crearlo.
  • Ruta de git: /volume1/git/gogs

Después de esto el primer acceso por http en el puerto http://rutademisynology:3000 deberemos crear el usuario administrador para gogs. si son muchas claves y muchos usuaros asi que recomiendo que los vayais apuntando para no olvidarlos.

 

GOGS POR SSH

También podemos configurar a gogs para acceder por ssh, deberemos ponerle el puerto 8822 que hemos utilizado anteriormente. cuando configuremos esto para poder acceder. Para acceder por ssh nuestro usuario debe de tener acceso en Git.

GOGS POR HTTPS

Configurar Los certificados

Nos conetamos por ssh a través de putty.

conectar putty desde synology

Vamos a buscar en nuestra carpeta de certificados dentro de Synology, normalmente se tratará de los certificados Lets Enccrpyt. Accedemos a través de putty a nuestro Synology.

Con el usuario admin que tengamos.

Despues para ejecutar como root utilizamos el siguiente comando, sino no podremos acceder a la carpeta donde se guardan los certificados.

sudo -i
cd /usr/syno/etc/certificate/_archive/

Ahora localizamos el certificado que tenemos actualemente instalado. Encontraremos varias carpetas con

Abrimos la carpeta Compartida donde esta Gogs  (la que hemos creado anteriormente)

cd /volume1/git/gogs

REALIZAR ENLACE SIMBOLICO A LA CARPETA

Deberemos reemplazar los asteriscos por la ruta de nuestro Certificado

 
sudo ln -s /usr/syno/etc/certificate/_archive/*****/privkey.pem key.pem
sudo ln -s /usr/syno/etc/certificate/_archive/*****/privkey.pem key.pem

 

SYNOLOGY
RUTA CERTIFICADOS:
/usr/syno/etc/certificate/_archive/******

Configurar app.ini en gogs Synology

Ahora vamos a abrir el archivo de configuración para editarlo.

RUTA APP.INI GOGS EN SYNOLOGY
/usr/local/gogs/gogs/custom/conf/app.ini

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *