Menginstal Git dan Apache HTTP Server:
Pertama, perbarui cache repositori paket CentOS 8 dengan perintah berikut:
$ sudo dnf makecache
Sekarang, instal Git, server HTTP Apache, dan alat Apache dengan perintah berikut:
$ sudo dnf install git httpd httpd-tools
Sekarang, tekan kamu lalu tekan
Git, Apache, dan alat Apache yang diperlukan harus diinstal.
Konfigurasi Apache HTTP Server:
Di bagian ini, saya akan menunjukkan cara mengkonfigurasi server Apache untuk mengakses repositori Git melalui protokol HTTP.
Pertama, buat file konfigurasi baru /etc/httpd/conf.d/git.konf dengan perintah berikut:
$ sudo vi /etc/httpd/conf.d/git.konf
Sekarang, tambahkan baris berikut ke file konfigurasi /etc/httpd/conf.d/git.konf:
SetEnv GIT_PROJECT_ROOT /var/www/git
AturEnv GIT_HTTP_EXPORT_ALL
DocumentRoot /var/www/git
ScriptAlias //usr/libexec/git-core/git-http-backend/
Opsi +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AllowOverride Tidak Ada
Membutuhkan semua diberikan
Dav On
Indeks Pilihan FollowSymLinks
AllowOverride Tidak Ada
Membutuhkan semua diberikan
File konfigurasi akhir akan terlihat sebagai berikut:. Sekarang, simpan file konfigurasi.
Sekarang, buat GIT_PROJECT_ROOT direktori /var/www/git dengan perintah berikut:
$ sudo mkdir /var/www/git
Sekarang, konfigurasikan SELinux untuk /var/www/git direktori dengan perintah berikut:
$ sudo semanage fcontext -m -t httpd_sys_rw_content_t"/var/www/git(/.*)?"
Agar perubahan SELinux diterapkan, jalankan perintah berikut:
$ sudo restorecon -Rv /var/www/git
Sekarang, restart layanan server HTTP Apache dengan perintah berikut:
$ sudo systemctl restart httpd
Juga, tambahkan layanan server HTTP Apache ke startup sistem CentOS 8 dengan perintah berikut:
$ sudo systemctl aktifkan httpd
Sekarang, izinkan port HTTP (80) melalui filewall dengan perintah berikut:
$ sudo firewall-cmd --add-service=http --permanent
Agar perubahan diterapkan, muat ulang firewall sebagai berikut:
$ sudo firewall-cmd --reload
Menulis Skrip untuk Membuat Repositori Git yang Dapat Diakses HTTP Lebih Mudah:
Untuk membuat repositori Git yang dapat diakses HTTP lebih mudah, saya telah menulis skrip shell sederhana yang dapat Anda gunakan untuk menghemat banyak waktu berharga Anda.
Jika Anda ingin menggunakan skrip saya, buat file baru di jalur /usr/sbin/git-crate-repo dengan perintah berikut:
$ sudo vi /usr/sbin/git-create-repo
Kemudian ketikkan baris kode berikut di file yang baru dibuat /usr/sbin/git-crate-repo.
#!/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
sentuh git-daemon-export-ok
kait cp/pasca-pembaruan.contoh kait/pasca-pembaruan
git konfigurasi http.paket terima benar
git konfigurasi http.uploadpack benar
git update-server-info
chown -Rf apache:apache "$GIT_DIR/$REPO_NAME.git"
echo "Repositori Git '$REPO_NAME' dibuat di $GIT_DIR/$REPO_NAME.git"
Seperti inilah tampilan skrip shell terakhir. Setelah selesai, simpan file.
Sekarang, tambahkan izin yang dapat dieksekusi ke skrip shell /usr/sbin/git-create-repo dengan perintah berikut:
$ sudo chmod +x /usr/sbin/git-create-repo
Buat Repositori Git yang Dapat Diakses HTTP:
Sekarang, Anda dapat membuat repositori Git baru yang dapat diakses HTTP (sebut saja uji) dengan perintah berikut:
$ sudo git-create-repo test
Repositori Git baru yang dapat diakses HTTP uji harus dikurung.
Mengakses Repositori Git dari server Git:
Untuk mengakses repositori Git yang telah Anda buat di server CentOS 8 Git Anda, yang Anda butuhkan adalah alamat IP server CentOS 8 Git dan nama repositori Git.
Administrator server Git dapat menemukan alamat IP server Git dengan perintah berikut:
$nmcliDalam kasus saya, alamat IP adalah 192.168.20.129. Ini akan berbeda untukmu. Jadi, pastikan untuk menggantinya dengan milikmu mulai sekarang.
Setelah administrator server Git menemukan alamat IP, ia dapat mengirimkannya ke pengguna/pengembang yang akan menggunakan repositori Git yang dihosting di server Git. Kemudian pengguna/pengembang dapat mengakses repositori Git yang mereka inginkan.
Misalnya, jika bob ingin mengkloning repositori Git uji dari server Git, ia dapat melakukannya sebagai berikut:
$ git klon http://192.168.20.129/tes.git
Repositori Git uji harus dikloning dari server Git.
Direktori baru uji/ harus dibuat di direktori kerja bob.
Sekarang, bob dapat menavigasi ke uji/ direktori sebagai berikut:
$cd tes/
Sekarang, bob membuat file baru pesan.txt di repositori Git.
$ echo 'halo dari linuxhint' >> pesan.txt
Bob melakukan perubahan.
$ git tambahkan .$ git commit -m 'komit awal'
Bob mengonfirmasi apakah perubahan dilakukan ke repositori.
$ git log --oneline
Sekarang, bob mengunggah perubahan ke server Git.
$ git push asal
Pengembang lain (katakanlah shovon) yang ingin berkontribusi pada uji Repositori Git juga dapat mengkloning uji repositori dari server Git.
$ git klon http://192.168.20.129/tes.git
Shovon menavigasi ke uji/ direktori.
$cd tes/
Shovon menemukan komitmen yang dibuat bob.
Sekarang, shovon mengubah pesannya.file txt.
$ echo 'shovon menambahkan beberapa teks baru' >> pesan.txt
Melakukan perubahan.
$ git tambahkan .$ git commit -m 'menambahkan beberapa pesan baru'
Shovon mengonfirmasi apakah perubahan dilakukan ke repositori.
$ git log --oneline
Shovon mengunggah perubahan ke server Git.
$ git push asal
Sekarang, bob menarik perubahan dari server Git.
$ git tarik
Bob menemukan komit baru.
$ git log --oneline
Bob menemukan perubahan yang dibuat Shovon pada pesan.file txt.
Ini adalah bagaimana Anda dapat menggunakan repositori Git dari server HTTP Git.
Menambahkan Otentikasi Pengguna ke Git Server:
Jika Anda ingin menambahkan autentikasi pengguna ke repositori Git di seluruh server atau repositori Git tertentu, lihat artikel Konfigurasi Git Server dengan HTTP di Ubuntu.
Jadi, begitulah cara Anda mengkonfigurasi Git Smart HTTP Server di CentOS 8 dan menggunakan repositori Git dari server Git. Terima kasih telah membaca artikel ini.