Git

Git Sunucusunu Ubuntu'da HTTP ile Yapılandırın

Git Sunucusunu Ubuntu'da HTTP ile Yapılandırın
Git depolarıyla özel olarak çalışmak için bir Git HTTP Sunucusu kurmak istiyorsanız, bu makale tam size göre.  Bu yazıda, Apache HTTP sunucusu ile Ubuntu üzerinde bir Git Smart HTTP sunucusunun nasıl yapılandırılacağını göstereceğim. Öyleyse başlayalım.

Git ve Apache HTTP Sunucusunu Kurma:

Git ve Apache paketleri, Ubuntu'nun resmi paket deposunda mevcuttur. Böylece APT paket yöneticisi ile kolayca kurabilirsiniz.

İlk olarak, APT paketi deposu önbelleğini aşağıdaki komutla güncelleyin:

$ sudo uygun güncelleme

APT paketi deposu önbelleği güncellenmelidir.

Şimdi Git ve Apache'yi aşağıdaki komutla kurun:

$ sudo apt git apache2 apache2-utils'i yükle

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

Git ve Apache kurulmalıdır.

Git için Apache HTTP Sunucusunu Yapılandırma:

Şimdi Apache'yi etkinleştirin mod_env, mod_cgi, mod_alias ve mod_rewrite aşağıdaki komutla modüller:

$ sudo a2enmod env cgi takma adı yeniden yazma

Gerekli Apache modülleri etkinleştirilmelidir.

Şimdi yeni bir dizin oluşturun /var/www/git tüm Git depolarını aşağıdaki komutla tutmak için:

$ sudo mkdir /var/www/git

Şimdi yeni bir Apache site yapılandırması oluşturun /etc/apache2/siteler kullanılabilir/git.konf Git için aşağıdaki komutla:

$ sudo nano /etc/apache2/siteler kullanılabilir/git.konf

Şimdi, yapılandırma dosyasına aşağıdaki satırları yazın:


SunucuYöneticisi web yöneticisi@localhost
 
SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias ​​/git/ /usr/lib/git-core/git-http-backend/
 
Takma ad /git /var/www/git
 

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

 
DocumentRoot /var/www/html
 

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

 
 
ErrorLog $APACHE_LOG_DIR/hata.günlük
LogLevel uyar
CustomLog $APACHE_LOG_DIR/erişim.günlük birleşik

Son yapılandırma dosyası aşağıdaki gibi görünüyor. Şimdi, düğmesine basarak yapılandırma dosyasını kaydedin + X bunu takiben Y ve .

Şimdi, aşağıdaki komutla varsayılan Apache site yapılandırmasını devre dışı bırakın:

$ sudo a2dissite 000-varsayılan.konf

Varsayılan site yapılandırması devre dışı bırakılmalıdır.

Şimdi Git site yapılandırmasını aşağıdaki komutla etkinleştirin:

$ sudo a2ensite git.konf

Git sitesi yapılandırması etkinleştirilmelidir.

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

$ sudo systemctl apache2'yi yeniden başlat

Apache HTTP sunucusu üzerinden erişilebilen yeni bir Git deposunu önyüklemek için birkaç komut çalıştırmanız gerekir. Sadece yeni bir Git deposu oluşturmak için aynı şeyi tekrar tekrar yapmak istemezsiniz. Bu amaçla bir kabuk betiği yazmaya karar verdim.

İlk önce yeni bir kabuk betiği oluşturun /usr/local/bin/git-create-repo.ş aşağıdaki komutla:

$ sudo nano /usr/local/bin/git-create-repo.ş

Şimdi, kabuk betiğine aşağıdaki kod satırlarını yazın.

#!/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 güncelleme-sunucu bilgisi
chown -Rf www-veri:www-data "$GIT_DIR/$REPO_NAME.git"
echo "Git deposu '$REPO_NAME' $GIT_DIR/$REPO_NAME içinde oluşturuldu.git"

Bu satırları yazdıktan sonra kabuk betiği aşağıdaki gibi görünmelidir. Şimdi, tuşuna basarak dosyayı kaydedin + X bunu takiben Y ve .

Şimdi, aşağıdaki komutla kabuk komut dosyasına yürütme izni ekleyin:

$ sudo chmod +x /usr/local/bin/git-create-repo.ş

Şimdi yeni bir Git deposu oluşturun Ölçek Git proje kökünde /var/www/git kullanmak git-create-repo.ş Shell betiği aşağıdaki gibi:

$ sudo git-create-repo.sh testi

Git deposu Ölçek oluşturulmalı.

Git deposuna erişmek için Git HTTP sunucusunun IP adresine ihtiyacınız vardır.

$ ip bir

Gördüğünüz gibi, benim durumumdaki IP adresi 192.168.21.208. Senin için farklı olacak. Şu andan itibaren seninkiyle değiştir.

Şimdi, klonlayabilirsiniz Ölçek Git deposu aşağıdaki gibi:

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

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

Şimdi, yeni bir taahhüt ekleyelim Ölçek Git deposu.

$ cd testi/
$ echo "Merhaba Dünya" > merhaba
$ git ekle .
$ git commit -m 'ilk taahhüt'

Şimdi, değişiklikleri şuraya yükleyin: Ölçek Sunucudaki Git deposu aşağıdaki gibidir:

$ git itme kaynağı

Gördüğünüz gibi, değişiklikler gayet iyi yüklendi.

Kullanıcı Kimlik Doğrulamasını Yapılandırma:

Bu bölümde, sunucudaki Git depolarında kullanıcı kimlik doğrulamasını nasıl yapılandıracağınızı göstereceğim.

İlk olarak, düzenleyin git.konf site yapılandırma dosyası aşağıdaki gibidir:

$ sudo nano /etc/apache2/siteler kullanılabilir/git.konf

Şimdi, yapılandırma dosyasına aşağıdaki bölümü ekleyin.


AuthType Temel
AuthName "Git Doğrulaması"
AuthUserFile /etc/apache2/git.şifre
Geçerli kullanıcı gerektir

Buraya, /etc/apache2/git.şifre kullanıcı veritabanı dosyasıdır.

Son yapılandırma dosyası aşağıdaki gibi görünmelidir. Şimdi, tuşuna basarak dosyayı kaydedin + X bunu takiben Y ve .

Şimdi yeni bir kullanıcı veritabanı dosyası oluşturun /etc/apache2/git.şifre ve yeni bir kullanıcı ekleyin (diyelim ki Şovon) aşağıdaki gibi veritabanı dosyasına:

$ sudo htpasswd -c /etc/apache2/git.passwd shovon

Şimdi, yeni kullanıcı için yeni bir şifre girin ve tuşuna basın .

Aynı şifreyi tekrar yazın ve tuşuna basın .

Kullanıcı-şifre çifti veritabanına eklenmelidir.

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

$ sudo systemctl apache2'yi yeniden başlat

Şimdi, klonlamaya çalışırsanız Ölçek depoyu tekrar, aşağıdaki ekran görüntüsünde görebileceğiniz gibi kimlik doğrulamanız istenecektir.

Kullanıcı adını ve şifreyi kullanarak kimlik doğrulaması yaptıktan sonra Git deposuna erişebileceksiniz.

Git deposundan itmeye veya çekmeye çalıştığınızda bile, kullanıcı adı ve şifre de sorulacaktır.

Kimlik doğrulaması yaptığınızda, Push/pull çalışacaktır.

Farklı Git depoları için farklı kullanıcı veritabanı da ayarlayabilirsiniz. Bu, birçok insanın aynı Git deposunda birlikte çalıştığı projeler için faydalı olabilir.

Git deposu bazında kimlik doğrulamasını ayarlamak için önce git.konf site yapılandırma dosyası aşağıdaki gibidir:

$ sudo nano /etc/apache2/siteler kullanılabilir/git.konf

Şimdi, yapılandırma dosyasına aşağıdaki satırları ekleyin.


AuthType Temel
AuthName "Git Doğrulaması"
AuthUserFile /etc/apache2/git.Ölçek.şifre
Geçerli kullanıcı gerektir

 

AuthType Temel
AuthName "Git Doğrulaması"
AuthUserFile /etc/apache2/git.test2.şifre
Geçerli kullanıcı gerektir

Her Git deposu için Ölçek ve test2, bir bölüm tanımlandı. Her Git deposu için farklı bir kullanıcı veritabanı dosyası kullanılır.

Son yapılandırma dosyası aşağıdaki gibi görünmelidir. Şimdi, düğmesine basarak yapılandırma dosyasını kaydedin + X bunu takiben Y ve .

Artık gerekli kullanıcı veritabanlarını aşağıdaki gibi oluşturabilirsiniz:

$ sudo htpasswd -c /etc/apache2/git.Ölçek.şifre KULLANICI ADI
$ sudo htpasswd -c /etc/apache2/git.test2.şifre KULLANICI ADI

İşiniz bittiğinde, aşağıdaki komutla Apache HTTP sunucusunu yeniden başlatın:

$ sudo systemctl apache2'yi yeniden başlat

Artık her Git deposunun kendisine erişebilecek kendi kullanıcı kümesi olmalıdır.

Git Sunucusunu Ubuntu'da Apache HTTP Sunucusu ile bu şekilde yapılandırırsınız. Bu makaleyi okuduğunuz için teşekkürler.

En son OpenRA Strateji Oyununu Ubuntu Linux'a yükleyin
OpenRA, klasik Command & Conquer: Red Alert gibi erken Westwood oyunlarını yeniden yaratan bir Libre/Free Gerçek Zamanlı Strateji oyun motorudur. Dağı...
Gamecube & Wii için en yeni Dolphin Emulator'ı Linux'a yükleyin
Dolphin Emulator, seçtiğiniz Gamecube & Wii oyunlarını Linux Kişisel Bilgisayarlarda (PC) oynamanıza izin verir. Ücretsiz olarak kullanılabilen ve aç...
Linux'ta GameConqueror Cheat Engine Nasıl Kullanılır
Makale, Linux'ta GameConqueror hile motorunu kullanma hakkında bir kılavuzu kapsar. Windows'ta oyun oynayan birçok kullanıcı, oyun deneyimini geliştir...