Chapters ā–¾ 2nd Edition

4.5 Server’də Git - Git Daemon

Git Daemon

Daha sonra biz ā€œGitā€ protokolundan istifadə edərək daemon xidməti gƶstərən depolar quracağıq. Bu sizin Git datanıza girmək üçün sürətli təsdiqlənməmiş yoldur. Yadda saxlayın ki, bu təsdiqlənməmiş servis olduğu üçün bu protokol üzərindən xidmət etdiyiniz hər şey onun şəbəkəsində publikdir. ʏgər siz bunu təhlükəsizlik divarınızdan kənarda edirsinizsə, onda bu mütləq dünyaya gƶrünən proyektlər üçün istifadə olunmalıdır. Lakin əgər bu serveri təhlükəsizlik divarınızdan iƧəridə edirsinizsə, onu bir Ƨox read-only girişi olan insanlar və kompyuterlər (davamlı inteqrasiya və ya tikinti servisi) üçün SSH key istifadə etmək istəməyəndə istifadə edə bilərsiniz. Hər şəkildə Git protokolu quraşdırılması Ƨox asandır. Sadəcə olaraq siz bu commandı demonized mannerdə qoşmalısınız:

$ git daemon --reuseaddr --base-path=/srv/git/ /srv/git/

--base-path seƧimi insanlara bütün path’i dəqiqləşdirmədən proyektləri klonlamağa imkan verir və sonda path Git daemon’a ixrac edilməli depoları harada axtarmalı olduğunu deyərkən, --reuseaddr seƧimi isə serverin kƶhnə əlaqənin vaxtının bitməsini gƶzləmədən yenilənməsinə icazə verir. ʏgər siz təhlükəsizlik divarı işlədirsinizsə, siz həmƧinin qoşduğunuz qutudakı 9418 port’unda dəlik aƧmalısınız.

Siz bu prosesi işlətdiyiniz əməliyyat sistemindən asılı olaraq bir neƧə yolla daemonize edə bilərsiniz.

systemd müasir Linux distribyutorlarında ən ümumi sistem olduğu üçün siz onu bu məqsədlə istifadə edə bilərsiniz. Asanlıqla faylı aşağıdakı məzmunla /etc/systemd/system/git-daemon.service daxil edin.

[Unit]
Description=Start Git Daemon

[Service]
ExecStart=/usr/bin/git daemon --reuseaddr --base-path=/srv/git/ /srv/git/

Restart=always
RestartSec=500ms

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=git-daemon

User=git
Group=git

[Install]
WantedBy=multi-user.target

Fikir versəniz burada Git daemon həm istifadəƧi, həm də qrup üçün git ilə başlayır. Onu sizə lazım olduğu kimi dəyişdirin və əmin olun ki, təmin olunan istifadəƧi (provided user) sistemdə mƶvcuddur. Eyni zamanda, /usr/bin/git də yerləşən Git binary’ni yoxlayın və əgər ehtiyac varsa path’i dəyişdirin.

Son olaraq, ƶn yükləmədəki servisi (service on boot) avtomatik başlatmaq üçün systemctl enable git-daemon-u və ayrılıqda servisi başlatmaq və dayandırmaq üçün systemctl start git-daemon və systemctl stop git-daemon-u qoşacaqsınız.

Digər sistemlərdə siz həmƧinin sizin sysvinit sisteminizdəki xinetd sənədini (script) və ya başqa - aldığınız əmr demonized olduğu və ya baxıldığı müddətcə - istifadə edə bilərsiniz.

Daha sonra, Git’ə hansı depoların Git server bazasına təsdiqlənməmiş girişinə icazə verildiyini deməlisiniz. Bunu hər depoda git-daemon-export-ok adlı fayl yaradaraq edə bilərsiniz.

$ cd /path/to/project.git
$ touch git-daemon-export-ok

Həmin faylın mƶvcud olması Git’ə bu proyektin təsdiqlənmədən xidmət edilməsinin mümkün olduğunu deyir.

scroll-to-top