Cómo instalar GitBucket con Nginx en Ubuntu 18.04 LTS

Interfaz GitBucket

GitBucket es una plataforma Git gratuita y de c√≥digo abierto impulsada por Scala con compatibilidad con la API de Github. Es simple, liviano y alternativo a Github o BitBucket. Viene con un conjunto de caracter√≠sticas de alcance que incluyen soporte para GitLFS, problemas, solicitud de extracci√≥n, notificaciones, sistema de complemento, repositorios p√ļblicos y privados de Git. Se puede integrar f√°cilmente con LDAP para la gesti√≥n de cuentas y grupos.

En este tutorial, aprenderemos cómo instalar y configurar GitBucket en el servidor Ubuntu 18.04.

Requisitos

  • Un servidor nuevo con Ubuntu 18.04.
  • Una contrase√Īa de root est√° configurada en su instancia.

Empezando

Antes de comenzar, actualice su sistema con la √ļltima versi√≥n estable. Puedes hacerlo con el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez actualizado, reinicie su servidor para aplicar todos los cambios de configuración.

Instalar Java

GitBucket requiere que Java 8 o posterior esté instalado en su servidor. Por lo tanto, deberá instalar Java en su servidor.

Para instalar Java ejecute el siguiente comando:

apt-get install default-jdk -y

Una vez que Java está instalado, puede verificar la versión de Java usando el siguiente comando:

java -version

Debería ver el siguiente resultado:

openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar GitBucket

Antes de instalar GitBucket, deber√° crear un usuario sin privilegios para ejecutar GitBucket.

Ejecute el siguiente comando para crear un usuario del sistema llamado gitbucket.

groupadd -g 555 gitbucket
useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket

A continuación, descargue el GitBucket del repositorio de Git con el siguiente comando:

wget https://github.com/gitbucket/gitbucket/releases/download/4.31.2/gitbucket.war

Una vez que se complete la descarga, cree un directorio para GitBucket dentro de /opt

mkdir /opt/gitbucket

A continuación, mueva el archivo descargado al directorio de gitbucket:

mv gitbucket.war /opt/gitbucket

A continuación, otorgue el permiso adecuado al directorio de gitbucket con el siguiente comando:

chown -R gitbucket:gitbucket /opt/gitbucket

Una vez que haya terminado, puede continuar con el siguiente paso.

Crear archivo de servicio Systemd para GitBucket

A continuación, deberá crear un archivo de servicio de Systemd para que GitBucket administre el servicio de GitBucket. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/gitbucket.service

Agregue las siguientes líneas:

# GitBucket Service
[Unit]
Description=Manage Java service

[Service]
WorkingDirectory=/opt/gitbucket
ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war
User=gitbucket
Group=gitbucket
Type=simple
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo. Luego, recarga Systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie el servicio gitbucket y habilítelo para que se inicie en el momento del arranque con el siguiente comando: Anuncio

systemctl enable gitbucket
systemctl start gitbucket

Ahora puede verificar el estado de gitbucket con el siguiente comando:

systemctl status gitbucket

Debería ver el siguiente resultado:

? gitbucket.service - Manage Java service
   Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-08-09 09:43:42 UTC; 5s ago
 Main PID: 17835 (java)
    Tasks: 18 (limit: 1113)
   CGroup: /system.slice/gitbucket.service
           ??17835 /usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war

Aug 09 09:43:42 ubuntu1804 systemd[1]: Started Manage Java service.
Aug 09 09:43:45 ubuntu1804 java[17835]: 2019-07-09 09:43:45.102:INFO::main: Logging initialized @2700ms to org.eclipse.jetty.util.log.StdErrLog
Aug 09 09:43:46 ubuntu1804 java[17835]: 2019-07-09 09:43:46.134:INFO:oejs.Server:main: jetty-9.4.z-SNAPSHOT; built: 2018-11-14T21:20:31.478Z; g
lines 1-11/11 (END)

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar la conexión de la base de datos para GitBucket

GitBucket viene con una base de datos H2 integrada. Para configurar la conexión de la base de datos, abra el archivo base de datos.conf con su editor de texto favorito:

nano /opt/gitbucket/database.conf

Agregue las siguientes líneas:

db {
  url = "jdbc:h2:${DatabaseHome};MVCC=true"
  user = "sa"
  password = "sa"
}

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Nginx como proxy inverso

De forma predeterminada, GitBucket se ejecuta en el puerto 8080. Por lo tanto, deber√° configurar Nginx como un proxy inverso para mejorar el rendimiento y habilitar otras funciones como HTTP/2 y cifrado TLS.

Para hacerlo, primero instale Nginx con el siguiente comando:

apt-get install nginx -y

A continuación, cree un proxy inverso para GitBucket creando el siguiente archivo:

nano /etc/nginx/sites-available/gitbucket.conf

Agregue las siguientes líneas:

upstream gitbucket {
  server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     your-domain.com;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://gitbucket/;
  }
}

Guarde y cierre el archivo. Luego, habilite el host virtual Nginx usando el siguiente comando:

ln -s /etc/nginx/sites-available/gitbucket.conf /etc/nginx/sites-enabled/

A continuación, compruebe si hay errores de sintaxis en Nginx y reinicie el servicio Nginx con el siguiente comando:

nginx -t

Debería ver el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl restart nginx

Una vez que haya terminado, puede continuar con el siguiente paso.

Acceder a la interfaz web de GitBucket

GitBucket ahora est√° instalado y configurado. Abra su navegador web y escriba la URL http://su-dominio.com. Ser√° redirigido a la siguiente p√°gina:

Interfaz GitBucket

Ahora, haga clic en el Iniciar sesión botón. Será redirigido a la página de inicio de sesión como se muestra a continuación:

Iniciar sesión en GitBucket

Ahora, proporcione el nombre de usuario y la contrase√Īa predeterminados como root / root y haga clic en el Iniciar sesi√≥n bot√≥n. Deber√≠a ver el tablero de GitBucket en la siguiente p√°gina:

Lista de repositorios de GitBucket

A continuaci√≥n, vaya a la Configuraciones de la cuenta para cambiar la contrase√Īa ra√≠z predeterminada como se muestra en la p√°gina siguiente:

Configuración de la cuenta de GitBucket

¬°Felicidades! ha instalado y configurado correctamente GitBucket en el servidor Ubuntu 18.04 LTS. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

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