Paano i-install ang Gitea para magkaroon ng lokal na Git server

Huling pag-update: 3 Septiyembre 2026
May-akda: TecnoDigital
  • Ang Gitea ay isang magaan na alternatibo sa GitLab at GitHub na kumokonsumo ng napakakaunting mga mapagkukunan ng system.
  • Ang instalasyon ay batay sa isang executable binary na pinamamahalaan bilang isang serbisyo sa pamamagitan ng SystemD.
  • Mahalaga ang paggamit ng reverse proxy sa Nginx upang paganahin ang ligtas na pag-access sa pamamagitan ng HTTPS.
  • Pinapayagan nito ang paglipat ng mga umiiral na repositoryo mula sa ibang mga platform habang pinapanatili ang mga isyu at tag.

Mga rack ng server sa isang data center, na kumakatawan sa imprastraktura ng isang lokal na Git server.

Kung pagod ka nang umasa sa mga patakaran, gastos, o availability ng mga higanteng kumpanya tulad ng GitHub o GitLab, ang pagbuo ng sarili mong imprastraktura ang solusyon. Ang pagkakaroon ng Git server sa bahay o sa sarili mong opisina ay nagbibigay sa iyo ng mga susi sa kaharian: ganap na kontrol sa code , ganap na pamamahala ng access, at ang kapanatagan ng loob dahil wala kang mga limitasyon mula sa ibang partido sa iyong mga pribadong repositoryo.

Sa lahat ng mga opsyon na magagamit, ang Gitea ay namumukod-tangi bilang isang hiyas. Ito ay isang tool na nakasulat sa Go, na ginagawa itong napakagaan at mabilis , mainam para sa mga ayaw maglaan ng 16 GB ng RAM sa isang Git server. Hindi tulad ng GitLab, na isang barkong pandagat na mayaman sa features ngunit masinsinang gumagamit ng resources, ang Gitea ay parang isang speedboat: diretso ito sa punto, kakaunti ang resources na ginagamit, at nag-aalok ng pamilyar na interface para sa sinumang gumamit ng GitHub.

Mabilisang paghahambing: Gitea, GitLab, at Forgejo

Isang software engineer na nagko-configure ng server gamit ang laptop sa isang server room.

Bago tayo magsimula sa pag-install, mahalagang malaman muna natin kung ano ang ating papasukin. Ang GitLab ang pangunahing opsyon para sa mga enterprise, mainam para sa malalaking team na nangangailangan ng integrated CI/CD, ngunit nangangailangan ito ng malakas na hardware. Sa kabilang banda, ang Gitea ang pinakamahusay na pagpipilian para sa mga simpleng server o personal na proyekto dahil sa napakaliit nitong memory footprint. Panghuli, nariyan ang Forgejo, isang community fork ng Gitea; kung ikaw ay isang purista sa free software at mas gusto ang open governance na walang corporate overtones, ito ang alternatibo para sa iyo.

  Ano ang isang server at kung paano ito gumagana: Mga uri at katangian

Ano ang kailangan mo bago ka magsimula

Laptop computer na nagpapakita ng mga linya ng code sa isang modernong workspace, mainam para sa paglalarawan ng pamamahala ng Git repository.

Para matiyak na maayos ang lahat, siguraduhing mayroon kang Linux server (Ubuntu, Debian, o Rocky Linux) na may root access. Mahalaga ring magkaroon ng naka-install na Git sa makina, at bagama't pinapayagan ng Gitea ang paggamit ng SQLite, para sa mga production environment, ang PostgreSQL o MariaDB ay lubos na inirerekomenda upang garantiyahan ang katatagan ng data.

Paghahanda ng lupa sa sistema

Malapitang pagtingin sa pagprograma ng kamay gamit ang keyboard, na kumakatawan sa pagbuo ng software at paggamit ng Gitea.

Hindi magandang ideya ang pagpapatakbo ng Gitea bilang root para sa mga kadahilanang pangseguridad. Pinakamainam na lumikha ng isang dedikadong user. Magagawa mo ito sa pamamagitan ng pagpapatakbo ng command na adduser --system --shell /bin/bash --group --home /home/gitea gitea. Mahalagang gamitin ito /bin/bash bilang shell dahil kailangang makipag-ugnayan ang Gitea sa git-shell sa pamamagitan ng SSH. Kung wala ka pang naka-install na Git, isang simpleng apt install git mabilis na malulutas ang problema.

Binary na pag-install at istruktura ng folder

Detalye ng mga Ethernet cable na nakakonekta sa isang network switch, na naglalarawan ng network configuration at reverse proxy.

Maaaring i-install ang Gitea sa iba't ibang paraan, ngunit ang binary ang pinakasimple. Dapat mong hanapin ang pinakabagong stable na bersyon sa opisyal nitong website at i-download ito gamit ang [method/method]. wget en /usr/local/bin/giteaibibigay ito mamaya isagawa ang mga pahintulot gamit ang chmod +xPara gumana nang tama ang programa, dapat lumikha ng isang serye ng mga partikular na direktoryo: /etc/gitea para sa pag-configure at /var/lib/gitea para sa mga pasadyang data, log, at file. Huwag kalimutang isaayos ang mga pahintulot sa ari-arian (chown) para makasulat sa kanila ang gumagamit na gitea.

Pag-configure ng database

Kung pipiliin mo ang PostgreSQL, kakailanganin mong i-install ang package at lumikha ng isang partikular na role na may malakas na password, bilang karagdagan sa database. giteadb gamit ang UTF8 encoding. Kung mas gusto mo ang MariaDB, ang proseso ay magkatulad: ikaw ang gagawa ng database at ng user, tinitiyak na ang Ang storage engine ay InnoDB at nakikinig ang server sa port 3306.

  Suporta sa MCP server sa isang GNOME environment: isang kumpletong gabay

Awtomasyon gamit ang SystemD

Para maiwasan ang manu-manong pagsisimula ng Gitea sa tuwing ire-restart mo ang server, mainam na gumawa ng drive file sa... /etc/systemd/system/gitea.serviceSinasabi ng file na ito sa sistema na Dapat patakbuhin ang Gitea bilang isang serbisyopagtukoy sa user, group, at binary path. Kapag nagawa na, patakbuhin lang systemctl enable --now gitea at magsisimulang makinig ang server, bilang default, sa port 3000.

Ang unang pakikipag-ugnayan sa web interface

Nang pumasok http://tu-ip:3000Pagkatapos ay makikita mo ang setup wizard. Dito mo ikokonekta ang database (tinutukoy ang host, username, at password) at tinutukoy ang pangkalahatang mga setting ng site, tulad ng pangalan ng instance at base URL. Panahon na rin para i-configure ang SSH server at magdesisyon kung gusto mong may makapagrehistro o kung mas gusto mo... huwag paganahin ang pampublikong pag-log para mapanatiling pribado ang server.

Seguridad at propesyonal na pag-access gamit ang Nginx

Ang pag-access sa Gitea sa pamamagitan ng port 3000 ay hindi episyente at hindi ligtas. Ang mainam na solusyon ay ang pag-set up ng reverse proxy gamit ang Nginx . Nagbibigay-daan ito sa mga user na ma-access ang site sa pamamagitan ng isang domain (hal., git.yourdomain.com) at tinitiyak na ang lahat ng trapiko ay naka-encrypt gamit ang Let's Encrypt SSL certificates . Sa configuration ng Nginx, i-redirect lang ang trapiko mula sa port 443 patungo sa port 3000 ng Gitea, idinaragdag ang mga X-Forwarded-For header upang maiwasan ang pagkawala ng totoong IP address ng client.

Pamamahala ng gumagamit at paglipat ng code

Kung hindi mo pinagana ang open logging, maaari mong likhain ang unang administrator gamit ang command line na may command na gitea admin user createKapag nasa loob na, maaari mo nang idagdag ang iyong mga pampublikong SSH key sa profile ng gumagamit para mag-clone ng mga repository nang hindi inilalagay ang password sa bawat pagkakataon. Kung mayroon ka nang code sa GitHub, ang Gitea ay mayroong pinagsamang kagamitan sa paglipat Awtomatiko nitong ini-import hindi lamang ang code, kundi pati na rin ang mga isyu at tag.

  Paano i-automate ang mga daloy ng trabaho gamit ang n8n at Docker

Pagpapanatili at pag-tune

Napakadali lang ng pagpapanatili ng Gitea. Para mag-update, i-download lang ang bagong binary, palitan ang luma, at i-restart ang serbisyo. Para sa mga backup, gamitin ang command na gitea dump ay ang iyong matalik na kaibigan, dahil ito ay lumilikha ng isang naka-compress na file na naglalaman ng lahat ng bagayDatabase, configuration, at mga repository. Para sa email, maaari mong i-configure ang isang panlabas na SMTP server (tulad ng Gmail) o i-install ang Postfix sa server upang makatanggap ng mga abiso ng mga pull request at alerto.

Ang pagpapatupad ng Gitea ay nagbibigay-daan sa iyo na magkaroon ng isang matatag, magaan, at ganap na pribadong platform ng pagkontrol ng bersyon, na nag-aalis ng pagdepende sa mga panlabas na serbisyo sa pamamagitan ng isang binary-based na pag-install, isang na-optimize na database, at isang reverse proxy na ginagarantiyahan ang seguridad ng trapiko sa pamamagitan ng HTTPS.