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
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
Ş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/bashGIT_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
Ş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 birGö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
Ş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
Son yapılandırma dosyası aşağıdaki gibi görünmelidir. Şimdi, düğmesine basarak yapılandırma dosyasını kaydedin
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.