Android

วิธีการตั้งค่าเซิร์ฟเวอร์ git

เวก้าผับ ฉบับพิเศษ

เวก้าผับ ฉบับพิเศษ

สารบัญ:

Anonim

เมื่อพูดถึง Git hosting คุณมีตัวเลือกมากมาย GitHub, Gitlab และ Bitbucket เป็นโซลูชั่นยอดนิยม แต่การใช้งานเซิร์ฟเวอร์ Git ของคุณนั้นเป็นทางเลือกที่คุ้มค่า

การตั้งค่าเซิร์ฟเวอร์ Git ช่วยให้คุณสร้างที่เก็บส่วนตัวโดยไม่มีข้อ จำกัด ของแผนฟรีของผู้ให้บริการ

ในคู่มือนี้เราอธิบายวิธีตั้งค่าเซิร์ฟเวอร์ Git เปล่าบน Linux การตั้งค่านี้ดีถ้าคุณมีที่เก็บน้อยและผู้ทำงานร่วมกันเข้าใจเทคโนโลยี มิฉะนั้นคุณควรลองติดตั้งแอปพลิเคชั่น git ที่โฮสต์เองเช่น Gitea, Gogs หรือ Gitlab

เซิร์ฟเวอร์ Git สามารถตั้งค่าบนเครื่อง Linux ระยะไกลหรือแม้แต่ในระบบท้องถิ่นของคุณ

การตั้งค่าเซิร์ฟเวอร์ Git

ขั้นตอนแรกคือการติดตั้ง Git บนเซิร์ฟเวอร์ของคุณ

sudo apt update && sudo apt install git

ในการติดตั้งแพ็คเกจ git บนเซิร์ฟเวอร์ CentOS ให้พิมพ์:

sudo yum install git

ถัดไปสร้างผู้ใช้ใหม่ที่จะจัดการที่เก็บ Git:

sudo useradd -r -m -U -d /home/git -s /bin/bash git

โฮมไดเร็กทอรีของผู้ใช้ถูกตั้งค่าเป็น /home/git ที่เก็บข้อมูลทั้งหมดจะถูกเก็บไว้ในไดเรกทอรีนี้ เราไม่ได้ตั้งรหัสผ่านสำหรับผู้ใช้ "git" การเข้าสู่ระบบจะทำได้โดยใช้ปุ่ม ssh เท่านั้น

สลับไปยังผู้ใช้“ git” โดยใช้คำสั่ง su :

sudo su - git

รันคำสั่งต่อไปนี้เพื่อสร้างไดเร็กทอรี SSH และตั้งค่าการอนุญาตที่ถูกต้อง:

mkdir -p ~/.ssh && chmod 0700 ~/.ssh

สร้างไฟล์ชื่อ ~/.ssh/authorized_keys ซึ่งจะเก็บคีย์ SSH ของผู้ใช้ที่ได้รับอนุญาต:

touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys

แค่นั้นแหละ. การตั้งค่าเซิร์ฟเวอร์เสร็จสมบูรณ์ คุณพร้อมที่จะสร้างที่เก็บ Git แห่งแรกของคุณแล้ว

รันคำสั่งต่อไปนี้เพื่อเริ่มต้นพื้นที่เก็บข้อมูลใหม่ที่ว่างเปล่า:

git init --bare ~/projectname.git

คุณสามารถตั้งชื่อไดเรกทอรีได้ตามต้องการ สิ่งสำคัญคือการสร้างพื้นที่เก็บข้อมูลภายใต้ไดเรกทอรีบ้านของผู้ใช้“ git”

Initialized empty Git repository in /home/git/projectname.git/

การกำหนดค่า Local Git Repository

เพื่อให้สามารถผลักดันการเปลี่ยนแปลง git ในระบบไปยังเซิร์ฟเวอร์ Git คุณจะต้องเพิ่มกุญแจสาธารณะ SSH ของผู้ใช้ท้องถิ่นของคุณไปยังไฟล์ authorized_keys ของผู้ใช้“ git” ระยะไกล

cat ~/.ssh/id_rsa.pub

ผลลัพธ์ควรมีลักษณะดังนี้:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

ในการสร้างคู่คีย์ SSH ใหม่ให้ใช้คำสั่งต่อไปนี้:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

คัดลอกเอาต์พุตจากคำสั่ง cat ด้านบนและกลับไปที่คอนโซลเซิร์ฟเวอร์ Git

บนเซิร์ฟเวอร์ให้เปิดเท็กซ์เอดิเตอร์ของคุณและวางพับลิกคีย์ที่คุณคัดลอกจากเครื่องโลคัลของคุณลงในไฟล์ ~/.ssh/authorized_keys :

sudo nano /home/git/.ssh/authorized_keys

ข้อความกุญแจสาธารณะทั้งหมดควรอยู่ในบรรทัดเดียว

เราสมมติว่าแพ็คเกจ Git ได้รับการติดตั้งในเครื่องของคุณแล้ว ถ้าไม่ติดตั้งในลักษณะเดียวกับที่อธิบายไว้ในส่วนก่อนหน้า

cd /path/to/local/project

เริ่มต้นพื้นที่เก็บข้อมูล git:

git init.

ขั้นตอนสุดท้ายคือการเพิ่ม git remote เข้ากับที่เก็บในเครื่องของคุณ:

git remote add origin git@git_server_ip:projectname.git

อย่าลืมแทนที่ git_server_ip ด้วยชื่อโฮสต์เซิร์ฟเวอร์หรือที่อยู่ IP ของคุณ

หากต้องการตรวจสอบว่าทุกอย่างถูกตั้งค่าอย่างถูกต้องให้สร้างไฟล์ทดสอบ:

touch test_file

เพิ่มการเปลี่ยนแปลงในพื้นที่จัดเตรียม:

git add.

ยอมรับการเปลี่ยนแปลง:

git commit -m "descriptive message"

พุชการเปลี่ยนแปลงที่เก็บโลคัลไปยังที่เก็บรีโมต:

git push -u origin master

หากการตั้งค่าทุกอย่างถูกต้องผลลัพธ์ควรมีลักษณะดังนี้:

Counting objects: 3, done. Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To git_server_ip:projectname.git * master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.

หากต้องการเพิ่มผู้ทำงานร่วมกันใหม่เพียงคัดลอกคีย์ SSH สาธารณะไปยังไฟล์ ~/.ssh/authorized_keys ของผู้ใช้“ git”

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

ข้อสรุป

ในบทช่วยสอนนี้เราได้แสดงวิธีการตั้งค่าเซิร์ฟเวอร์ Git ส่วนตัวของคุณเองและสร้างที่เก็บข้อมูล