0

Cách tự tạo server git trên Ubuntu mà không sử dụng Github

Thời buổi nhà nhà xài Github, người người xài Github. Nhưng để tạo một private repo trên Github thì bạn lại phải tốn kha khá tiền, khoảng $7 cho 5 project, $12 cho 10 projects hay đến $50 cho 50 proejects. Nếu bạn đang có 1 cái máy tính bỏ không, công ty thừa server, hay bạn đang có một con vps chạy chơi, mình sẽ hướng dẫn các bạn thủ thuật nhỏ, cách tự tạo server git  của bạn.

Chuẩn bị server

Phân tán mà không phân tán, ngang hàng mà không ngang hàng

Thứ nhất nói server Git là không đúng. Git dùng phương pháp phân phối phân tán. Mỗi máy tính cài Git đều có chức năng và vai trò ngang hàng nhau. Không ông nào phục vụ ông nào cả. Nên thực ra là không có server. Nhưng chúng ta vẫn cần một máy tính để làm máy backup, làm vai trò trung gian giữa mọi người làm việc trong team, làm một nơi lưu trữ code – chia sẻ chung cho team.

0313_WTD_ZigBee_F3

Hình minh hoạ cho mạng làm việc hình sao và mạng ngang hàng

Nếu team chia sẻ code theo mạng ngang hàng thì rất khổ, rất tốn thời gian để đồng bộ code toàn bộ team do từng người phải kết nối thủ công với nhau. Nếu ta có 1 máy làm trung gian phân phối, đứng ở trung tâm mạng làm việc hình sao thì tất cả mọi người muốn đồng bộ chỉ cần kết nối đến máy trung gian là xong.

Bắt đầu setup server

Cài đặt OpenSSH

Git có thể kết nối và làm việc qua giao thức OpenSSH. Trên Ubuntu chạy lệnh:

Để khởi chạy ssh server, dùng lệnh:

Xem thêm cấu hình sử dụng SSH ở đây và cấu hình an toàn cho SSH ở đây.

Cài đặt Git 1.9 hoặc mới hơn

Git chỉ có một phiên bản chứ không chia ra làm server hay client, nên đơn giản cài bằng:

Tạo một user chuyên dùng cho git

Tiếp theo ta cần tạo 1 user để dùng với git. Bạn có thể tạo nhiều hơn cho mỗi người trong team hoặc chỉ cần tạo 1 user và chia sẻ tài khoản này giữa mọi người. User này cần có home directory path ngắn gọn, dễ truy cập để sau này link repo ngắn gọn.

Tạo repo đầu tiên trên server

Bây giờ việc cần làm là tạo kho lưu đầu tiên trên server.

Chỗ vi diệu chính là dòng cuối cùng ở trên. Git có thể tạo hai loại repo khác nhau. Khi thêm tham số –bare vào lệnh init, bạn sẽ tạo được một kho lưu trung gian để các máy khác kết nối đến làm việc. Nhớ nha, “git init –bare” dành cho máy chủ, “git init” dành cho bạn 😀

Làm việc với git qua mấy chủ từ xa của bạn

Bây giờ làm việc trên client. Thử mở máy tính lên và clone từ repo mới tạo trên server của bạn:

Bạn thấy đường link dùng để clone về chứ:

gitrepo@server-domain.com:/projects/demo.git

  • gitrepo: là user bạn đã tạo ở trên
  • server-domain.com: là địa chỉ máy chủ, có thể là domain hoặc IP
  • /projects/demo.git: đường dẫn thư mục chứa repo chúng ta đã tạo trên server.

Sau khi nhập mật khẩu user, git sẽ clone repo từ server về máy tính của bạn. Dĩ nhiên hiện tại repo đang rỗng, ta thêm vài nội dung đơn giản rồi push lên server xem sao nha:

Chúc mừng bạn, đến đây bạn thực hiện thành công cách tự setup server Git của riêng mình. Bạn có thể dùng nó để lưu trữ không giới hạn số lượng projects và đương nhiên là không tốn phí rồi!

Hoàng Tựa

Yêu thích lập trình web và tạo ra những thứ đẹp đẽ.

Leave a Reply

Your email address will not be published. Required fields are marked *