Cómo Instalar el servicio Gitea Git en Ubuntu 18.04

Gitea es una versión gratuita y de código abierto de Git escrita en Go. Está bifurcado de Gogs y es muy similar a GitHub, Bitbucket y Gitlab. Con Gitea, puede configurar fácilmente un servicio Git de autohosting sin ningún problema. Es simple, fácil de usar, liviano y requiere un hardware mínimo para ejecutarlo. Gitea viene con un amplio conjunto de características que incluyen el tracking de tiempo, la ramificación del repositorio, el seguimiento de incidencias, el bloqueo de archivos, la fusión y mucho más. Gitea se puede instalar en todos los sistemas operativos populares como Windows, macOS, Linux y ARM.

En este tutorial, te explicamos cómo instalar y configurar el servicio Gitea Git en el servidor Ubuntu 18.04.

Requisitos

  • Un servidor corriendo con Ubuntu 18.04.
  • Una dirección IP estática  establecida en el servidor.

Empezamos

Empezamos actualizando el repositorio de paquetes de tu sistema con la última versión.

Puedes hacerlo con el siguiente comando:

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

Una vez que se actualice el repositorio, reinicia tu servidor para aplicar todos los cambios.

Instalación de los Paquetes Necesarios

A continuación, deberás instalar el servidor de base de datos MariaDB, Git y otros paquetes necesarios en tu servidor. Puedes instalarlos todos con el siguiente comando:

# apt-get install mariadb-server git -y

Una vez instalado, inicia el servicio MariaDB y permite que se inicie en el momento del arranque con el siguiente comando:

# systemctl start mariadb
# systemctl status mariadb

Una vez que hayas terminado, puedes continuar con el siguiente paso.

Configura MariaDB

A continuación, deberás crear una base de datos y un usuario para Gitea.

Para hacerlo, inicia sesión en el shell MariaDB con el siguiente comando:

# mysql -u root -p

Ingresa tu contraseña de root cuando te lo solicite, luego cambia GLOBAL innodeb_file_per_table a On:

 MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;

A continuación, crea una base de datos y un usuario para Gitea con el siguiente comando:

# MariaDB [(none)]> CREATE DATABASE giteadb;
# MariaDB [(none)]> CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'gitea';

A continuación, otorga todos los privilegios a Gitea y modifica la base de datos con el siguiente comando:

# MariaDB [(none)]> GRANT ALL ON giteadb.* TO 'gitea'@'localhost' IDENTIFIED BY 'gitea' WITH GRANT OPTION;
# MariaDB [(none)]> ALTER DATABASE giteadb CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;

Finalmente, elimina los privilegios y sal del shell MariaDB con el siguiente comando:

# MariaDB [(none)]> FLUSH PRIVILEGES;
# MariaDB [(none)]> EXIT;

A continuación, abre el archivo de configuración predeterminado MariaDB y modifica algunas configuraciones:

 nano /etc/mysql/mariadb.conf.d/50-server.cnf

Añade las siguientes líneas:

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

Guarda y cierra el archivo, después reinicia el servicio MariaDB para aplicar los cambios de configuración:

systemctl restart mariadb

Instala Gitea

Primero, ve al repositorio de Git Hub y descarga la última versión de Gitea con el siguiente comando:

# wget https://github.com/go-gitea/gitea/releases/download/v1.9.0/gitea-1.9.0-linux-amd64

Una vez descargado, copia el archivo binario descargado en el directorio / usr / local / bin:

 cp gitea-1.9.0-linux-amd64 /usr/local/bin/gitea 

Una vez que hayas terminado, puedes continuar con el siguiente paso.

A continuación, deberás crear un usuario del sistema para Gitea. Puedes hacerlo con el siguiente comando:

# adduser --system --shell /bin/bash --group  --disabled-password --home /home/gitea gitea

A continuación, crea una estructura de directorio para Gitea con el siguiente comando:

# mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
# chown gitea:gitea /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
# chmod 750 /var/lib/gitea/{data,indexers,log}
# chmod 770 /etc/gitea>

Crear el archivo de servicio Systemd para Gitea

A continuación, deberás crear un archivo de servicio systemd para administrar el servicio Gitea. Puedes hacerlo con el siguiente comando:

# nano /etc/systemd/system/gitea.service

Añade las siguientes líneas:

 [Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service

[Service]
RestartSec=2s
Type=simple
User=root
Group=root
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=root HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

Guarda y cierra el archivo. Después, vuelve a cargar el demonio systemd con el siguiente comando:

# systemctl daemon-reload

A continuación, inicie el servicio Gitea y permita que se inicie en el arranque con el siguiente comando:

# systemctl start gitea
# systemctl enable gitea

Ahora puedes verificar el estado del servicio Gitea con el siguiente comando:

# systemctl status gitea

Si todo va bien, deberías ver el siguiente resultado:

● gitea.service - Gitea
   Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-07 05:05:24 UTC; 46s ago
 Main PID: 3859 (gitea)
    Tasks: 9 (limit: 1098)
   CGroup: /system.slice/gitea.service
           └─3859 /usr/local/bin/gitea web -c /etc/gitea/app.ini

Aug 07 05:05:24 hitesh gitea[3859]: 2019/08/07 05:05:24 routers/init.go:74:GlobalInit() [T] Custom path: /var/lib/gitea/custom
Aug 07 05:05:24 hitesh gitea[3859]: 2019/08/07 05:05:24 routers/init.go:75:GlobalInit() [T] Log path: /var/lib/gitea/log
Aug 07 05:05:24 hitesh gitea[3859]: 2019/08/07 05:05:24 ...dules/setting/log.go:226:newLogService() [I] Gitea v1.9.0 built with GNU Make 4.1, g
Aug 07 05:05:24 hitesh gitea[3859]: 2019/08/07 05:05:24 ...dules/setting/log.go:269:newLogService() [I] Gitea Log Mode: Console(Console:info)
Aug 07 05:05:24 hitesh gitea[3859]: 2019/08/07 05:05:24 ...les/setting/cache.go:42:newCacheService() [I] Cache Service Enabled
Aug 07 05:05:24 hitesh gitea[3859]: 2019/08/07 05:05:24 ...s/setting/session.go:45:newSessionService() [I] Session Service Enabled
Aug 07 05:05:24 hitesh gitea[3859]: 2019/08/07 05:05:24 routers/init.go:106:GlobalInit() [I] SQLite3 Supported
Aug 07 05:05:24 hitesh gitea[3859]: 2019/08/07 05:05:24 routers/init.go:37:checkRunMode() [I] Run Mode: Development
Aug 07 05:05:25 hitesh gitea[3859]: 2019/08/07 05:05:25 cmd/web.go:151:runWeb() [I] Listen: http://0.0.0.0:3000
Aug 07 05:05:25 hitesh gitea[3859]: 2019/08/07 05:05:25 ...ce/gracehttp/http.go:142:Serve() [I] Serving [::]:3000 with pid 3859

Accede a Gitea

Gitea ahora está instalado y configurado, es hora de acceder a la interfaz web de Gitea.

Abre tu navegador web y escribe la URL http: // your-server-ip: 3000 / install. Serás redirigido al asistente de instalación de Gitea, como se muestra a continuación:


Ahora, proporciona toda la información requerida, como nombre de la base de datos, nombre de usuario de la base de datos, URL de Gitea, nombre de usuario y contraseña de administrador de Gitea. Luego, haz clic en el botón ‘Instalar Gitea’. Una vez que se haya completado la instalación, te redirigirá al panel de Gitea, como se muestra a continuación:
¡Felicidades! Has instalado y configurado correctamente el servicio Gitea Git en el servidor Ubuntu 18.04 🙂

Ahora ya puedes implementar tu propio servidor Gitea en un entorno de producción y administrar el repositorio desde la ubicación central.

To write a comment on this article, fill out the form below. Fields marked with an asterisk (*) are required.