เซิร์ฟเวอร์ 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


Leave a Comment

ตั้งค่า NFS Share บน Debian

ตั้งค่า NFS Share บน Debian

NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Diaspora เป็นเครือข่ายโซเชียลที่ตระหนักถึงความเป็นส่วนตัวและเป็นโอเพ่นซอร์ส ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการตั้งค่าและกำหนดค่า po Diaspora

การติดตั้ง Fuel CMS บน Debian 9

การติดตั้ง Fuel CMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Thelia เป็นเครื่องมือโอเพ่นซอร์สสำหรับการสร้างเว็บไซต์ e-business และการจัดการเนื้อหาออนไลน์ที่เขียนด้วย PHP รหัสแหล่งที่มา Thelia i

การตั้งค่า Chroot บน Debian

การตั้งค่า Chroot บน Debian

บทความนี้จะสอนวิธีการติดตั้ง chroot jail บน Debian ฉันคิดว่าคุ���กำลังใช้ Debian 7.x หากคุณใช้ Debian 6 หรือ 8 สิ่งนี้อาจใช้งานได้

การติดตั้ง ownCloud 7 บน Debian 7

การติดตั้ง ownCloud 7 บน Debian 7

ownCloud เป็นบริการแบบ Dropbox ที่ทำงานบน VPS ของคุณเอง มันช่วยให้คุณควบคุมพื้นที่ผู้ใช้และคุณสมบัติอื่น ๆ ได้อย่างเต็มที่ คู่มือนี้จะถือว่าคุณ

เครื่องมือตรวจสอบที่ดีกว่าสำหรับ Ubuntu และ CentOS

เครื่องมือตรวจสอบที่ดีกว่าสำหรับ Ubuntu และ CentOS

บทนำระบบ Linux มาพร้อมกับเครื่องมือตรวจสอบตามค่าเริ่มต้นเช่นด้านบน df และ du ที่ช่วยตรวจสอบกระบวนการและพื้นที่ดิสก์ บ่อยครั้งแม้ว่าพวกเขาเท่

วิธีการติดตั้ง Golang 1.8.3 บน CentOS 7, Ubuntu 16.04 และ Debian 9

วิธีการติดตั้ง Golang 1.8.3 บน CentOS 7, Ubuntu 16.04 และ Debian 9

Golang เป็นภาษาโปรแกรมที่พัฒนาโดย Google ด้วยความเก่งกาจความเรียบง่ายและความน่าเชื่อถือทำให้ Golang กลายเป็นหนึ่งในประชากรที่มีชื่อเสียงมากที่สุด

การติดตั้ง Bolt CMS บน Debian 9 (Stretch)

การติดตั้ง Bolt CMS บน Debian 9 (Stretch)

ใช้ระบบที่แตกต่างกันอย่างไร Bolt เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Bolts นั้นโฮสต์บน GitHub คู่มือนี้จะแสดงวิธีการติดตั้ง Bolt CM

ตรวจสอบสถานะเซิร์ฟเวอร์ Debian ด้วย Munin

ตรวจสอบสถานะเซิร์ฟเวอร์ Debian ด้วย Munin

Munin เป็นเครื่องมือตรวจสอบเพื่อสำรวจกระบวนการและทรัพยากรในเครื่องของคุณและนำเสนอข้อมูลในกราฟผ่านเว็บอินเตอร์เฟส ใช้ followin

วิธีเปิดใช้งาน TLS 1.3 ใน Apache บน Debian 10

วิธีเปิดใช้งาน TLS 1.3 ใน Apache บน Debian 10

ใช้ระบบที่แตกต่างกันอย่างไร TLS 1.3 เป็นเวอร์ชันของโปรโตคอล Transport Layer Security (TLS) ที่เผยแพร่ในปี 2018 ตามมาตรฐานที่เสนอใน RFC 8446

การตั้งค่า Teamspeak 3 บน Debian Wheezy

การตั้งค่า Teamspeak 3 บน Debian Wheezy

บทความนี้จะแสดงวิธีการเรียกใช้เซิร์ฟเวอร์ Teamspeak 3 ภายใต้ Debian Wheezy ก่อนที่คุณจะเริ่มต้นด้วยคุณควรเตรียมความพร้อมกับ VPS ของคุณ ผม

วิธีการติดตั้ง PyroCMS บน Debian 9

วิธีการติดตั้ง PyroCMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร PyroCMS เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP รหัสที่มา PyroCMS โฮสต์บน GitHub ในคู่มือนี้ให้เดินผ่าน entir

การตั้งค่า Counter Strike: Source บน Debian

การตั้งค่า Counter Strike: Source บน Debian

ในคู่มือนี้เราจะตั้งค่า Counter Strike: เซิร์ฟเวอร์เกมต้นทางบน Debian 7 คำสั่งเหล่านี้ถูกทดสอบบน Debian 7 แต่พวกเขาก็ควรทำงาน

วิธีการกำหนดค่า Snort บนเดเบียน

วิธีการกำหนดค่า Snort บนเดเบียน

Snort เป็นระบบตรวจจับการบุกรุกเครือข่ายฟรี (IDS) ในเงื่อนไขที่เป็นทางการน้อยกว่าช่วยให้คุณสามารถตรวจสอบเครือข่ายของคุณสำหรับกิจกรรมที่น่าสงสัยในเวลาจริง

วิธีการติดตั้ง TextPattern CMS 4.6.2 บน Debian 9 LAMP VPS

วิธีการติดตั้ง TextPattern CMS 4.6.2 บน Debian 9 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร TextPattern CMS 4.6.2 เป็นระบบจัดการเนื้อหา (CMS) ที่ง่ายยืดหยุ่นและฟรีและโอเพ่นซอร์สที่ช่วยให้นักออกแบบเว็บไซต์

วิธีการติดตั้ง Dolibarr บน Debian 9

วิธีการติดตั้ง Dolibarr บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Dolibarr เป็นการวางแผนทรัพยากรขององค์กรโอเพ่นซอร์ส (ERP) และการจัดการลูกค้าสัมพันธ์ (CRM) สำหรับธุรกิจ Dolibarr

ติดตั้ง Mailcow บน Debian 7

ติดตั้ง Mailcow บน Debian 7

เกริ่นนำ Mailcow เป็นชุด mailserver ที่มีน้ำหนักเบาซึ่งมีหลายแพ็คเกจเช่น DoveCot, Postfix และแพ็คเกจโอเพ่นซอร์สอื่น ๆ Mailcow als

วิธีการติดตั้ง ModSecurity สำหรับ Nginx บน CentOS 7, Debian 8 และ Ubuntu 16.04

วิธีการติดตั้ง ModSecurity สำหรับ Nginx บน CentOS 7, Debian 8 และ Ubuntu 16.04

ModSecurity เป็นโมดูลโอเพนซอร์สของเว็บแอพพลิเคชันไฟร์วอลล์ (WAF) ซึ่งเหมาะสำหรับการปกป้อง Apache, Nginx และ IIS จากการโจมตีทางไซเบอร์ต่างๆ

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

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน