Git

Konfigurasikan Pelayan Git dengan HTTP di Ubuntu

Konfigurasikan Pelayan Git dengan HTTP di Ubuntu
Sekiranya anda ingin menyediakan Pelayan HTTP Git untuk bekerja dengan repositori Git secara peribadi, maka artikel ini sesuai untuk anda.  Dalam artikel ini, saya akan menunjukkan kepada anda cara mengkonfigurasi pelayan HTTP Git Smart di Ubuntu dengan pelayan HTTP Apache. Oleh itu, mari kita mulakan.

Memasang Pelayan HTTP Git dan Apache:

Pakej Git dan Apache boleh didapati di repositori pakej rasmi Ubuntu. Oleh itu, anda boleh memasangnya dengan mudah dengan pengurus pakej APT.

Pertama, kemas kini cache repositori pakej APT dengan arahan berikut:

$ sudo apt kemas kini

Cache repositori pakej APT harus dikemas kini.

Sekarang, pasang Git dan Apache dengan arahan berikut:

$ sudo apt install git apache2 apache2-utils

Sekarang, tekan Y dan kemudian tekan untuk mengesahkan pemasangan.

Git dan Apache harus dipasang.

Mengkonfigurasi Pelayan HTTP Apache untuk Git:

Sekarang, aktifkan Apache mod_env, mod_cgi, mod_alias dan mod_rewrite modul dengan arahan berikut:

$ sudo a2enmod env cgi alias menulis semula

Modul Apache yang diperlukan harus diaktifkan.

Sekarang, buat direktori baru / var / www / git kerana menyimpan semua repositori Git dengan arahan berikut:

$ sudo mkdir / var / www / git

Sekarang, buat konfigurasi laman Apache baru / etc / apache2 / laman web-tersedia / git.pengesahan untuk Git dengan arahan berikut:

$ sudo nano / etc / apache2 / sites-available / git.pengesahan

Sekarang, ketik baris berikut dalam fail konfigurasi:


Webmaster ServerAdmin @ localhost
 
TetapkanEnv GIT_PROJECT_ROOT / var / www / git
TetapkanEnv GIT_HTTP_EXPORT_ALL
SkripAlias ​​/ git / / usr / lib / git-core / git-http-backend /
 
Alias ​​/ git / var / www / git
 

Pilihan + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Tiada
Wajib semua diberikan

 
DocumentRoot / var / www / html
 

Pilihan Indeks FollowSymLinks MultiViews
AllowOverride Tiada
Wajib semua diberikan

 
 
KesalahanLog $ APACHE_LOG_DIR / ralat.balak
LogLevel memberi amaran
CustomLog $ APACHE_LOG_DIR / akses.log digabungkan

Fail konfigurasi akhir kelihatan seperti berikut. Sekarang, simpan fail konfigurasi dengan menekan + X diikuti oleh Y dan .

Sekarang, lumpuhkan konfigurasi laman Apache lalai dengan arahan berikut:

$ sudo a2dissite 000-default.pengesahan

Konfigurasi laman web lalai harus dilumpuhkan.

Sekarang, aktifkan konfigurasi laman Git dengan arahan berikut:

$ sudo a2ensite git.pengesahan

Konfigurasi laman Git harus diaktifkan.

Sekarang, mulakan semula pelayan HTTP Apache dengan arahan berikut:

$ sudo systemctl mulakan semula apache2

Untuk bootstrap repositori Git baru yang dapat diakses melalui pelayan HTTP Apache, anda harus menjalankan beberapa perintah. Anda tidak mahu melakukan perkara yang sama berulang-ulang hanya untuk membuat repositori Git baru. Oleh itu, saya memutuskan untuk menulis skrip shell untuk tujuan tersebut.

Pertama, buat skrip shell baru / usr / local / bin / git-create-repo.sh dengan arahan berikut:

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

Sekarang, ketik baris kod berikut dalam skrip shell.

#!/ 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
sentuh git-daemon-export-ok
cp hook / pasca kemas kini.contoh cangkuk / pasca kemas kini
git config http.beg terima benar
git kemas kini-pelayan-maklumat
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
gema "Git repositori '$ REPO_NAME' dibuat dalam $ GIT_DIR / $ REPO_NAME.git "

Sebaik sahaja anda menaip baris ini, skrip shell akan kelihatan seperti berikut. Sekarang, simpan fail dengan menekan + X diikuti oleh Y dan .

Sekarang, tambahkan izin eksekusi ke skrip shell dengan perintah berikut:

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

Sekarang, buat repositori Git baru ujian dalam akar projek Git / var / www / git menggunakan git-buat-repo.sh skrip shell seperti berikut:

$ sudo git-create-repo.ujian sh

Repositori Git ujian harus dibuat.

Untuk mengakses repositori Git, anda memerlukan alamat IP pelayan Git HTTP.

$ ip a

Seperti yang anda lihat, alamat IP dalam kes saya adalah 192.168.21.208. Ia akan berbeza bagi anda. Gantikannya dengan milik anda mulai sekarang.

Sekarang, anda boleh mengklon ujian Git repositori seperti berikut:

$ git klon http: // 192.168.21.208 / git / ujian.git

Repositori Git ujian harus diklon.

Sekarang, mari tambah komitmen baru ke ujian Git repositori.

$ cd ujian /
$ echo "Hello World"> halo
$ git tambah .
$ git komit -m 'komit awal'

Sekarang, muat naik perubahan ke ujian Git repositori di pelayan seperti berikut:

$ git tolak asal

Seperti yang anda lihat, perubahannya dimuat dengan baik.

Mengkonfigurasi Pengesahan Pengguna:

Di bahagian ini, saya akan menunjukkan kepada anda cara mengkonfigurasi pengesahan pengguna di repositori Git di pelayan.

Pertama, edit git.pengesahan fail konfigurasi laman web seperti berikut:

$ sudo nano / etc / apache2 / sites-available / git.pengesahan

Sekarang, tambahkan bahagian berikut dalam fail konfigurasi.


Asas Jenis Auth
AuthName "Pengesahan Git"
AuthUserFile / etc / apache2 / git.kata laluan
Memerlukan pengguna yang sah

Di sini, / etc / apache2 / git.kata laluan adalah fail pangkalan data pengguna.

Fail konfigurasi akhir akan kelihatan seperti berikut. Sekarang, simpan fail dengan menekan + X diikuti oleh Y dan .

Sekarang, buat fail pangkalan data pengguna baru / etc / apache2 / git.kata laluan dan tambahkan pengguna baru (katakan penyodok) ke fail pangkalan data seperti berikut:

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

Sekarang, taipkan kata laluan baru untuk pengguna baru dan tekan .

Taip semula kata laluan yang sama dan tekan .

Pasangan kata laluan pengguna harus ditambahkan ke pangkalan data.

Sekarang, mulakan semula pelayan HTTP Apache dengan arahan berikut:

$ sudo systemctl mulakan semula apache2

Sekarang, jika anda cuba mengklon ujian repositori sekali lagi, anda akan diminta untuk mengesahkan seperti yang anda lihat dalam tangkapan skrin di bawah.

Setelah anda mengesahkan menggunakan nama pengguna dan kata laluan, anda akan dapat mengakses repositori Git.

Walaupun anda cuba menolak atau menarik dari repositori Git, anda juga akan diminta untuk nama pengguna dan kata laluan.

Setelah anda mengesahkan, tekan / tarik akan berfungsi.

Anda juga boleh menetapkan pangkalan data pengguna yang berbeza untuk repositori Git yang berbeza. Ini mungkin berguna untuk projek di mana banyak orang bekerjasama di repositori Git yang sama.

Untuk menetapkan pengesahan Git repositori, pertama, edit git.pengesahan fail konfigurasi laman web seperti berikut:

$ sudo nano / etc / apache2 / sites-available / git.pengesahan

Sekarang, tambahkan baris berikut dalam fail konfigurasi.


Asas Jenis Auth
AuthName "Pengesahan Git"
AuthUserFile / etc / apache2 / git.ujian.kata laluan
Memerlukan pengguna yang sah

 

Asas Jenis Auth
AuthName "Pengesahan Git"
AuthUserFile / etc / apache2 / git.ujian2.kata laluan
Memerlukan pengguna yang sah

Untuk setiap repositori Git ujian dan ujian2, a bahagian ditakrifkan. Fail pangkalan data pengguna yang berbeza digunakan untuk setiap repositori Git.

Fail konfigurasi akhir akan kelihatan seperti berikut. Sekarang, simpan fail konfigurasi dengan menekan + X diikuti oleh Y dan .

Sekarang, anda boleh membuat pangkalan data pengguna yang diperlukan seperti berikut:

$ sudo htpasswd -c / etc / apache2 / git.ujian.kata laluan USERNAME
$ sudo htpasswd -c / etc / apache2 / git.ujian2.kata laluan USERNAME

Setelah selesai, mulakan semula pelayan HTTP Apache dengan arahan berikut:

$ sudo systemctl mulakan semula apache2

Sekarang, setiap repositori Git harus mempunyai set pengguna sendiri yang dapat mengaksesnya.

Jadi, itulah cara anda mengkonfigurasi Pelayan Git dengan Pelayan HTTP Apache di Ubuntu. Terima kasih kerana membaca artikel ini.

Enjin Permainan Sumber Percuma dan Terbuka untuk Membangunkan Permainan Linux
Artikel ini akan merangkumi senarai enjin permainan sumber percuma dan terbuka yang dapat digunakan untuk mengembangkan permainan 2D dan 3D di Linux. ...
Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah penambahan kedua belas untuk siri Tomb Raider - francais permainan aksi-pengembaraan yang dibuat oleh Eidos Montreal....
Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...