Hvordan installere Gitea på Ubuntu 18.04

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

Trinn 7: Konfigurer Nginx som en omvendt proxy

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.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer