Importante
Este artículo está obsoleto y puede contener información desactualizada. Por favor, consulta la documentación más reciente para obtener la información actualizada.
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.