Git

Git Sunucusunu CentOS 8'de HTTP ile Yapılandırın

Git Sunucusunu CentOS 8'de HTTP ile Yapılandırın
Bu yazıda, Git depolarınızı özel olarak barındırmak için CentOS 8'de Git Smart HTTP sunucusunu nasıl yapılandıracağınızı göstereceğim. Öyleyse başlayalım.

Git ve Apache HTTP Sunucusunu Kurma:

İlk olarak, CentOS 8 paket deposu önbelleğini aşağıdaki komutla güncelleyin:

$ sudo dnf önbellek

Şimdi Git, Apache HTTP sunucusu ve Apache araçlarını aşağıdaki komutla kurun:

$ sudo dnf git httpd httpd araçlarını kurun

Şimdi basın Y ve ardından basın kurulumu onaylamak için.

Git, Apache ve gerekli Apache araçları kurulmalıdır.

Apache HTTP Sunucusunu Yapılandırma:

Bu bölümde, HTTP protokolü üzerinden Git depolarına erişmek için Apache sunucusunu nasıl yapılandıracağınızı göstereceğim.

İlk olarak, yeni bir yapılandırma dosyası oluşturun /etc/httpd/conf.d/git.konf aşağıdaki komutla:

$ sudo vi /etc/httpd/conf.d/git.konf

Şimdi, yapılandırma dosyasına aşağıdaki satırları ekleyin /etc/httpd/conf.d/git.konf:


SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
DocumentRoot /var/www/git
ScriptAlias ​​/ /usr/libexec/git-core/git-http-backend/
 

Seçenekler +ExecCGI -MultiViews +SymLinksIfOwnerMatch
İzin Ver Geçersiz Kıl Yok
Tüm izinleri iste


Dav On
Seçenekler Dizinler FollowSymLinks
İzin Ver Geçersiz Kıl Yok
Tüm izinleri iste

Son yapılandırma dosyası aşağıdaki gibi görünmelidir. Şimdi, yapılandırma dosyasını kaydedin.

Şimdi, oluştur GIT_PROJECT_ROOT dizin /var/www/git aşağıdaki komutla:

$ sudo mkdir /var/www/git

Şimdi, SELinux'u şu şekilde yapılandırın: /var/www/git aşağıdaki komutla dizin:

$ sudo semanage fcontext -m -t httpd_sys_rw_content_t
"/var/www/git(/.*)?"

SELinux değişikliklerinin etkili olması için aşağıdaki komutu çalıştırın:

$ sudo restorecon -Rv /var/www/git

Şimdi, aşağıdaki komutla Apache HTTP sunucu hizmetini yeniden başlatın:

$ sudo systemctl httpd'yi yeniden başlat

Ayrıca, aşağıdaki komutla Apache HTTP sunucu hizmetini CentOS 8 sistem başlangıcına ekleyin:

$ sudo systemctl httpd'yi etkinleştir

Şimdi, aşağıdaki komutla HTTP bağlantı noktasına (80) dosya duvarından izin verin:

$ sudo güvenlik duvarı-cmd --add-service=http --kalıcı

Değişikliklerin etkili olması için güvenlik duvarını aşağıdaki şekilde yeniden yükleyin:

$ sudo güvenlik duvarı-cmd -- yeniden yükle

HTTP Erişilebilir Git Depoları Oluşturmak İçin Daha Kolay Bir Komut Dosyası Yazma:

HTTP erişilebilir Git depoları oluşturmayı kolaylaştırmak için, değerli zamanınızdan çok tasarruf etmek için kullanabileceğiniz basit bir kabuk komut dosyası yazdım.

Komut dosyamı kullanmak istiyorsanız, yolda yeni bir dosya oluşturun /usr/sbin/git-crate-repo aşağıdaki komutla:

$ sudo vi /usr/sbin/git-create-repo

Ardından, yeni oluşturulan dosyaya aşağıdaki kod satırlarını yazın /usr/sbin/git-crate-repo.

#!/bin/bash
GIT_DIR="/var/www/git"
REPO_NAME=1$
mkdir -p "$GIT_DIR/$REPO_NAME.git"
cd "$GIT_DIR/$REPO_NAME.git"
git init --bare &> /dev/null
git-daemon-export-ok'a dokunun
cp kancaları/güncelleme sonrası.örnek kancalar/güncelleme sonrası
git yapılandırma http.alıcı paketi doğru
git yapılandırma http.yükleme paketi gerçek
git güncelleme-sunucu bilgisi
chown -Rf apache:apache "$GIT_DIR/$REPO_NAME.git"
echo "Git deposu '$REPO_NAME' $GIT_DIR/$REPO_NAME içinde oluşturuldu.git"

Son kabuk betiği böyle görünüyor. İşiniz bittiğinde dosyayı kaydedin.

Şimdi, kabuk komut dosyasına yürütülebilir izin ekleyin /usr/sbin/git-create-repo aşağıdaki komutla:

$ sudo chmod +x /usr/sbin/git-create-repo

HTTP Erişilebilir Git Depoları Oluşturun:

Artık yeni bir HTTP erişilebilir Git deposu oluşturabilirsiniz (haydi diyelim Ölçek) aşağıdaki komutla:

$ sudo git-create-repo testi

Yeni bir HTTP erişilebilir Git deposu Ölçek sandıklı olmalı.

Git Depolarına Git sunucusundan erişme:

CentOS 8 Git sunucunuzda oluşturduğunuz Git depolarına erişmek için, CentOS 8 Git sunucusunun IP adresine ve Git deposu adına ihtiyacınız vardır.

Git sunucusu yöneticisi, Git sunucusunun IP adresini aşağıdaki komutla bulabilir:

$ nmcli

Benim durumumda, IP adresi 192.168.20.129. Senin için farklı olacak. Bu nedenle, bundan sonra sizinkiyle değiştirdiğinizden emin olun.

Git sunucusu yöneticisi IP adresini bulduğunda, Git sunucusunda barındırılan Git depolarını kullanacak kullanıcılara/geliştiricilere gönderebilir. Ardından kullanıcılar/geliştiriciler istedikleri Git depolarına erişebilir.

örneğin, eğer bob Git deposunu klonlamak istiyor Ölçek Git sunucusundan bunu aşağıdaki gibi yapabilir:

$ git klonu http://192.168.20.129/test.git

Git deposu Ölçek Git sunucusundan klonlanmalıdır.

Yeni bir dizin Ölçek/ bob'un mevcut çalışma dizininde oluşturulmalıdır.

Şimdi, bob şuraya gidebilir: Ölçek/ dizin şu şekilde:

$ cd testi/

Şimdi, bob yeni bir dosya oluşturuyor İleti.Txt Git deposunda.

$ echo 'linuxhint'ten merhaba' >> mesajı.Txt

Bob değişiklikleri taahhüt eder.

$ git ekle .

$ git commit -m 'ilk taahhüt'

Bob, değişikliklerin depoya kaydedilip gerçekleştirilmediğini onaylar.

$ git günlüğü --oneline

Bob, değişiklikleri Git sunucusuna yükler.

$ git itme kaynağı

Başka bir geliştirici (diyelim ki Şovon) katkıda bulunmak isteyenler Ölçek Git deposu ayrıca Ölçek Git sunucusundan depo.

$ git klonu http://192.168.20.129/test.git

Shovon şuraya gider: Ölçek/ dizin.

$ cd testi/

Shovon, bob'un yaptığı taahhüdü buldu.

Şimdi, shovon mesajı değiştiriyor.robots.txt dosyası.

$ echo 'shovon bazı yeni metinler ekledi' >> mesajı.Txt

Değişiklikleri taahhüt eder.

$ git ekle .

$ git commit -m 'yeni bir mesaj ekledi'

Shovon, değişikliklerin depoya kaydedilip gerçekleştirilmediğini onaylar.

$ git günlüğü --oneline

Shovon, değişiklikleri Git sunucusuna yükler.

$ git itme kaynağı

Şimdi bob değişiklikleri Git sunucusundan alıyor.

$ git çek

Bob yeni taahhüdü bulur.

$ git günlüğü --oneline

Bob, Shovon'un mesajda yaptığı değişiklikleri bulur.robots.txt dosyası.

Git depolarını Git HTTP sunucusundan bu şekilde kullanabilirsiniz.

Git Sunucusuna Kullanıcı Kimlik Doğrulaması Ekleme:

Sunucu genelindeki Git depolarına veya belirli Git depolarına kullanıcı kimlik doğrulaması eklemek istiyorsanız, Ubuntu'da Git Sunucusunu HTTP ile Yapılandırma makalesine bakın.

Git Smart HTTP Sunucusunu CentOS 8'de bu şekilde yapılandırır ve Git sunucusundan Git depolarını kullanırsınız. Bu makaleyi okuduğunuz için teşekkürler.

Daha Önce Bir Linux Sürümü Olmayan Linux için HD Remastered Oyunlar
Birçok oyun geliştiricisi ve yayıncısı, franchise'ın ömrünü uzatmak için eski oyunların HD remaster'ı ile geliyor, lütfen modern donanımla uyumluluk i...
Linux Oyunlarını Otomatikleştirmek için AutoKey Nasıl Kullanılır?
AutoKey, Linux ve X11 için Python 3, GTK ve Qt'de programlanmış bir masaüstü otomasyon aracıdır. Komut dosyası oluşturma ve MAKRO işlevselliğini kulla...
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...