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
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
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 / 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 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
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 aSeperti 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 asalSeperti 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
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.pengesahanSekarang, 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
Fail konfigurasi akhir akan kelihatan seperti berikut. Sekarang, simpan fail konfigurasi dengan menekan
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.