Ki jan yo enstale Gitea sou Ubuntu 20.04 ak SQLite 3

Gitea se yon pakè lojisyèl forge sous louvri pou hosting kontwòl vèsyon devlopman lojisyèl lè l sèvi avèk Git ak lòt karakteristik kolaborasyon tankou swiv ensèk, wikis ak revizyon kòd. Li sipòte oto-hosting men tou li bay yon egzanp premye pati piblik gratis akomode nan Lachin sou nwaj DiDi a. Gitea tou gen yon anprint memwa ki pi piti pase Gitlab epi li se yon lojisyèl trè rekòmande pou konpayi ak devlopè sou sistèm ki ba.

Nan gid sa a, ou pral aprann ki jan yo enstale ak konfigirasyon Gitea sou Ubuntu 20.04 lè l sèvi avèk baz done a SQLite 3. Sipoze ou pa te enstale SQLite 3 anvan. Ezite tcheke gid nou an sou Enstale SQLite 3 ak navigatè SQLite 3 nan Ubuntu 20.04.

Kondisyon

  • SQLite 3 Database enstale.
  • Ubuntu 20.04.2.0 LTS (Focal Fossa) Sèvè oswa Desktop
  • Aksè rasin oswa privilèj itilizatè Sudo.
  • Git enstale sou sèvè ou.
  • wget oswa curl enstale

Tcheke epi mete ajou sistèm Ubuntu ou a.

sudo apt update && sudo apt upgrade -y

Enstale SQLite 3, swiv nou an gide pou pi bon detay.

sudo apt install sqlite3

Enstale Git. Swiv gid nou an sou kòman yo enstale dènye vèsyon an Git sou Ubuntu 20.04.

sudo apt install git

Anfen, asire w ke swa curl oswa wget enstale.

sudo apt install wget curl

reklam


Kreye itilizatè Git pou kouri Gitea

Anvan sote twò lwen devan, premye etap la se kreye yon itilizatè Git ki pral kouri aplikasyon an Gitea. Pou kreye yon nouvo kont itilizatè Git, tape lòd sa a.

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

Ou ta dwe jwenn pwodiksyon sa a:

~$ sudo adduser \
   --system \
      --shell /bin/bash \
      --gecos 'Git Version Control' \
      --group \
      --disabled-password \
      --home /home/git \
      git
   [sudo] password for bytesboss: 
   Adding system user git' (UID 129) ... Adding new groupgit' (GID 136) …
   Adding new user git' (UID 129) with groupgit' …
   Creating home directory `/home/git' … 

Telechaje Gitea

Apre sa, vizite Gitea la paj telechaje a epi jwenn vèsyon an ki kostim achitekti Ubuntu. Kounye a, vèsyon 1.14.3 se dènye vèsyon Gitea. Sepandan, sa a pral chanje sou tan. Yon fwa ou jwenn lyen ki ajou, telechaje pake a lè l sèvi avèk lòd wget la jan sa a.

wget https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

Telechaje a se apeprè jis plis pase 100MB. Yon fwa fè, deplase dosye binè a nan kote final li epi ba li pèmisyon pou egzekite pou ou ka kontinye nan faz enstalasyon an.

sudo mv gitea-1.14.3-linux-amd64 /usr/local/bin \
 sudo mv gitea-1.14.3-linux-amd64 gitea \
 sudo chmod +x gitea

reklam


Kreye Gitea Anyè

Ou pral bezwen kreye repèrtwar yo tèt ou pou Gitea. Anba a se estrikti anyè rekòmande ki se "rekòmande” pa Gitea. Antre sa ki annapre yo pou fè repèrtwar ou yo.

sudo mkdir -p /var/lib/gitea/{custom,data,log} \
 sudo chown -R git:git /var/lib/gitea/ \
 sudo chmod -R 750 /var/lib/gitea/ \
 sudo mkdir /etc/gitea \
 sudo chown root:git /etc/gitea \
 sudo chmod 770 /etc/gitea \

Remake byen, anyè "/etc/gitea" se kounye a sou pèmisyon chmod 777. Sa a se fè pou enstalasyon an ka kontinye san pwoblèm san okenn okèt. Yon fwa fè, w ap bezwen chanje sa a nan yon pèmisyon chmod ki pi an sekirite.

Kreye Gitea Systemd Sèvis

Apre sa, enstale ak kouri Gitea, w ap bezwen fè yon fichye Systemd. Telechaje youn Gitea bay la pa mande okenn koreksyon lè w antre kòmandman sa a.

wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/

Koulye a, rechaje demon ou a epi pèmèt sèvis Gitea systemd la.

sudo systemctl daemon-reload && sudo systemctl enable --now gitea

Apre sa, verifye si Gitea ap kouri e ke pa gen okenn erè ki te fèt. Pwoblèm ki pi komen se moun ki bliye mete anyè. Si ou wè sa a, Lè sa a, tounen yon kèk etap epi repete pwosesis la daemon-rechaje.

Pwodiksyon an ta dwe sanble ak sa ki anba a si yo mete kòrèkteman.

$ sudo systemctl status gitea
 ● gitea.service - Gitea (Git with a cup of tea)
      Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
      Active: active (running) since Sat 2021-06-26 22:47:23 PDT; 7s ago
    Main PID: 3214 (gitea)
       Tasks: 8 (limit: 4617)
      Memory: 184.9M
      CGroup: /system.slice/gitea.service
              └─3214 /usr/local/bin/gitea web --config /etc/gitea/app.ini

reklam


Mete kanpe Gitea atravè UI Web

Yon fwa sèvis Gitea a ap fonksyone san pwoblèm, pwosesis sa a lanse UI entènèt la pou fini enstalasyon an. Pa default, Gitea koute pò 3000 sou tout koòdone rezo yo.

UFW

Si ou gen UFW, ou bezwen pèmèt pò a jan pou pi ba a.

sudo ufw allow 3000/tcp

Web UI

Louvri navigatè Entènèt ou a epi tape adrès IP sèvè a ki akomode ak:3000 kòm pò a.

Egzanp:

http://192.168.53.101:3000

Si ou te etabli règ la pèmèt pò kòrèkteman, ou pral vin nan ekran sa a anba a.

ubuntu 20.04 gitea web ui premye paj anviwònman

W ap bezwen modifye paramèt yo jan pi ba a. Remake byen ke sa yo ka chanje fasil pita sou.

Anviwònman baz done:

  •     Kalite baz done: SQLite3
  •     Chemen: Sèvi ak yon chemen absoli, /var/lib/gitea/data/gitea.db

Anviwònman Jeneral Aplikasyon:

  •     Tit sit: Antre non òganizasyon w lan.
  •     Path Rasin Repository: Kite default var/lib/gitea/data/gitea-repositories.
  •     Chemen rasin Git LFS: Kite default /var/lib/gitea/data/lfs. 
  •     Kouri kòm non itilizatè: git
  •     Domèn sèvè SSH: Antre domèn ou oswa adrès IP sèvè ou.
  •     Pò SSH: 22, chanje li si SSH ap koute sou lòt Port
  •     Gitea HTTP Koute Port: 3000
  •     Gitea Baz URL: Sèvi ak http ak adrès IP domèn ou oswa sèvè ou.
  •     Chemen Log: Kite default /var/lib/gitea/log la

Yon fwa yo fini, ou ka frape "Enstale Gitea” bouton ki sitiye nan pati anba a nan paj la anviwònman.

gita enstale kounye a ubuntu 20.04

Yon fwa enstalasyon an fini, ou pral re-dirije nan yon paj login. Ou pral bezwen anrejistre yon kont ki pral otomatikman vin premye enskri kont administratè a.

ubuntu 20.04 lts kont admin Gitea

Ou te kreye yon kont admin sou sèvis Gitea, epi ou gen tout bagay mete sou pye. Li ta ede si ou kounye a sekirize dosye ou yo. Kòm eksplike nan kòmansman an nan gid la, yo te fè 777 pou yon enstalasyon lis. Apre sa, antre nan lòd sa a pou chanje otorizasyon yo an sekirite.

sudo chmod 750 /etc/gitea && sudo chmod 640 /etc/gitea/app.ini

Felisitasyon, ou byen enstale Gitea sou sistèm operasyon Ubuntu 20.04 LTS ou a.

Mete kanpe Gitea Imèl Notifikasyon

Gitea ka voye notifikasyon pa imel. Ou ka enstale Postfix oswa nenpòt lòt pake ki sèvi ak kòmandman lapòs estanda. Pou pèmèt notifikasyon yo louvri dosye sa a lè l sèvi avèk editè nano:

sudo nano /etc/gitea/app.ini

Apre sa, modifye modèl sa a anba a ak non itilizatè ou an, modpas ak detay sèvè SMTP ou.

[mailer]
 ENABLED = true
 HOST    = SMTP_SERVER:SMTP_PORT
 FROM    = SENDER_EMAIL
 USER    = SMTP_USER
 PASSWD  = YOUR_SMTP_PASSWORD

Yon fwa fini, rekòmanse sèvis Gitea la.

sudo systemctl restart gitea

Li rekòmande pou ale nan UI entènèt la, konekte nan kont admin ou, epi voye yon imèl tès pou verifye ke tout bagay ap fonksyone kòrèkteman. Chemen pou fè sa se Administrasyon > Konfigirasyon > Konfigirasyon SMTP Mailer.


reklam


Mete Nginx kòm yon proxy SSL ranvèse pou Gitea

Pwochen etap la rekòmande si sèvi Gitea deyò yon rezo entèn. Nenpòt bagay ki gen koneksyon deyò yo ta dwe mete kanpe ak SSL epi sekirize lè w ap kominike ak backend ou a.

Premyèman, kreye yon nouvo fichye konfigirasyon pou sit Gitea ou a oswa modifye yon sèl ki egziste deja:

sudo nano /etc/nginx/sites-enabled/gitea.conf

Lè sa a, antre sa ki annapre yo. Sa a se yon gid sèlman. SSL ka fè ak sèvis tankou CloudFlare or Se pou yo ankripte.

server {
   listen 80;
   server_name git.example.com;
   include snippets/letsencrypt.conf;
server {
   listen 80;
   server_name git.example.com;
   include snippets/letsencrypt.conf;
   return 301 https://git.example.com$request_uri;
 }
 server {
   listen 443 ssl http2;
   server_name git.example.com;
   proxy_read_timeout 720s;
   proxy_connect_timeout 720s;
   proxy_send_timeout 720s;
   client_max_body_size 50m;
 # Proxy headers
   proxy_set_header X-Forwarded-Host $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
   proxy_set_header X-Real-IP $remote_addr;

# SSL parameters
   ssl_certificate /etc/letsencrypt/live/git.example.com/fullchain.pem;
   ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
   ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
   include snippets/letsencrypt.conf;
   include snippets/ssl.conf;

# log files
   access_log /var/log/nginx/git.example.com.access.log;
   error_log /var/log/nginx/git.example.com.error.log;

# Handle / requests
   location / {
   proxy_redirect off;
   proxy_pass http://127.0.0.1:3000;
  }
 }

Ki jan yo ajou Gitea

Pou mete ajou enstalasyon Gitea ou a, tout sa ki bezwen fè se re-telechaje dernye fichye binè Gitea la, repete premye etap yo nan kòmansman gid la. Egzanp dechaj la jan pi ba a:

Sispann sèvis Gitea la:

sudo systemctl stop gitea

Telechaje dènye vèsyon Gitea a epi deplase li nan "/ usr / lokal / bin” anyè:

VERSION=
 wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
 sudo mv /tmp/gitea /usr/local/bin

Fè Gitea dosye binè ègzekutabl dapre kòmansman enstriksyon yo nan gid sa a.

sudo chmod +x /usr/local/bin/gitea

Rekòmanse sèvis Gitea la:

sudo systemctl restart gitea

reklam


Kòmantè ak konklizyon

Gid la te montre w kouman enstale Gitea sou Ubuntu 20.04 LTS ak kondisyon debaz yo nan konfigirasyon. An jeneral, Gitea se yon moso lojisyèl solid ki devlope aktivman ak yon kominote trè aktif. Gen kèk nan karakteristik siplemantè yo enkli:

  • Fasil pou jere depo.
  • Itilize HTTP / HTTPS, Git ak SSH pwotokòl.
  • Mete ajou detanzantan.
  • Jesyon pwoblèm.
  • Tras tan pou kòd.
  • Vizyèl, senp pou itilize.
  • Ankouraje kolaborasyon nan entegre demann rale ak branch yo.

Si ou gen kesyon, santi yo lib yo kite yon kòmantè anba a.

Ban-m pran abònman
Notifye nan
0 kòmantè
Aliye komantè
Wè tout kòmantè
0
Ta renmen panse ou, tanpri fè kòmantè.x