Kako namestiti Giteo na Ubuntu 18.04

Gitea je alternativni odprtokodni sistem za nadzor različic, ki ga poganja git. Gitea je napisana v Golangu in je lahka rešitev za gostovanje na kateri koli platformi.

Predpogoji

  • Nov primerek Vultr Ubuntu 18.04 z vsaj 2 jedroma CPU in 1 GB RAM-a
  • Ne-root uporabnik s privilegiji sudo.
  • Nginx
  • Git
  • MariaDB

1. korak: Namestite Nginx

Posodobite svoj primerek strežnika Vultr Ubuntu 18.04.

sudo apt update

Namestite Nginx.

sudo apt -y install nginx

Ko je Nginx nameščen, preverite, ali deluje ali ne, tako da prebrskate testno stran nginx v brskalniku. Odprite spletni brskalnik in ga pokažitehttp://example.com

Naslednje ukaze lahko uporabite za zaustavitev, ponovno nalaganje, ponovni zagon, preverjanje stanja in omogočanje Nginxa.

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

2. korak: Namestite Git

Namesti Git.

sudo apt -y install git

Ko je nameščen, preverite različico:

git --version
git version 2.17.1

3. korak: Namestite strežnik baze podatkov MariaDB

Gitea podpira naslednje baze podatkov

  • MariaDB/MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Za to vadnico bomo namestili strežnik in odjemalca MariaDB.

sudo apt -y install mariadb-server mariadb-client

Po namestitvi MariaDB lahko spodnje ukaze uporabite za zaustavitev, zagon, ponovni zagon, preverjanje stanja in omogočanje.

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

Po tem zaženite spodnji ukaz, da zavarujete strežnik MariaDB, tako da ustvarite korensko geslo in onemogočite oddaljeni korenski dostop.

sudo mysql_secure_installation

Ko ste pozvani, odgovorite na spodnja vprašanja, tako da sledite navodilom.

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

Znova zaženite MariaDB.

sudo systemctl restart mariadb.service

Če želite preveriti, ali je MariaDB nameščen, vnesite spodnji ukaz za prijavo v strežnik MariaDB

sudo mysql -u root -p

Nato za prijavo vnesite geslo, ki ste ga ustvarili zgoraj. Videli boste pozdravno sporočilo MariaDB.

Ustvarite bazo podatkov z imenom gitea.

CREATE DATABASE gitea;

Ustvarite klicanega uporabnika baze podatkov giteauserz novim geslom.

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

Nato uporabniku omogočite popoln dostop do baze podatkov.

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

Na koncu shranite spremembe in zapustite.

FLUSH PRIVILEGES;
EXIT;

4. korak: Pripravite okolje Gitea

Ustvarite uporabnika za zagon Gitea.

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

Ustvarite zahtevano strukturo imenika.

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

5. korak: Namestite Giteo

Binarno datoteko Gitea lahko prenesete z izvajanjem naslednjih ukazov.

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

Kopirajte binarno datoteko na globalno lokacijo.

sudo cp gitea /usr/local/bin/gitea

6. korak: Ustvarite storitveno datoteko za samodejno zagon Gitea

Ustvarite datoteko storitve Linux.

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

Napolnite datoteko z naslednjim.

[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

Omogočite in zaženite Giteo ob zagonu.

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

Zaženite ukaz statusa.

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

7. korak: Konfigurirajte Nginx kot povratni proxy

Izbrišite privzeto konfiguracijsko datoteko nginx.

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

Ustvarite konfiguracijo povratnega proxyja za Giteo.

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

Zapolnite datoteko z naslednjo konfiguracijo.

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;
    }
}

Omogočite konfiguracijo povratnega proxyja Gitea Nginx.

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

Nato znova naložite storitev Nginx.

sudo systemctl reload nginx.service

Nato odprite brskalnik in poiščite ime gostitelja strežnika ali naslov IP.

http://example.com/install

Sledite navodilom na zaslonu, da dokončate nastavitev Gitea.

Vodniki za Linux, programiranje, strežniške aplikacije, Ubuntu

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več