En este tutorial, le mostraremos cómo instalar Gitea en Debian 9. También le mostraremos cómo implementar el servicio Gitea git en un VPS Debian 9.
Gitea es un sistema de control de versiones gratuito, de código abierto y ligero escrito en Golang. Es un servicio Git autohospedado y una solución alternativa a GitHub, Bitbucket y Gitlab. Su objetivo principal es proporcionar la forma más fácil de configurar un servicio Git autohospedado. Se ejecuta en múltiples plataformas, incluidas Linux, macOS y Windows. Gitea también es compatible con varios sistemas de bases de datos, incluidos SQLite, MySQL y PostgreSQL listos para usar. La instalación de Gitea en Debian 9 no debería llevar más de 10 minutos. Comencemos.
Requisitos previos:
- Un VPS Debian 9 con acceso raíz habilitado o un usuario con privilegios sudo.
- Un nombre de dominio válido dirigido a la dirección IP de su servidor. En este tutorial, usaremos
gitea.mydomain.com
.
Paso 1:Iniciar sesión y actualizar paquetes
Primero, necesitaremos iniciar sesión en nuestro servidor usando SSH. Puede hacerlo ingresando este comando:
ssh root@IP_Address -p Port_Number
Recuerde reemplazar "root" con su nombre de usuario si no está utilizando el usuario root. Cambie "IP_Address" y "Port_Number" según la dirección IP de su servidor y el número de puerto SSH.
Una vez que haya iniciado sesión, debe actualizar todos sus paquetes a sus últimas versiones disponibles.
apt-get update -y apt-get upgrade -y
Paso 2:Instalar y configurar la base de datos MariaDB
Gitea usa SQLite, MySQL/MariaDB y PostgreSQL para almacenar sus datos. Aquí, usaremos MariaDB para nuestra solución de base de datos.
Instalemos MariaDB ejecutando el siguiente comando:
apt-get install mariadb-server mariadb-client -y
Una vez instalado, ejecute el siguiente comando para asegurar la instalación de MariaDB:
mysql_secure_installation
Este comando establecerá la contraseña de root, eliminará a los usuarios anónimos, no permitirá el inicio de sesión de root de forma remota y eliminará la base de datos de prueba como se muestra a continuación:
Enter current password for root (enter for none): press [Enter] 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é protegido, inicie sesión en el shell de MariaDB con el siguiente comando:
mysql -u root -p
Ingrese su contraseña de root cuando se le solicite, luego cambie el GLOBAL innodeb_file_per_table
a On
:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
A continuación, cree una base de datos y un usuario para Gitea con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE gitea; MariaDB [(none)]> CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'password';
Asegúrese de elegir una contraseña única y segura para su usuario de Gitea MariaDB.
A continuación, otorga todos los privilegios a Gitea y modifica la base de datos con el siguiente comando:
MariaDB [(none)]> GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; MariaDB [(none)]> ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
Finalmente, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
A continuación, abra el archivo de configuración predeterminado de MariaDB y ajuste algunas configuraciones:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Agregue las siguientes líneas:
innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_default_row_format = dynamic
Guarde y cierre el archivo. Luego, reinicie el servicio MariaDB para aplicar los cambios de configuración:
systemctl restart mariadb
Paso 3:Descarga e instala Gitea en Debian 9
Vaya a la página de descarga de Gitea y descargue la última versión del paquete binario de Gitea con el siguiente comando:
wget https://github.com/go-gitea/gitea/releases/download/v1.9.1/gitea-1.9.1-linux-amd64
Una vez descargado, copie el binario descargado en /usr/local/bin
directorio:
cp gitea-1.9.1-linux-amd64 /usr/local/bin/gitea
Luego, proporcione el permiso ejecutable usando el siguiente comando:
chmod 755 /usr/local/bin/gitea
Ahora puedes comprobar la versión de Gitea usando el siguiente comando:
gitea --version
Deberías obtener el siguiente resultado:
Gitea version 1.9.1 built with GNU Make 4.1, go1.12.8 : bindata, sqlite, sqlite_unlock_notify
A continuación, necesitaremos crear una estructura de directorios para nuestros repositorios, configuración y archivos de registro. Ejecute el siguiente comando para crear la estructura de directorios de Gitea:
mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
Paso 4:Cree un archivo de servicio de Systemd para Gitea
Ahora, necesitaremos crear un archivo de servicio systemd para administrar el servicio Gitea. Puede iniciar, detener y reiniciar el servicio de Gitea con Systemd.
Ejecute el siguiente comando para crear un archivo de servicio systemd:
nano /etc/systemd/system/gitea.service
Agregue 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=/root GITEA_WORK_DIR=/var/lib/gitea [Install] WantedBy=multi-user.target
Guarde y cierre el archivo. Luego, vuelva a cargar la lista de demonios de systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio Gitea y habilítelo para que se inicie automáticamente después de reiniciar el sistema con los siguientes comandos:
systemctl start gitea systemctl enable gitea
También puede consultar el estado del servicio de Gitea mediante el siguiente comando:
systemctl status gitea
Deberías obtener el siguiente resultado:
● gitea.service - Gitea Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-21 10:44:06 UTC; 7s ago Main PID: 3995 (gitea) Tasks: 6 (limit: 7372) CGroup: /system.slice/gitea.service └─3995 /usr/local/bin/gitea web -c /etc/gitea/app.ini Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:74:GlobalInit() [T] Custom path: /var/lib/gitea/custom Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:75:GlobalInit() [T] Log path: /var/lib/gitea/log Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:226:newLogService() [I] Gitea v1.9.1 built with GNU Make 4.1, g Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:269:newLogService() [I] Gitea Log Mode: Console(Console:info) Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...les/setting/cache.go:42:newCacheService() [I] Cache Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...s/setting/session.go:45:newSessionService() [I] Session Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:106:GlobalInit() [I] SQLite3 Supported Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:37:checkRunMode() [I] Run Mode: Development Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 cmd/web.go:151:runWeb() [I] Listen: http://0.0.0.0:3000 Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 ...ce/gracehttp/http.go:142:Serve() [I] Serving [::]:3000 with pid 3995
Por defecto, Gitea se ejecuta en el puerto 3000. Puedes comprobarlo con el siguiente comando:
netstat -ant | grep 3000
Salida:
tcp6 0 0 :::3000 :::* LISTEN
Paso 5:configurar Nginx como proxy inverso para Gitea
Si desea acceder a su instalación de Gitea mediante un dominio, deberá crear un proxy inverso.
Primero, instale el servidor web Nginx con el siguiente comando:
apt-get install nginx -y
Una vez instalado, cree un nuevo bloque de servidor de host virtual para Gitea:
nano /etc/nginx/sites-available/gitea.conf
Agregue las siguientes líneas:
upstream gitea { server 127.0.0.1:3000 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name gitea.mydomain.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://gitea/; } }
Recuerde reemplazar mydomain.com con su propio dominio registrado.
Guarde y cierre el archivo. Luego, verifique Nginx en busca de errores de sintaxis con el siguiente comando:
nginx -t
A continuación, habilite la directiva de host virtual con el siguiente comando:
ln -s /etc/nginx/sites-available/gitea.conf /etc/nginx/sites-enabled/
Finalmente, reinicie el servicio Nginx para aplicar los cambios de configuración:
systemctl restart nginx
Paso 6:Acceda al asistente de instalación web de Gitea
Ahora, abra su navegador web y visite la URL http://gitea.mydomain.com/install
. Será redirigido a la página de instalación de Gitea:
Ingrese la información de su base de datos, el título del sitio, la URL base de Gitea y la URL del servidor, la información de la cuenta de administrador y haga clic en Instalar Gitea. botón. Una vez que la instalación se haya completado con éxito, será redirigido a la pantalla del panel de control de Gitea:
Ahora, haga clic en + botón para crear tu primer repositorio:
Proporcione los detalles de su repositorio y haga clic en el botón Crear repositorio. Una vez que se haya creado el repositorio, debería ver la siguiente página:
Ahora, haga clic en el botón Cargar archivo. Debería ver la siguiente página:
Cargue su archivo, agregue una descripción en el cuadro Confirmar cambios y haga clic en el botón Confirmar cambios. Debería ver su archivo recién cargado en la siguiente página:
¡Felicitaciones! Ha instalado correctamente Gitea en un VPS Debian 9 y ha creado un proyecto de prueba. También ha configurado Gitea detrás de Nginx Reverse Proxy. Ahora puede crear sus propios repositorios con Gitea e implementarlos en un entorno de desarrollo. Para más información, puedes visitar la documentación oficial de Gitea.
Siga este tutorial para instalar Gitea en Ubuntu 20.04
Por supuesto, no tienes que i ninstalar Gitea en Debian 9 si tiene un servidor Debian administrado con nosotros. Simplemente puede pedirle a nuestro equipo de soporte que instale Gitea en Debian 9 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y podrán ayudarlo con la instalación.
PD . Si disfrutó leyendo esta publicación de blog sobre cómo instalar Gitea en Debian 9, siéntase libre de compartirla en las redes sociales utilizando los accesos directos a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.