Forutsetninger
Trinn 1: Installer Nginx
Trinn 2: Installer Git
Trinn 3: Installer MariaDB Database Server
Trinn 4: Forbered Gitea-miljøet
Trinn 5: Installer Gitea
Trinn 6: Lag en tjenestefil for å starte Gitea automatisk
Trinn 7: Konfigurer Nginx som en omvendt proxy
Gitea er et alternativt, selvdrevet versjonskontrollsystem med åpen kildekode drevet av git. Gitea er skrevet på Golang og er en lettvektsløsning som kan hostes på hvilken som helst plattform.
Forutsetninger
- Ny Vultr Ubuntu 18.04-forekomst med minst 2 CPU-kjerner og 1 GB RAM
- Ikke-rootbruker med sudo-privilegier.
- Nginx
- Git
- MariaDB
Trinn 1: Installer Nginx
Oppdater Vultr Ubuntu 18.04 Server-forekomsten.
sudo apt update
Installer Nginx.
sudo apt -y install nginx
Når Nginx er installert, test om det fungerer eller ikke ved å bla gjennom nginx-testsiden i nettleseren. Åpne nettleseren og pek den tilhttp://example.com
Følgende kommandoer kan brukes til å stoppe, laste på nytt, starte på nytt, sjekke status og aktivere 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
Trinn 2: Installer Git
Installer Git.
sudo apt -y install git
Når den er installert, sjekk versjonen:
git --version
git version 2.17.1
Trinn 3: Installer MariaDB Database Server
Gitea støtter følgende databaser
- MariaDB/MySQL
- PostgreSQL
- SQLite
- TiDB
For denne opplæringen vil vi installere MariaDB-serveren og -klienten.
sudo apt -y install mariadb-server mariadb-client
Etter installasjon av MariaDB kan kommandoene nedenfor brukes til å stoppe, starte, starte på nytt, sjekke status og aktivere den.
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
Etter det, kjør kommandoen nedenfor for å sikre MariaDB-serveren ved å opprette et root-passord og ikke tillate ekstern root-tilgang.
sudo mysql_secure_installation
Når du blir bedt om det, svar på spørsmålene nedenfor ved å følge veiledningen.
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
Start MariaDB på nytt.
sudo systemctl restart mariadb.service
For å teste om MariaDB er installert, skriv inn kommandoen nedenfor for å logge på MariaDB-serveren
sudo mysql -u root -p
Skriv deretter inn passordet du opprettet ovenfor for å logge på. Du vil se MariaDB-velkomstmeldingen.
Lag en database kalt gitea.
CREATE DATABASE gitea;
Opprett en databasebruker kalt giteausermed et nytt passord.
CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';
Gi deretter brukeren full tilgang til databasen.
GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;
Til slutt, lagre endringene og avslutt.
FLUSH PRIVILEGES;
EXIT;
Trinn 4: Forbered Gitea-miljøet
Opprett en bruker for å kjøre Gitea.
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
Opprett den nødvendige katalogstrukturen.
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
Trinn 5: Installer Gitea
Gitea-binærfilen kan lastes ned ved å kjøre følgende kommandoer.
sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64
sudo chmod +x gitea
Kopier binærfilen til en global plassering.
sudo cp gitea /usr/local/bin/gitea
Trinn 6: Lag en tjenestefil for å starte Gitea automatisk
Opprett en linux-tjenestefil.
sudo nano /etc/systemd/system/gitea.service
Fyll filen med følgende.
[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
Aktiver og start Gitea ved oppstart.
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
Kjør statuskommandoen.
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
Slett standard nginx-konfigurasjonsfilen.
sudo rm /etc/nginx/sites-enabled/default
Opprett en omvendt proxy-konfigurasjon for Gitea.
sudo nano /etc/nginx/sites-available/git
Fyll filen med følgende konfigurasjon.
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;
}
}
Aktiver Gitea Nginx omvendt proxy-konfigurasjon.
sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled
Last deretter inn Nginx-tjenesten på nytt.
sudo systemctl reload nginx.service
Deretter åpner du nettleseren din og bla til serverens vertsnavn eller IP-adresse.
http://example.com/install
Følg instruksjonene på skjermen for å fullføre Gitea-oppsettet.