Pelayan HTTP Git Dengan Nginx pada Debian 8

Git adalah sistem kawalan versi (VCS) yang membolehkan penjejakan perubahan kod. Dalam tutorial ini, kita akan melihat pemasangan pelayan GTP HTTP (S), dan menambahkan pengesahan nama pengguna / kata laluan.

Prasyarat

  • Debian 8 (Jessie).
  • Sudo .
  • Penyunting teks pilihan anda ( nano, vim).

Memasang perisian yang diperlukan

Kami memerlukan nginx, git, fcgiwrapdan apache httpd utils. Teruskan dan taip ke terminal.

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg akan gagal memasang Nginx jika proses lain (seperti Apache) sudah terikat ke port 80.

Membuat direktori Git

Dengan andaian anda ingin membuat direktori git di /var/www/git, anda perlu menjalankan perintah berikut:

mkdir /var/www/git
chown www-data:www-data /var/www/git # Make sure www-data (the user fastcgi runs) from has permissions.

Mengkonfigurasi Nginx

Sekarang kita perlu mengkonfigurasi Nginx untuk meneruskan lalu lintas Git ke Git. Ini dapat ditambahkan ke konfigurasi default, kustom server {}di /etc/nginx/conf.datau /etc/nginx/sites-enabled.

Parameter dan arahan fail konfigurasi mesti ditambah mengikut urutan yang disenaraikan di bawah.

location ~ (/.*) {
    client_max_body_size 0; # Git pushes can be massive, just to make sure nginx doesn't suddenly cut the connection add this.
    auth_basic "Git Login"; # Whatever text will do.
    auth_basic_user_file "/var/www/git/htpasswd";
    include /etc/nginx/fastcgi_params; # Include the default fastcgi configs
    fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; # Tells fastcgi to pass the request to the git http backend executable
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT /var/www/git; # /var/www/git is the location of all of your git repositories.
    fastcgi_param REMOTE_USER $remote_user;
    fastcgi_param PATH_INFO $1; # Takes the capture group from our location directive and gives git that.
    fastcgi_pass  unix:/var/run/fcgiwrap.socket; # Pass the request to fastcgi
}

Sekiranya anda ingin mempunyai git repositori anda di sub-direktori iaitu. http://your-domain.com/reposbuat baris pertama location ~ /repos(/.*) {, itu adalah regex.

Pastikan server_namearahan di dalam anda server {}tidak bertentangan dengan perkara lain atau Nginx tidak akan meneruskan permintaan.

Menambah pengesahan kata laluan

Nginx menerima htpasswdfail Apache , untuk membuatnya, kita perlu melaksanakan perintah berikut:

htpasswd -c /var/www/git/htpasswd <your username>

Anda akan diminta memasukkan kata laluan anda. Untuk menambahkan lebih banyak pengguna, lakukan:

htpasswd /var/www/git/htpasswd <another username>

Satu langkah terakhir

Pastikan memuat semula Nginx untuk menerapkan semua perubahan dengan menjalankan:

sudo service nginx reload

Anda kini mempunyai pelayan Git peribadi! Nikmati.

(Pilihan) Buat skrip yang menginisialisasi repositori Git

Harap maklum bahawa www-data(akaun pengguna yang dikendalikan oleh FastCGI) mesti mempunyai akses membaca dan menulis ke repositori Git, membuat skrip sekarang dapat menyelamatkan sakit kepala di kemudian hari.

Buka fail skrip anda iaitu. /var/www/git/gitinit.shdan tampal yang berikut:

#!/bin/sh
sudo -u www-data mkdir $1
cd $1
sudo -u www-data git init --bare

Anda boleh menjalankan skrip seperti ini:

cd /var/www/git
./gitinit.sh repo-name

Ingatlah untuk membenarkan pelaksanaan dengan menjalankan:

chmod +x /var/www/git/gitinit.sh


Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut