Memasang Pelayan HTTP Git dan Apache:
Pertama, kemas kini cache repositori pakej CentOS 8 dengan arahan berikut:
$ sudo dnf makecache
Sekarang, pasang Git, pelayan HTTP Apache dan alat Apache dengan arahan berikut:
$ sudo dnf memasang alat git httpd httpd
Sekarang, tekan Y dan kemudian tekan
Alat Git, Apache dan Apache yang diperlukan harus dipasang.
Mengkonfigurasi Pelayan HTTP Apache:
Di bahagian ini, saya akan menunjukkan kepada anda cara mengkonfigurasi pelayan Apache untuk mengakses repositori Git melalui protokol HTTP.
Pertama, buat fail konfigurasi baru / etc / httpd / conf.d / git.pengesahan dengan arahan berikut:
$ sudo vi / etc / httpd / conf.d / git.pengesahan
Sekarang, tambahkan baris berikut ke fail konfigurasi / etc / httpd / conf.d / git.pengesahan:
TetapkanEnv GIT_PROJECT_ROOT / var / www / git
TetapkanEnv GIT_HTTP_EXPORT_ALL
DocumentRoot / var / www / git
SkripAlias / / usr / libexec / git-core / git-http-backend /
Pilihan + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Tiada
Wajib semua diberikan
Dav On
Pilihan Indeks FollowSymLinks
AllowOverride Tiada
Wajib semua diberikan
Fail konfigurasi akhir akan kelihatan seperti berikut. Sekarang, simpan fail konfigurasi.
Sekarang, buat GIT_PROJECT_ROOT direktori / var / www / git dengan arahan berikut:
$ sudo mkdir / var / www / git
Sekarang, konfigurasikan SELinux untuk / var / www / git direktori dengan arahan berikut:
$ sudo semanage fcontext -m -t httpd_sys_rw_content_t"/ var / www / git (/.*)?"
Agar perubahan SELinux berlaku, jalankan arahan berikut:
$ sudo restorecon -Rv / var / www / git
Sekarang, mulakan semula perkhidmatan pelayan HTTP Apache dengan arahan berikut:
$ sudo systemctl mulakan semula httpd
Juga, tambahkan perkhidmatan pelayan HTTP Apache ke permulaan sistem CentOS 8 dengan arahan berikut:
$ sudo systemctl mengaktifkan httpd
Sekarang, izinkan port HTTP (80) melalui dinding fail dengan arahan berikut:
$ sudo firewall-cmd --add-service = http --permanent
Agar perubahan berlaku, muat semula firewall seperti berikut:
$ sudo firewall-cmd --muat semula
Menulis Skrip untuk Membuat Repositori Git yang Boleh Diakses HTTP Lebih Mudah:
Untuk membuat pembuatan repositori Git yang boleh diakses HTTP lebih mudah, saya telah menulis skrip shell sederhana yang boleh anda gunakan untuk menjimatkan banyak masa berharga anda.
Sekiranya anda ingin menggunakan skrip saya, buat fail baru di jalan / usr / sbin / git-crate-repo dengan arahan berikut:
$ sudo vi / usr / sbin / git-create-repo
Kemudian masukkan baris kod berikut dalam fail 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
cp hook / pasca kemas kini.contoh cangkuk / pasca kemas kini
git config http.beg terima benar
git config http.muat naik benar
git kemas kini-pelayan-maklumat
chown -Rf apache: apache "$ GIT_DIR / $ REPO_NAME.git "
gema "Git repositori '$ REPO_NAME' dibuat dalam $ GIT_DIR / $ REPO_NAME.git "
Ini adalah seperti skrip shell akhir. Setelah selesai, simpan fail.
Sekarang, tambahkan kebenaran yang dapat dilaksanakan ke skrip shell / usr / sbin / git-create-repo dengan arahan berikut:
$ sudo chmod + x / usr / sbin / git-create-repo
Buat Repositori Git yang Boleh Diakses HTTP:
Sekarang, anda boleh membuat repositori Git yang boleh diakses HTTP baru (mari kita sebut ujian) dengan arahan berikut:
$ sudo git-create-repo test
Repositori Git yang boleh diakses HTTP baru ujian harus dikafankan.
Mengakses Git Repositori dari pelayan Git:
Untuk mengakses repositori Git yang telah anda buat di pelayan CentOS 8 Git anda, anda memerlukan alamat IP pelayan CentOS 8 Git dan nama repositori Git.
Pentadbir pelayan Git dapat mencari alamat IP pelayan Git dengan arahan berikut:
$ nmcliDalam kes saya, alamat IP adalah 192.168.20.129. Ia akan berbeza bagi anda. Oleh itu, pastikan untuk menggantinya dengan milik anda mulai sekarang.
Setelah pentadbir pelayan Git menemui alamat IP, dia dapat mengirimkannya kepada pengguna / pembangun yang akan menggunakan repositori Git yang dihoskan di pelayan Git. Kemudian pengguna / pembangun dapat mengakses repositori Git yang mereka inginkan.
Contohnya, jika bob mahu mengklon repositori Git ujian dari pelayan Git, dia boleh melakukannya seperti berikut:
$ git klon http: // 192.168.20.129 / ujian.git
Repositori Git ujian harus diklon dari pelayan Git.
Direktori baru ujian / harus dibuat dalam direktori kerja bob terkini.
Sekarang, bob boleh menavigasi ke ujian / direktori seperti berikut:
$ cd ujian /
Sekarang, bob membuat fail baru mesej.txt di repositori Git.
$ echo 'hello from linuxhint' >> mesej.txt
Bob melakukan perubahan.
$ git tambah .$ git komit -m 'komit awal'
Bob mengesahkan sama ada perubahan tersebut dilakukan pada repositori.
$ git log - talian
Sekarang, bob memuat naik perubahan ke pelayan Git.
$ git tolak asal
Pembangun lain (katakan penyodok) yang ingin menyumbang kepada ujian Git repositori juga dapat mengklon ujian repositori dari pelayan Git.
$ git klon http: // 192.168.20.129 / ujian.git
Shovon menavigasi ke ujian / direktori.
$ cd ujian /
Shovon menemui komitmen yang dibuat oleh bob.
Sekarang, shovon menukar mesej.fail txt.
$ echo 'shovon menambah beberapa teks baru' >> mesej.txt
Melakukan perubahan.
$ git tambah .$ git commit -m 'menambah beberapa mesej baru'
Shovon mengesahkan sama ada perubahan tersebut dilakukan pada repositori.
$ git log - talian
Shovon memuat naik perubahan ke pelayan Git.
$ git tolak asal
Sekarang, bob menarik perubahan dari pelayan Git.
$ git tarik
Bob menemui komitmen baru.
$ git log - talian
Bob menemui perubahan yang dibuat oleh Shovon pada mesej tersebut.fail txt.
Ini adalah bagaimana anda boleh menggunakan repositori Git dari pelayan Git HTTP.
Menambah Pengesahan Pengguna ke Pelayan Git:
Sekiranya anda ingin menambahkan pengesahan pengguna ke repositori Git seluruh pelayan atau repositori Git tertentu, maka periksa artikel Konfigurasikan Pelayan Git dengan HTTP di Ubuntu.
Jadi, begitulah cara anda mengkonfigurasi Pelayan HTTP Git Smart di CentOS 8 dan menggunakan repositori Git dari pelayan Git. Terima kasih kerana membaca artikel ini.