Cách thiết lập máy chủ Git riêng trên Linux

Máy chủ Git lưu trữ kho lưu trữ của một dự án, nơi chứa mã nguồn và các tệp cốt lõi khác. Trong khi phần lớn, bạn có thể tin tưởng vào các dịch vụ lưu trữ Git nổi tiếng toàn cầu như GitHub, trong một số trường hợp, tốt hơn là lưu trữ máy chủ Git cá nhân của bạn để tăng cường quyền riêng tư, khả năng tùy chỉnh và bảo mật.


Hãy tìm hiểu cách bạn có thể thiết lập một máy chủ Git riêng trên Linux.

Điều kiện tiên quyết để thiết lập máy chủ Git

Trước khi bắt đầu thiết lập máy chủ Git riêng, bạn phải có quyền truy cập vào một máy dự phòng hoặc phải đăng ký với các nhà cung cấp dịch vụ đám mây. Điều này rất quan trọng vì bạn sẽ thiết lập máy dự phòng hoạt động như một máy chủ Git mà bạn sẽ kết nối từ máy cục bộ của mình và thực hiện các hoạt động Git.

Mặc dù không có yêu cầu hệ thống được xác định rõ ràng, nhưng một GB RAM sẽ đủ để máy chủ Git hoạt động. Hơn nữa, hãy đảm bảo rằng bạn có bản phân phối Linux đang chạy trên máy.

Bước 1: Tải xuống và cài đặt Git trên máy chủ Linux

Không cần phải nói, bạn cần phải cài đặt Git trên máy chủ Linux của mình như một bước sơ bộ. Kích hoạt một thiết bị đầu cuối và sử dụng trình quản lý gói của bản phân phối Linux của bạn để cài đặt Git:

Trên các dẫn xuất Debian / Ubuntu:

sudo apt install git

Trên các bản phân phối dựa trên Arch:

sudo pacman -S git

Trên CentOS / RHEL / Fedora:

sudo dnf install git

Sau khi Git được cài đặt trên hệ thống của bạn, hãy tiến hành các bước tiếp theo để định cấu hình hệ thống Linux của bạn để lưu trữ các kho lưu trữ Git của bạn dưới dạng máy chủ Git.

Bước 2: Thiết lập tài khoản người dùng Git

Kết nối với máy chủ Linux của bạn thông qua SSH, RDP hoặc bất kỳ giao thức truy cập từ xa nào khác. Hoặc, nếu bạn đang sử dụng một máy tính dự phòng làm máy chủ, hãy bật nó lên và tạo một tài khoản người dùng mới để xử lý kho của bạn.

ssh username@address
sudo useradd git

Sau khi người dùng mới được thêm, hãy chuyển sang người dùng đó bằng cách sử dụng su yêu cầu:

su git

Tạo chuyên dụng git tài khoản người dùng là một giao thức an toàn đảm bảo các máy khách kết nối với máy chủ Git của bạn sẽ bị hạn chế khả năng hiển thị và quyền truy cập vào các tài nguyên trên máy. Điều này cho phép bạn cộng tác một cách an toàn trong các dự án nhóm nơi nhiều thành viên trong nhóm sẽ truy cập vào máy chủ của bạn.

Bước 3: Tạo thư mục .ssh và thêm khóa được ủy quyền

Tạo ra một .ssh thư mục cần thiết để lưu trữ các khóa công khai và các dữ liệu thiết yếu khác sẽ chỉ định ai có quyền truy cập vào máy chủ Git này. Để bắt đầu, hãy đăng nhập vào tài khoản người dùng git mà bạn đã tạo trước đó, tạo thư mục .ssh và giới hạn quyền truy cập chỉ đối với người dùng git:

ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys

Đảm bảo quyền truy cập thư mục bằng cách sử dụng chmod lệnh để đảm bảo rằng không ai ngoại trừ bạn có thể thay đổi nó. Di chuyển vào .ssh thư mục và tạo một tệp mới “allow_keys” bằng cách sử dụng chạm yêu cầu.

cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub

Bạn sẽ phải cập nhật tệp này bằng khóa công khai SSH của các máy khách mà bạn muốn cấp quyền truy cập vào máy chủ Git. Tạm dừng phiên SSH và mở .ssh / id_rsa.pub tệp trong máy cục bộ của bạn bằng trình soạn thảo văn bản hoặc lệnh cat. Tệp này chứa khóa được mã hóa công khai của bạn, khóa này khi được ghi vào tệp allow_keys sẽ cấp cho bạn quyền truy cập vào máy chủ Git mà không cần mật khẩu.


cd .ssh
vi authorized_keys

Sao chép khóa công khai và tạo kết nối SSH mới tới máy chủ Git. Di chuyển vào .ssh thư mục, mở tệp ủy quyền_key bằng trình soạn thảo văn bản và dán khóa công khai. Lưu các thay đổi và thoát.

Từ đó trở đi, bạn sẽ có thể kết nối với máy chủ mà không cần mật khẩu. Lặp lại bước này cho từng máy sẽ kết nối với máy chủ.

Bước 4: Tạo một thư mục để lưu trữ tất cả kho lưu trữ của bạn

Truy cập máy chủ Linux và tạo một thư mục hoặc sử dụng một thư mục có sẵn làm thư mục gốc. Hãy nhớ rằng đây là thư mục mà tất cả các kho của bạn sẽ được lưu trữ. Đây là một thực tiễn tốt để tổ chức các dự án gọn gàng hơn.

mkdir directory_name

Sau khi tạo thư mục, hãy chuyển sang bước cuối cùng trong hướng dẫn này để hoàn tất việc thiết lập máy chủ Git.

Bước 5: Bắt đầu phát triển bằng cách thêm dự án mới

Bây giờ bạn thực sự đã hoàn tất việc thiết lập máy chủ Git. Bây giờ bạn chỉ cần bắt đầu phát triển bằng cách khởi tạo kho lưu trữ và thêm nguồn gốc từ xa vào máy cục bộ của bạn. Di chuyển vào thư mục mẹ bằng cách sử dụng đĩa CD ra lệnh và tạo một .git thư mục dự án:

cd parent_directory
mkdir new_project.git

Bây giờ, khởi tạo kho lưu trữ git trần:

git init 

Với kho lưu trữ được khởi tạo, đã đến lúc thêm nguồn gốc từ xa trên máy cục bộ của bạn:

git remote add origin name git@address:new_project.git

Đó là tất cả những gì bạn cần làm ở phía máy chủ của mọi thứ. Giờ đây, bất kỳ ứng dụng khách nào được xác thực đều có thể thực hiện các hoạt động Git thông thường như đẩy, kéo, hợp nhất, sao chép và hơn thế nữa. Để bắt đầu các dự án mới, bạn sẽ phải lặp lại bước này mỗi khi bạn tạo một dự án mới.

Kiểm tra chức năng của nó bằng cách thực hiện git push:

touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git

Tệp của bạn sẽ được đẩy thành công đến nguồn gốc từ xa. Để kiểm tra chéo xem thao tác đẩy có hoạt động hay không, bạn có thể sao chép kho lưu trữ và bạn nên tìm tệp thử nghiệm trong kho lưu trữ.

Mẹo bảo mật cho máy chủ Git của bạn

Với máy chủ Git đang hoạt động, bạn phải chú ý đến tầm vóc bảo mật của nó vì đây là máy chủ cá nhân của bạn và bạn có trách nhiệm duy nhất là duy trì và bảo vệ nó khỏi các mối đe dọa từ bên ngoài. Một số phương pháp bảo mật tốt nhất nên áp dụng là:

  • Tắt đăng nhập bằng mật khẩu
  • Thay đổi trình bao mặc định thành git-shell. Điều này hạn chế người dùng đã đăng nhập phát hành bất kỳ lệnh không phải git nào
  • Sử dụng một cổng tùy chỉnh cho SSH
  • Vô hiệu hóa đăng nhập của người dùng root
  • Sao lưu dữ liệu thường xuyên

Có rất nhiều cấu hình bảo mật và các biện pháp an toàn mà bạn có thể triển khai trên máy chủ Linux của mình để bảo vệ nó khỏi những kẻ tấn công và ngăn chặn truy cập trái phép.

Previous Post
Next Post

post written by: