Instalando Gogs no Linux
Tabla de contenido:
- Antes de que empieces
- Instalando Gogs
- Instalar Git
- Crear un usuario de Git
- Descargar Gogs binary
- Crear un archivo de unidad systemd
- Instale Gogs usando el instalador web
- Configurar Nginx como proxy de terminación SSL
- Configurar notificaciones por correo electrónico
- Actualizando Gogs
- Conclusión
Gogs es un servidor git de código abierto autohospedado escrito en Go. Incluye un editor de archivos de repositorio, seguimiento de problemas del proyecto y una wiki incorporada.
Gogs es una aplicación liviana y se puede instalar en sistemas de baja potencia. Si está buscando una alternativa a Gitlab con una huella de memoria mucho menor y no necesita todas las campanas y silbatos que ofrece Gitlab, entonces definitivamente debería probar Gogs.
Este tutorial cubre los pasos para instalar y configurar Gogs en Ubuntu 18.04. Las mismas instrucciones se aplican para Ubuntu 16.04 y cualquier otra distribución basada en Ubuntu.
Antes de que empieces
Gogs puede usar la base de datos SQLite, PostgreSQL o MySQL / MariaDB para almacenar todos sus datos.
En este tutorial, utilizaremos SQLite como la base de datos de elección. Si SQLite no está instalado en su sistema, puede instalarlo escribiendo:
sudo apt install sqlite3
Para una capa adicional de seguridad, se recomienda configurar un firewall básico. Puede seguir los pasos en nuestra guía Cómo configurar un firewall con UFW en Ubuntu 18.04.
Instalando Gogs
Instalaremos Gogs desde binario. La instalación es un proceso bastante sencillo.
Instalar Git
El primer paso es instalar Git en su servidor. Para hacerlo, actualice el índice del paquete local e instale el paquete git ejecutando los siguientes comandos como sudo user:
sudo apt update
sudo apt install git
Verifique la instalación mostrando la versión de Git:
git --version
Crear un usuario de Git
Cree un nuevo usuario del sistema para ejecutar el servicio Gogs escribiendo:
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
El comando creará el usuario y establecerá el directorio de inicio en
/home/git
. La salida se verá como a continuación:
Adding system user `git' (UID 111)… Adding new group `git' (GID 116)… Adding new user `git' (UID 111) with group `git'… Creating home directory `/home/git'…
Descargar Gogs binary
Visite la página de descargas de Gogs y descargue el último binario para su arquitectura. Al momento de escribir, la última versión es 0.11.86, si hay una nueva versión disponible, cambie la variable
VERSION
en el comando a continuación.
Descargue el archivo Gogs en el directorio
/tmp
usando el siguiente comando wget:
VERSION=0.11.86
wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp
Una vez que se complete la descarga, extraiga el archivo Gogs tar.gz y muévalo al directorio
/home/git
:
sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git
Ejecute el siguiente comando para cambiar la propiedad del directorio de instalación de Gogs al usuario y al grupo git:
sudo chown -R git: /home/git/gogs
Crear un archivo de unidad systemd
Gogs viene con un archivo de unidad Systemd que ya está configurado para que coincida con nuestra configuración.
Copie el archivo al directorio
/etc/systemd/system/
escribiendo:
sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
Una vez hecho esto, inicie y habilite el servicio Gogs:
sudo systemctl start gogs
sudo systemctl enable gogs
Verifique que el servicio se inicie correctamente:
* gogs.service - Gogs Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago Main PID: 14376 (gogs) Tasks: 8 (limit: 2319) CGroup: /system.slice/gogs.service `-14376 /home/git/gogs/gogs web
Instale Gogs usando el instalador web
Ahora que Gogs está descargado y ejecutándose, es hora de finalizar la instalación a través de la interfaz web.
Abra su navegador, escriba
http://YOUR_DOMAIN_IR_IP:3000
y aparecerá una pantalla similar a la siguiente:


El primer usuario registrado se agrega automáticamente al grupo Admin.
Eso es. Gogs se ha instalado en su máquina Ubuntu.
Configurar Nginx como proxy de terminación SSL
Este paso es opcional pero es muy recomendable. Para usar Nginx como proxy inverso, debe tener un dominio o subdominio que apunte a la IP pública de su servidor. En este tutorial, usaremos
gogs.example.com
.
Primero, instale Nginx y genere un certificado SSL Let's Encrypt gratis siguiendo las siguientes guías:
Una vez hecho esto, abra su editor de texto y edite el archivo de bloqueo del servidor de dominio:
sudo nano /etc/nginx/sites-enabled/gogs.example.com
/etc/nginx/sites-enabled/gogs.example.com
server { listen 80; server_name gogs.example.com; include snippets/letsencrypt.conf; return 301 https://gogs.example.com$request_uri; } server { listen 443 ssl http2; server_name gogs.example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf; # log files access_log /var/log/nginx/gogs.example.com.access.log; error_log /var/log/nginx/gogs.example.com.error.log; # Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } }
No olvide reemplazar gogs.example.com con su dominio Gogs y establecer la ruta correcta a los archivos de certificado SSL. Todas las solicitudes HTTP serán redirigidas a Reinicie el servicio Nginx para que los cambios surtan efecto:
sudo systemctl restart nginx
A continuación, debemos cambiar el dominio de Gogs y la URL raíz. Para hacerlo, abra el archivo de configuración y edite las siguientes líneas:
sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
DOMAIN = gogs.example.com ROOT_URL =
Reinicie el servicio Gogs escribiendo:
sudo systemctl restart gogs
En este punto, Gogs está configurado y puede acceder a él en:
https://gogs.example.com
Configurar notificaciones por correo electrónico
Para que Gogs pueda enviar correos electrónicos de notificación, puede instalar Postfix o utilizar algún servicio de correo transaccional como SendGrid, MailChimp, MailGun o SES.
Para habilitar las notificaciones por correo electrónico, abra el archivo de configuración y edite las siguientes líneas:
sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD
Asegúrese de poner la información correcta del servidor SMTP.
Reinicie el servicio Gogs para que los cambios surtan efecto:
sudo systemctl restart gogs
Gogs también le permite conectarse a Slack mediante la creación de webhook web y enviar notificaciones a sus canales de Slack.
Actualizando Gogs
Para actualizar Gogs, se requieren varios pasos manuales.
-
Primero pare el servicio de Gogs:
sudo systemctl stop gogsCambie el nombre del directorio de instalación de Gogs.
sudo mv /home/git/gogs{, _old}Descargue la última versión de Gogs y
/home/gitdirectorio/home/git:VERSION=wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmpsudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/gitAsegúrate de cambiar la
VERSIONcon la versión de lanzamiento real de Gogs.Copie directorios
customdataylogdirectorio extraído utilizando el siguiente comando rsync:sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/Finalmente, inicie el servicio Gogs:
sudo systemctl restart gogs
Eso es.
Conclusión
Este tutorial lo guió a través de la instalación y configuración de Gogs en Ubuntu 18.04. Ahora puede crear su primer proyecto y comenzar a usar su nuevo servidor Gogs.
ubuntu gogsCómo instalar y configurar un servidor nfs en ubuntu 18.04
Network File System (NFS) es un protocolo de sistema de archivos distribuido que le permite compartir directorios remotos a través de una red. En este tutorial, veremos cómo configurar un servidor NFSv4 en Ubuntu 18.04.
Cómo instalar y configurar redis en ubuntu 18.04
Redis es un almacén de estructura de datos en memoria de código abierto. Se puede usar como intermediario de base de datos, caché y mensajes y admite varias estructuras de datos como cadenas, hashes, listas, conjuntos, etc. Este tutorial describe cómo instalar y configurar Redis en un servidor Ubuntu 18.04.
Cómo instalar y configurar nagios en ubuntu 18.04
Nagios es uno de los sistemas de monitoreo de código abierto más populares. Nagios mantiene un inventario de toda su infraestructura de TI y garantiza que sus redes, servidores, aplicaciones, servicios y procesos estén en funcionamiento.







