126 lines
5.8 KiB
HTML

<!-- 33 -->
<div class="img zoomable">
<img src="/static/source_imgs/more_notes/pst_2/gitea_local_network.webp" alt="">
</div>
<p>
Primero debemos <a class="link" data-bs-toggle="modal" data-bs-target="#update_linux">actualizar nuestro sistema
linux</a>, una vez hecho eso, ya podemos iniciar con la instalación de Gitea:
</p>
<p><b>1. Instalar dependencias</b> <br>Primero, vamos a Instalar SQLite3 para poder manejar la configuración inicial y
en local.</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code class="code_lightMode"># es opcional ya que puedes usar otros gestores de bases de datos
sudo apt install git sqlite3 -y
</code></pre>
<p><b>2. Crear un usuario para Gitea</b> <br>Es una buena práctica ejecutar Gitea con un usuario dedicado:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true" class="code_lightMode"># añadir un usuario ejemplo se llama gitea
sudo adduser --system --group --home /home/gitea gitea
</code></pre>
<p><b>3. Descargar Gitea</b><br>Descargamos la última versión de Gitea, en mi caso yo uso una Raspberry Pi 4, te
recomiendo primero conocer la arquitectura de tu maquina linux para saber que versión necesitas, para ello ejecuta el
comando:
</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code class="code_lightMode"># En mi caso la salida del comando es: aarch64 lo que indica que es un procesador ARM de 64 bits.
uname -m
</code></pre>
<p>Para Raspberry Pi 64-bit:</p>
<ul>
<li>
<a href="https://about.gitea.com/products/gitea/" target="_blank">Página Gitea</a>
</li>
<li>
<a href="https://github.com/go-gitea/gitea/releases/" target="_blank">Versiones disponibles</a>
</li>
</ul>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true" class="code_lightMode"># esto solo aplica para descargar el binario compatible con la raspberry pi ARM64
URL_VRSNS="https://api.github.com/repos/go-gitea/gitea/releases/latest"
GITEA_VERSION=$(curl -s "$URL_VRSNS" | grep -Po '"tag_name": "\K.*?(?=")')
VERSION=$(echo "$GITEA_VERSION" | sed 's/^v//')
wget -O gitea https://github.com/go-gitea/gitea/releases/download/${GITEA_VERSION}/gitea-${VERSION}-linux-arm64
</code></pre>
<p>Da permisos de ejecución:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code class="code_lightMode">chmod +x gitea
sudo mv gitea /usr/local/bin/
</code></pre>
<p><b>4. Crear la estructura de directorios</b> <br>Ahora, configura las carpetas necesarias para almacenar los datos y
configuraciones:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true" class="code_lightMode"># dependiendo del nombre del usuario que le diste en el punto dos debes reemplazarlo en gitea
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown -R gitea:gitea /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
sudo mkdir -p /etc/gitea
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea
</code></pre>
<p><b>5. Crear el servicio de systemd</b><br>Para que Gitea se ejecute automáticamente, crea un servicio de systemd:
</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code class="code_lightMode">sudo nano /etc/systemd/system/gitea.service</code></pre>
<p>Copia y pega el siguiente contenido:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true" class="code_lightMode">[Unit]
Description=Gitea
After=network.target
[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
</code></pre>
<p>Guarda el archivo y sal (<code>CTRL+S</code>, <code>CTRL+X</code>, <code>Enter</code>). Luego, habilita e inicia el
servicio:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true" class="code_lightMode">sudo systemctl daemon-reload
sudo systemctl enable --now gitea
</code></pre>
<p>Verifica que Gitea esté corriendo:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true" class="code_lightMode">sudo systemctl status gitea</code></pre>
<p><b>6. Configuración inicial de Gitea</b><br>Accede a la interfaz web en el navegador:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true" class="code_lightMode">http://IP-de-tu-equipo:3000</code></pre>
<p>
Cuando entres por primera vez al sitio tendrás que hacer la configuración inicial, los únicos
campos que yo modifico son: <br>
"Tipo de base de datos": SQLite3 <br>
Usuario <i class="bi bi-chevron-compact-right"></i> Configuración <i class="bi bi-chevron-compact-right"></i>
SSH/Claves GPG <br>
Le das clic en añadir una clave y le pegas tu llave pública SSH
</p>
<p>
En tu servidor de Gitea en la terminal deberás de ejecutar el siguiente comando:
</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true" class="code_lightMode">sudo usermod -s /bin/bash gitea</code></pre>
<p>En una maquina diferente, de donde copiaste la llave SSH deberás ejecutar el siguiente comando para ver si gitea ya
esta funcionando:</p>
<pre><i class="bi bi-copy"> Copiar código</i>
<code contenteditable="true" class="code_lightMode">ssh -T gitea@ip-servidor-gitea</code></pre>
<p>Completa la configuración y tendrás Gitea listo para usar. <br>
"Nombre del usuario": *lo dejo tal y como está, recuerda que debes considerar el punto dos de este manual" <br>
"Contraseña": *Asignale la contraseña o al igual que en github puedes agregarle tu llave SSH* <br>
"Título del sitio": *Pon el nombre que tu quieras*
</p>
<p>Una vez que hayas hecho la configuración inicial, en tu servidor de Gitea deberás de iniciar sesión, ir a la ruta :
<br>
<b>http://ip-del-equipo:3000/user/settings/keys</b> <br>
</p>