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 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
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.