HTTP Git Server Dengan Nginx di Debian 8

Git adalah sistem kontrol versi (VCS) yang memungkinkan pelacakan perubahan kode. Dalam tutorial ini, kita akan berjalan melalui menginstal server HTTP (S) Git, dan menambahkan otentikasi nama pengguna / kata sandi.

Prasyarat

  • Debian 8 (Jessie).
  • Sudo .
  • Editor teks pilihan Anda ( nano, vim).

Menginstal perangkat lunak yang diperlukan

Kita akan membutuhkan nginx, git, fcgiwrapdan apache httpd util. Silakan dan ketik ke terminal.

sudo apt-get install nginx git fcgiwrap apache2-utils

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

Membuat direktori Git

Dengan asumsi 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, kebiasaan server {}di /etc/nginx/conf.datau /etc/nginx/sites-enabled.

Parameter dan arahan file konfigurasi harus ditambahkan sesuai urutan yang tercantum di bawah ini.

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
}

Jika Anda ingin memiliki repositori git Anda di sub-direktori yaitu. http://your-domain.com/reposbuat baris pertama location ~ /repos(/.*) {, itu regex.

Pastikan server_namearahan dalam Anda server {}tidak berbenturan dengan hal lain atau Nginx tidak akan meneruskan permintaan.

Menambahkan otentikasi kata sandi

Nginx menerima htpasswdfile Apache , untuk membuatnya, kita perlu menjalankan perintah berikut:

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

Anda akan diminta memasukkan kata sandi Anda. Untuk menambah lebih banyak pengguna, lakukan:

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

Satu langkah terakhir

Pastikan untuk memuat ulang Nginx untuk menerapkan semua perubahan dengan menjalankan:

sudo service nginx reload

Anda sekarang memiliki server Git pribadi! Nikmati.

(Opsional) Buat skrip yang menginisialisasi repositori Git

Harap dicatat bahwa www-data(akun pengguna yang dijalankan FastCGI) harus memiliki akses baca dan tulis ke repositori Git, membuat skrip sekarang menyimpan sakit kepala nanti.

Buka file skrip Anda yaitu. /var/www/git/gitinit.shdan rekatkan yang berikut ini:

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

Anda dapat menjalankan skrip seperti ini:

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

Ingatlah untuk mengizinkan eksekusi dengan menjalankan:

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


Leave a Comment

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.