Requisits previs
											
										
																			
											
												Pas 1: instal·leu Nginx
											
										
																			
											
												Pas 2: instal·leu Git
											
										
																			
											
												Pas 3: instal·leu el servidor de bases de dades MariaDB
											
										
																			
											
												Pas 4: Prepara l'entorn de Gitea
											
										
																			
											
												Pas 5: instal·leu Gitea
											
										
																			
											
												Pas 6: creeu un fitxer de servei per iniciar Gitea automàticament
											
										
																			
											
												Pas 7: configureu Nginx com a servidor intermediari invers
											
										
																	
												
						
												
Gitea és un sistema alternatiu de control de versions autoallotjat i de codi obert 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 Debian 9.
- Usuari no root amb sudoprivilegis.
- Nginx
- Git
- MariaDB
Pas 1: instal·leu Nginx
Actualitzeu la vostra llista de paquets.
sudo apt update
Instal·leu Nginx.
sudo apt -y install nginx
Un cop finalitzada la instal·lació, executeu les ordres següents per iniciar i habilitar el servei Nginx. 
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Pas 2: instal·leu Git
Això es pot fer amb la següent comanda.
sudo apt -y install git
Pas 3: instal·leu el servidor de bases de dades MariaDB
Gitea admet els següents servidors de bases de dades.
- MariaDB/MySQL
- PostgreSQL
- SQLite
- TiDB
Per a aquest tutorial farem servir el servidor i el client MariaDB.
sudo apt -y install mariadb-server mariadb-client
Un cop completat, assegureu-vos que MariaDB estigui habilitat i en funcionament.
sudo systemctl enable mariadb.service
sudo systemctl start 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
Escriviu l'ordre següent per iniciar sessió a la consola 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';
Assegureu-vos de substituir-lo new_password_hereper una contrasenya forta i complexa.
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 touch /etc/systemd/system/gitea.service
Utilitzant un editor de text que escolliu, obriu aquest fitxer de creació recent i ompliu-lo amb el següent.
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mariadb.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
Assegureu-vos que Gitea funcioni. 
sudo systemctl status gitea
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 touch /etc/nginx/sites-available/git
Empleneu el fitxer amb la configuració següent, assegureu-vos de substituir-lo example.compel vostre nom de domini o adreça IP.
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/git
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://YOUR_SERVER_IP/install
Seguiu les instruccions a la pantalla per completar la configuració de Gitea.