Com instal·lar Gitea a Ubuntu 18.04

Gitea és un sistema alternatiu de control de versions de codi obert i autoallotjat impulsat per git. Gitea està escrit en Golang i és una solució lleugera per allotjar-se a qualsevol plataforma.

Requisits previs

  • Nova instància Vultr Ubuntu 18.04 amb almenys 2 nuclis de CPU i 1 GB de RAM
  • Usuari no root amb privilegis sudo.
  • Nginx
  • Git
  • MariaDB

Pas 1: instal·leu Nginx

Actualitzeu la vostra instància del servidor Vultr Ubuntu 18.04.

sudo apt update

Instal·leu Nginx.

sudo apt -y install nginx

Un cop instal·lat Nginx, comproveu si funciona o no navegant per la pàgina de prova de nginx al navegador. Obriu el vostre navegador web i apunteu-lohttp://example.com

Les ordres següents es poden utilitzar per aturar, tornar a carregar, reiniciar, comprovar l'estat i habilitar Nginx.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl restart nginx.service
sudo systemctl reload nginx.service
sudo systemctl enable nginx.service

Pas 2: instal·leu Git

Instal·leu Git.

sudo apt -y install git

Un cop instal·lat, comproveu la versió:

git --version
git version 2.17.1

Pas 3: instal·leu el servidor de bases de dades MariaDB

Gitea admet les següents bases de dades

  • MariaDB/MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Per a aquest tutorial instal·larem el servidor i el client MariaDB.

sudo apt -y install mariadb-server mariadb-client

Després d'instal·lar MariaDB, les ordres següents es poden utilitzar per aturar, iniciar, reiniciar, comprovar l'estat i habilitar-lo.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl restart mariadb.service
sudo systemctl status mariadb.service
sudo systemctl enable mariadb.service

Després d'això, executeu l'ordre següent per protegir el servidor MariaDB creant una contrasenya d'arrel i no permetre l'accés a l'arrel remot.

sudo mysql_secure_installation

Quan se us demani, responeu a les preguntes següents seguint la guia.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
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

Reinicieu MariaDB.

sudo systemctl restart mariadb.service

Per provar si MariaDB està instal·lat, escriviu l'ordre següent per iniciar sessió al servidor MariaDB

sudo mysql -u root -p

A continuació, escriviu la contrasenya que heu creat més amunt per iniciar sessió. Veureu el missatge de benvinguda de MariaDB.

Creeu una base de dades anomenada gitea.

CREATE DATABASE gitea;

Creeu un usuari de base de dades anomenat giteauseramb una nova contrasenya.

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

A continuació, concediu a l'usuari accés complet a la base de dades.

GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Finalment, deseu els canvis i sortiu.

FLUSH PRIVILEGES;
EXIT;

Pas 4: Prepara l'entorn de Gitea

Crea un usuari per executar Gitea.

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

Creeu l'estructura de directoris necessària.

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

Pas 5: instal·leu Gitea

El binari de Gitea es pot descarregar executant les ordres següents.

sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo chmod +x gitea

Copieu el binari a una ubicació global.

sudo cp gitea /usr/local/bin/gitea

Pas 6: creeu un fitxer de servei per iniciar Gitea automàticament

Creeu un fitxer de servei Linux.

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

Omple el fitxer amb el següent.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.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
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Activa i inicia Gitea a l'arrencada.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Executeu l'ordre d'estat.

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
  Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
  Active: active (running) since Wed 2018-10-10 14:15:28 CDT; 19ms ago
 Main PID: 17769 (gitea)
   Tasks: 4 (limit: 2321)
  CGroup: /system.slice/gitea.service
       ├─17769 /usr/local/bin/gitea web -c /etc/gitea/app.ini
       └─17774 /usr/local/bin/gitea web -c /etc/gitea/app.ini

Pas 7: configureu Nginx com a servidor intermediari invers

Suprimiu el fitxer de configuració predeterminat de nginx.

sudo rm /etc/nginx/sites-enabled/default

Creeu una configuració de proxy invers per a Gitea.

sudo nano /etc/nginx/sites-available/git

Omple el fitxer amb la configuració següent.

upstream gitea {
    server 127.0.0.1:3000;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com;
    root /var/lib/gitea/public;
    access_log off;
    error_log off;

    location / {
      try_files maintain.html $uri $uri/index.html @node;
    }

    location @node {
      client_max_body_size 0;
      proxy_pass http://localhost:3000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;
      proxy_redirect off;
      proxy_read_timeout 120;
    }
}

Habiliteu la configuració del servidor intermediari invers de Gitea Nginx.

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled

A continuació, torneu a carregar el servei Nginx.

sudo systemctl reload nginx.service

A continuació, obriu el vostre navegador i busqueu el nom d'amfitrió del servidor o l'adreça IP.

http://example.com/install

Seguiu les instruccions a la pantalla per completar la configuració de Gitea.

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació