---
title: "Gitea – Alternatiiv GitHubile, mis töötab Zone Virtuaalserveris"
canonical_url: "https://www.zone.ee/blogi/gitea-alternatiiv-githubile-mis-tootab-zone-virtuaalserveris/"
post_type: "post"
published: "2018-06-05T15:35:22+00:00"
modified: "2018-06-05T15:35:22+00:00"
author: "Ingmar Aasoja"
featured_image: "https://www.zone.ee/static/sites/2/2018/06/gitea.png"
taxonomies:
  category:
    - name: "Tehniline"
      url: "https://www.zone.ee/blogi/category/tehniline/"
  post_tag:
    - name: "git"
      url: "https://www.zone.ee/blogi/tag/git/"
    - name: "gitea"
      url: "https://www.zone.ee/blogi/tag/gitea/"
    - name: "go"
      url: "https://www.zone.ee/blogi/tag/go/"
  skills:
    - name: "Edasijõudnule"
      url: "https://www.zone.ee/blogi/skill/edasijoudnule/"
    - name: "Spetsialistile"
      url: "https://www.zone.ee/blogi/skill/spetsialistile/"
---

# Gitea – Alternatiiv GitHubile, mis töötab Zone Virtuaalserveris

## Mis on Gitea?

Gitea on GO’s kirjutatud avatud lähtekoodiga alternatiiv populaarsetele versioonihaldusteenustele Github ja Gitlab. Täpsemat infot Gitea kohta leiad aadressilt <https://gitea.io/> ning põhjaliku dokumentatsiooniga saab tutvuda siin: <https://docs.gitea.io/en-US/>

![Gitea logo](https://www.zone.ee/static/sites/2/2018/06/gitea.001.png)

## [](https://pildid.git.miljonivaade.eu/gitea.html#n%C3%B5uded-zone-teenusele)Nõuded Zone teenusele

Kasutusel peab olema Zone tarkvaraplatvormi kasutav server (kõlbab nii Virtuaalserver, Nutikas Pilveserver kui ka Nutikas Privaatserver). Käesolevas õpetuses on virtuaalserveri nimeks **git.miljonivaade.eu**

**Virtuaalserveril peab olema eraldatud IP aadress portide suunamise tarvis. Pakett III sisaldab ühte tasuta eraldatud IP aadressi. Kui see aktiveeritud pole, tuleb ühendust võtta Zone klienditoega, kes selle tasuta aktiveerib.**

## [](https://pildid.git.miljonivaade.eu/gitea.html#1-seadistame-zone-virtuaalserveri)1. Seadistame Zone virtuaalserveri

### [](https://pildid.git.miljonivaade.eu/gitea.html#11-ssh)1.1 SSH

Kui teil on juba SSH ligipääs virtuaalserverile seadistatud võib jätkata punktist **1.2**

**Virtuaalserveri Haldus -&gt; SSH -&gt; Ligipääs**

- Lisame oma avaliku SSH võtme
- Lubame ligipääsu oma IP aadressilt (või kõikjalt)

### [](https://pildid.git.miljonivaade.eu/gitea.html#12-mysql)1.2 MySQL

**Virtuaalserveri Haldus -&gt; Andmebaasid -&gt; MySQL**

- Lisame uue andmebaasi nimega **d73643\_gitea**. Collation väljale valime **utf8mb4\_general\_ci**
- Lisame uue kasutaja nimega **d73643\_gitea**
- Anname kasutajale **d73643\_gitea** kõik õigused andmebaasis **d73643\_gitea**

### [](https://pildid.git.miljonivaade.eu/gitea.html#13-http-ligip%C3%A4%C3%A4su-seadistamine-http-proxy)1.3 HTTP ligipääsu seadistamine (http proxy)

**Virtuaalserveri Haldus -&gt; Veebiserver -&gt; Seaded** HTTPS seadete all vajutame nuppu **muuda**

- SSL/VHosti IP: **XXX.XXX.XXX.XXX**, mille väätuseks on virtuaalserverile eraldatud IP aadress.
- Määrame mod\_proxy sihtpordiks **3000**
- Ning vajutame **Salvesta muudatused** nuppu

![](https://www.zone.ee/static/sites/2/2018/06/gitea-2-1024x862.png)

### [](https://pildid.git.miljonivaade.eu/gitea.html#14-gitea-ssh-ligip%C3%A4%C3%A4su-seadistamine-gitile-portide-suunamine)1.4 Gitea SSH ligipääsu seadistamine GITile (portide suunamine)

Gitea kasutab oma sisest SSH serverit, mis annab võimaluse git repositooriumite ning kasutajate ligipääse Giteas endas hallata.

**Virtuaalserveri Haldus -&gt; Veebiserver -&gt; Portide Suunamine**

- Lisa uus portide suunamine all tuleb täita väljad
    - IP: Valime Zone poolt eraldatud IP aadressi
    - Port: **2222**
    - Kommentaar: **gitea-ssh** (vabalt valitud näidis)
    - Ning vajutan nuppu **Lisa**

***HTTP proxy ja portide suunamise muudatused jõuavad serverisse umbes 10 minuti jooksul, aga DNS A kirje levimine eraldatud IP aadressile võib võtta ka üle tunni. Kui on soov rakendus enne kirjete levimist seadistada, siis võib IP enda tööjaama hosts faili lisada.***

## [](https://pildid.git.miljonivaade.eu/gitea.html#2-paigaldame-gitea)2. Paigaldame Gitea

### [](https://pildid.git.miljonivaade.eu/gitea.html#21-laadime-alla-ning-paigaldame-gitea-binaarfaili)2.1 Laadime alla ning paigaldame Gitea binaarfaili

Siseneme virtuaalserverisse SSH abil ning käivitame järgmised read:

```
mkdir domeenid/www.git.miljonivaade.eu/gitea
cd domeenid/www.git.miljonivaade.eu/gitea
wget -O gitea https://dl.gitea.io/gitea/1.4.2/gitea-1.4.2-linux-amd64
chmod +x gitea

```

Et Gitea esialgse konfiguratsioonifaili genereeriks, tuleb gitea korraks käivitada. Antud juhul see ebaõnnestub, aga tekitatakse **custom/conf/app.ini** fail.

Käivitame käsu:

```
./gitea web

```

Tulemus peaks olema järgmine:

![](https://www.zone.ee/static/sites/2/2018/06/gitea-9-1024x181.png)

### [](https://pildid.git.miljonivaade.eu/gitea.html#22-seadistame-rakenduse-konfiguratsioonid)2.2 Seadistame rakenduse konfiguratsioonid

Avame konfiguratsioonifaili

```
nano custom/conf/app.ini

```

Kogu sisu tuleb üle kirjutada järgnevaga:

```
RUN_USER = virt73403
RUN_MODE = prod

[database]
DB_TYPE = mysql
HOST = d73643.mysql.zonevs.eu:3306
USER = d73643_gitea
NAME = d73643_gitea

[repository]
ROOT = /data03/virt73403/domeenid/www.git.miljonivaade.eu/gitea/repositories

[server]
PROTOCOL = http
DOMAIN = git.miljonivaade.eu
HTTP_ADDR = 127.1.69.203
HTTP_PORT = 3000
DISABLE_SSH      = false
START_SSH_SERVER = true
SSH_PORT = 2222
SSH_LISTEN_HOST = 127.1.69.203

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = /data03/virt73403/domeenid/www.git.miljonivaade.eu/gitea/log

```

Virtuaalserveri põhised muutujad konfiguratsioonis:

- **RUN\_USER** – kasutaja, kelle õigustes rakendus käivitatakse. Selleks on virtuaalserveri SSH kasutajanimi.
- **database.HOST** – andmebaasi hosti nimi, mille leiab Virtuaalserver Haldus -&gt; Andmebaasid -&gt; MySQL alampunktist. Lisaks tuleb määrata port, milleks on 3306.
- **database.USER** – loodud MySQL kasutaja kasutajanimi.
- **database.NAME** – loodud andmebaasi nimi.
- **repository.ROOT** – asukoht, kuhu pannakse loodud repositooriumite andmed. Selle peaks määrama kujul: /dataXX/{ssh-kasutaja}/domeenid/[www.{domeen}/vabalt/valitud/asukoht](http://www.%7Bdomeen%7D/vabalt/valitud/asukoht)
- **server.PROTOCOL** – konfiguratsioonis määrame protokoliks “http”, kuna HTTPS eest hoolitseb Zone seadistatud proxy.
- **server.DOMAIN** – virtuaalserveri nimi ehk domeen.
- **server.HTTP\_ADDR** – virtuaalserveri loopback IP, mille saab teada kui käivitada virtuaalserveris SSH konsoolis käsk **vs-loopback-ip -4**.
- **server.HTTP\_PORT** – port, mille määrasime mod\_proxy pordiks serveri seadetes.
- **server.SSH\_PORT** – port, mille määrasime portide suunamisel.
- **server.SSH\_LISTEN\_HOST** – sama mis **server.HTTP\_ADDR**.
- **log.ROOT\_PATH** – logifailide kataloog, mille võib määrata järgmiselt: /dataXX/{ssh-kasutaja}/domeenid/[www.{domeen}/vabalt/valitud/asukoht](http://www.%7Bdomeen%7D/vabalt/valitud/asukoht)

### [](https://pildid.git.miljonivaade.eu/gitea.html#23-paigaldame-ning-k%C3%A4ivitame-rakenduse)2.3 Paigaldame ning käivitame rakenduse

Pärast seda käivitame rakenduse uuesti

```
./gitea web

```

Ning kui kõik õnnestub, peaks pilt välja selline:

![](https://www.zone.ee/static/sites/2/2018/06/gitea-1.png)

Veebiliides peaks tööle hakkama minnes aadressile: [https://git.miljonivaade.eu](https://git.miljonivaade.eu/) ning avanema peaks järgmine pilt:

![](https://www.zone.ee/static/sites/2/2018/06/gitea-3-1024x748.png)

Põhikonfiguratsioon on sellega paigas. Antud lehel tuleb siis lisaks

- sisestada MySQL kasutaja parool
- kustutada pordi number **Application URL** väärtusest ning scheme määrata HTTPS. Antud juhul on lõppväärtus <https://git.miljonivaade.eu/>

Lõplikuks paigaldamiseks vajutame nuppu **Install Gitea**.

Õnnestunud paigalduse korral peaks avanema järgmine pilt:

![](https://www.zone.ee/static/sites/2/2018/06/gitea-4-1024x447.png)

Selles vaates tuleb teha endale konto. Esimesena registreeritud kontole antakse ka administraatori õigused.

***Selle alampunkti lõpuks on meil olemas täisväärtuslik töötav Gitea rakendus. Nüüd on vaja lisada seaded, et Zone oskaks seda vajadusel automaatselt käivitada ja/või restartida***

## [](https://pildid.git.miljonivaade.eu/gitea.html#3-seadistame-zone-virtuaalserveri-t%C3%B6%C3%B6tamaks-giteaga)3. Seadistame Zone virtuaalserveri töötamaks Giteaga

### [](https://pildid.git.miljonivaade.eu/gitea.html#31-seadistame-gitea-teenuse-pm2s)3.1 Seadistame Gitea teenuse PM2’s

Kui Gitea töötab, peatame rakenduse klahvikombinatsiooniga **ctrl + c**.

Järgmiseks tuleb seadistada PM2, et Gitea jätkaks tööd ka pärast SSH’st välja logimist ning pärast Zone poolset serveri taaskäivitust. Selleks lisame PM2 teenuse. Samuti aitab PM2 rakendust automaatselt taaskäivitada, kui mingi probleemi tõttu peaks see “maha surema”.

Tekitame PM2 konfiguratisoonifaili:

```
nano /data03/virt73403/domeenid/www.git.miljonivaade.eu/gitea/gitea-pm2.json

```

Faili sisu peab olema selline:

```
{
 "apps" : [{
 "name" : "gitea-service",
 "script" : "gitea",
 "cwd" : "/data03/virt73403/domeenid/www.git.miljonivaade.eu/gitea",
 "args" : "web"
 }]
}

```

Salvestame faili ning Virtuaalserveri haldusliideses lisame rakenduse:

**Virtuaalserveri Haldus -&gt; Veebiserver -&gt; Node.js ja PM2**

- Vajutame nuppu “Lisa uus Node.js rakendus”
- Täidame väljad
    - Rakenduse nimi: **gitea-service** (vabalt valitud näids)
    - Skript või pm2.json: **domeenid/[www.git.miljonivaade.eu/gitea/gitea-pm2.json](http://www.git.miljonivaade.eu/gitea/gitea-pm2.json)**
    - Maksimaalne mälukasutus: kuna .json faili puhul see seade mõju ei avalda, võib see jääda 1MB peale.
- Vajutame **Lisa** nuppu

Rakenduse käivitamiseks läbi PM2 peame ootama paar minutit. Veendumaks, et rakendus toimib, proovime selle aja möödudes minna brauseris rakenduse vaatesse – <https://git.miljonivaade.eu/>.

Kui antud aadressil avaneb Gitea rakendus, võib kontrollida, et rakendus sai ikka PM2 poolt käivitatud. Seda saab teha SSH konsoolis käsuga

```
pm2 status

```

Avaneda võiks järgmine pilt:

![](https://www.zone.ee/static/sites/2/2018/06/gitea-5.png)

## [](https://pildid.git.miljonivaade.eu/gitea.html#4-hakkame-rakendust-kasutama-jav%C3%B5i-testime)4. Hakkame rakendust kasutama ja/või testima

Järgnev tekst on juba töötava rakenduse näide, kui esimene kasutajakonto on loodud. Gitea on Zone virtuaalserveris paigaldatud, seadistatud õigesti käivituma ning järgnev on pigem väga lühike sissejuhatus rakendusse esimese repositooriumi loomiseks ning giti SSH ligipääsu seadistamiseks.

### [](https://pildid.git.miljonivaade.eu/gitea.html#41-sisestame-ssh-avaliku-v%C3%B5tme-git-ligip%C3%A4%C3%A4suks)4.1 Sisestame SSH avaliku võtme git ligipääsuks

- Klikime paremal üleval ikoonil ning avame menüüpunkti **Your Settings**
- Avanenud lehel avame kaardi **SSH / GPG Keys**
- SSH võtme all vajutame nuppu **Add key**

### [](https://pildid.git.miljonivaade.eu/gitea.html#42-loome-uue-respositooriumi)4.2 Loome uue respositooriumi

Siseneme **Dashboard** vaatesse. Visuaalne pilt on sarnane Githubi ja Gitlabiga ning neid kasutanud ei tohiks ka siin repositooriumi seadistamisega hätta jääda.

![](https://www.zone.ee/static/sites/2/2018/06/gitea-6.png) ![](https://www.zone.ee/static/sites/2/2018/06/gitea-7.png)

### [](https://pildid.git.miljonivaade.eu/gitea.html#43-hakkame-kasutama)4.3 Hakkame kasutama

Repositooriumi vaates **Clone this repository** alt tuleb valida **SSH** ning kopeerida vastav URL.

Näiteks

```
git clone ssh://virt73403@git.miljonivaade.eu:2222/ingmar/zone-test.git
touch README.md
git add .
git commit -m "added readme"
git push

```

Ning giti kasutanud inimesel ei tohiks olla raske veenduda, et kõik töötab.

![](https://www.zone.ee/static/sites/2/2018/06/gitea-8-1024x354.png)

Edasi tuleb vaid Giteaga lähemat tutvust sobitada ning see enda vajaduste järgi ära seadistada.
