Cómo instalar Gitea en Ubuntu 18.04
Gitea es un sistema de control de versiones gratuito y de código abierto similar a GitHub. Gitea es un clon de Gogs, una solución ligera de alojamiento de código escrita en Go y publicada bajo la licencia MIT. Es sencillo, rápido, fácil de usar, escalable y una gran alternativa a otros servicios git. Gitea viene con un montón de características, entre las que se incluyen: soporte de múltiples bases de datos, soporte de múltiples sistemas operativos, fácil proceso de actualización, soporte de CSV, wiki integrado con Git, registro de contenedores incorporado, réplica externa de git, seguimiento de problemas y tiempo, ramificación de repositorios y mucho más.
En este tutorial, explicaremos cómo instalar el servidor git Gitea en el servidor Ubuntu 18.04.
Requisitos
- Un servidor con Ubuntu 18.04.
- Una dirección IP estática 192.168.0.101 configurada en tu servidor.
- Un usuario no root con privilegios sudo.
Cómo empezar
Antes de empezar, tendrás que actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:
sudo apt-get update -y
sudo apt-get upgrade -y
Instalar los paquetes necesarios
En primer lugar, necesitarás instalar el servidor MariaDB, git, unzip y wget en tu servidor. Puedes instalarlos todos con el siguiente comando:
sudo apt-get install mariadb-server wget unzip git -y
Una vez instalados todos los paquetes, inicia el servicio MariaDB y habilítalo para que se inicie en el arranque con el siguiente comando:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Configurar MariaDB
Por defecto, MariaDB no está protegida. Por lo tanto, tendrás que asegurarlo. Puedes hacerlo ejecutando el script mysql_secure_installation:
sudo mysql_secure_installation
Este script cambiará tu contraseña actual de root, eliminará los usuarios anónimos y no permitirá el inicio de sesión de root de forma remota, como se muestra a continuación:
Enter current password for root (enter for none): Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Una vez que MariaDB esté asegurada, entra en el shell de MariaDB:
mysql -u root -p
Introduce tu contraseña de root cuando se te pida. A continuación, crea una base de datos y un usuario para Gitea:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
MariaDB [(none)]> CREATE DATABASE giteadb;
MariaDB [(none)]> CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'password';
A continuación, concede todos los privilegios a Gitea con el siguiente comando:
MariaDB [(none)]> GRANT ALL ON giteadb.* TO 'giteauser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
A continuación, actualiza el conjunto de caracteres de la base de datos con el siguiente comando:
ALTER DATABASE giteadb CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
A continuación, vacía los privilegios y sal del shell de MariaDB:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
A continuación, deberás editar el archivo de configuración por defecto de MariaDB y realizar algunos cambios:
sudo 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. A continuación, reinicia el servicio MariaDB para aplicar los cambios:
sudo systemctl restart mariadb
Estructura del directorio de Creta Gitea
En primer lugar, tendrás que crear un usuario Gitea. Puedes hacerlo con el siguiente comando:
sudo adduser --system --shell /bin/bash --group --disabled-password --home /home/gitea gitea
A continuación, crea una estructura de directorios para Gitea con el siguiente comando:
sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
A continuación, dale la propiedad al usuario Gitea con el siguiente comando:
sudo chown gitea:gitea /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chmod 770 /etc/gitea
Instalar Gitea
A continuación, tendrás que descargar el paquete Gitea del repositorio Git Hub. Puedes descargarlo con el siguiente comando
wget https://github.com/go-gitea/gitea/releases/download/v1.5.1/gitea-1.5.1-linux-amd64
A continuación, mueve el binario descargado al directorio /usr/local/bin con el siguiente comando
sudo mv gitea-1.5.1-linux-amd64 /usr/local/bin/gitea
A continuación, da el permiso adecuado al binario de Gitea con el siguiente comando:
sudo chmod +x /usr/local/bin/gitea
A continuación, crea un archivo de servicio systemd para gestionar el servicio Gitea con el siguiente comando:
sudo 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] # Modify these two values and uncomment them if you have # repos with lots of files and get an HTTP error 500 because of that RestartSec=2s Type=simple User=gitea Group=gitea WorkingDirectory=/var/lib/gitea/ ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea [Install] WantedBy=multi-user.target
Guarda y cierra el archivo, cuando hayas terminado. A continuación, recarga systemd e inicia el servicio Gitea con el siguiente comando:
sudo systemctl daemon-reload
sudo systemctl start gitea
Ahora puedes comprobar el estado de Gitea con el siguiente comando:
sudo systemctl status gitea
Salida:
? gitea.service - Gitea Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2019-01-06 08:04:52 UTC; 3s ago Main PID: 6030 (gitea) Tasks: 8 (limit: 1114) CGroup: /system.slice/gitea.service ??6030 /usr/local/bin/gitea web -c /etc/gitea/app.ini Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [T] Log path: /var/lib/gitea/log Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Gitea v1.5.1 built with: bindata, sqlite Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Log Mode: Console(Info) Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] XORM Log Mode: Console(Info) Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Cache Service Enabled Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Session Service Enabled Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] SQLite3 Supported Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Run Mode: Development Jan 06 08:04:53 ubuntu1804 gitea[6030]: 2019/01/06 08:04:53 Serving [::]:3000 with pid 6030 Jan 06 08:04:53 ubuntu1804 gitea[6030]: 2019/01/06 08:04:53 [I] Listen: http://0.0.0.0:3000
Accede a la interfaz web de Gitea
Gitea está ahora en marcha y escuchando en el puerto 3000. Ahora, abre tu navegador web y escribe la URL http://192.168.0.101:3000/install. Serás redirigido a la siguiente página:
Aquí, proporciona toda la información necesaria como el nombre de la base de datos de Gitea, el nombre de usuario, la contraseña, la url base, ejecutar como nombre de usuario, el nombre de usuario y la contraseña del administrador y la ruta de acceso. A continuación, haz clic en el botón Instalar Gitea. Una vez que la instalación se haya completado con éxito, serás redirigido al panel de control de Gitea que se muestra en la siguiente página:
Enhorabuena! has instalado con éxito el servicio git de Gitea en el servidor Ubuntu 18.04. Ahora puedes gestionar fácilmente tu repositorio git a través de un navegador web.