เซิร์ฟเวอร์ HTTP Git ด้วย Nginx บน Debian 8

Git เป็นระบบควบคุมเวอร์ชัน (VCS) ที่ช่วยให้สามารถติดตามการเปลี่ยนแปลงของโค้ดได้ ในบทช่วยสอนนี้เราจะแนะนำการติดตั้งเซิร์ฟเวอร์ HTTP (S) Git และเพิ่มการตรวจสอบชื่อผู้ใช้ / รหัสผ่าน

ข้อกำหนดเบื้องต้น

  • เดเบียน 8 (เจสซี)
  • sudo
  • เครื่องมือแก้ไขข้อความที่คุณเลือก ( nano, vim)

การติดตั้งซอฟต์แวร์ที่จำเป็น

เราจะต้องnginx, git, fcgiwrapและ Apache httpd utils ไปข้างหน้าและพิมพ์ลงในเทอร์มินัล

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg จะไม่สามารถติดตั้ง Nginx หากกระบวนการอื่น (เช่น Apache) เชื่อมโยงกับพอร์ต 80 แล้ว

การสร้างไดเรกทอรี Git

สมมติว่าคุณต้องการสร้างไดเรกทอรี git ที่/var/www/gitคุณจะต้องเรียกใช้คำสั่งต่อไปนี้:

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

การกำหนดค่า Nginx

ตอนนี้เราต้องกำหนดค่า Nginx เพื่อส่งผ่าน Git traffic ไปยัง Git นี้สามารถเพิ่มไปยังการตั้งค่าเริ่มต้นที่กำหนดเองserver {}ที่หรือ/etc/nginx/conf.d/etc/nginx/sites-enabled

ต้องเพิ่มพารามิเตอร์และคำสั่งของไฟล์การกำหนดค่าตามลำดับที่แสดงด้านล่าง

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
}

หากคุณต้องการเก็บที่เก็บคอมไพล์ของคุณที่ไดเรกทอรีย่อยเช่น http://your-domain.com/reposทำบรรทัดแรกlocation ~ /repos(/.*) {มันคือ regex

ตรวจสอบให้แน่ใจว่าserver_nameคำสั่งในตัวคุณserver {}ไม่ได้ขัดแย้งกับสิ่งอื่นใดหรืออย่างอื่น Nginx จะไม่ผ่านการร้องขอ

การเพิ่มการพิสูจน์ตัวตนด้วยรหัสผ่าน

Nginx ยอมรับhtpasswdไฟล์Apache เพื่อสร้างพวกเราจะต้องดำเนินการคำสั่งต่อไปนี้:

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

คุณจะได้รับแจ้งให้ป้อนรหัสผ่านของคุณ หากต้องการเพิ่มผู้ใช้เพิ่มเติมให้ทำ:

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

หนึ่งขั้นตอนสุดท้าย

ตรวจสอบให้แน่ใจว่าได้โหลด Nginx เพื่อใช้การเปลี่ยนแปลงทั้งหมดโดยการเรียกใช้:

sudo service nginx reload

ตอนนี้คุณมีเซิร์ฟเวอร์ Git ส่วนตัวแล้ว! สนุก.

(ไม่บังคับ) สร้างสคริปต์ที่เริ่มต้นที่เก็บ Git

โปรดทราบว่าwww-data(บัญชีผู้ใช้ที่ FastCGI ทำงานอยู่) จะต้องมีการเข้าถึงแบบอ่านและเขียนในที่เก็บ Git การสร้างสคริปต์จะช่วยประหยัดอาการปวดหัวในภายหลัง

เปิดไฟล์สคริปต์ของคุณเช่น /var/www/git/gitinit.shและวางต่อไปนี้:

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

คุณสามารถเรียกใช้สคริปต์เช่นนี้:

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

อย่าลืมอนุญาตให้มีการดำเนินการโดยการเรียกใช้:

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

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true