Nếu bạn đã quen thuộc với hệ thống kiểm soát sửa đổi Git, rất có thể bạn đã nghe nói về các trang web phần mềm xã hội sử dụng Git, chẳng hạn như GitHub, Gitorious và Sourceforge. Những trang web này rất tuyệt vời cho sự cộng tác, nhưng nếu bạn muốn lưu trữ một kho lưu trữ Git riêng trên trang web cá nhân của riêng bạn thì sao?

GitList là giao diện PHP cho Git, làm đẹp và đơn giản hóa việc duyệt các kho lưu trữ Git của bạn và bạn có thể lưu trữ nó ở bất cứ đâu bạn muốn. Nói lời tạm biệt với lệ phí cắt cổ để lưu trữ kho lưu trữ riêng của bạn; GitList là hoàn toàn miễn phí, và do phụ thuộc tối thiểu của nó, bạn thậm chí có thể chạy nó trên (một số) chia sẻ lưu trữ web kế hoạch.

Giao diện chắc chắn trông quen thuộc với người dùng GitHub của bạn! Nó khá trơn và hiện đại so với giao diện clunkier của Gitweb, lối vào Web mặc định của Git, và nó có nhiều tính năng thân thiện với người dùng. Một số trong số này bao gồm:

  • Hỗ trợ duyệt nhiều kho lưu trữ
  • Hỗ trợ nhiều nhánh và thẻ
  • nguồn cấp dữ liệu RSS
  • Tô sáng cú pháp
  • Thống kê về kho lưu trữ của bạn
  • Dễ cài đặt so với các giao diện Git dựa trên web khác

Yêu cầu

Như chúng tôi đã đề cập trước đó, bạn có thể cài đặt GitList trên một số kế hoạch lưu trữ web được chia sẻ. Bạn cần một vài thứ trên máy chủ từ xa của mình mà không phải tất cả các gói lưu trữ được chia sẻ đều cung cấp:

  • Git
  • Truy cập SSH

Lưu ý rằng truy cập SSH không bắt buộc phải cài đặt GitList, nhưng bạn sẽ cần nó để tạo và quản lý kho lưu trữ Git từ xa của bạn từ dòng lệnh.

Ngoài hai mục này, bạn sẽ cần:

  • Apache đã bật mod_rewrite hoặc Nginx trên máy chủ từ xa của bạn
  • PHP 5.3.3 trên máy chủ từ xa của bạn
  • Git trên máy cục bộ của bạn

Cài đặt

Lấy một tarball của mã GitList từ trang chính trên GitList.org. Bạn có thể chọn giữa bản phát hành ổn định mới nhất, tại thời điểm viết bài này là 0, 3 hoặc bản dựng phát triển. Tôi đã chọn xây dựng phát triển, nhưng bạn có thể làm theo hướng dẫn cài đặt tương tự trong cả hai trường hợp.

Giải nén tarball vào thư mục trên trang web của bạn mà bạn muốn cài đặt GitList - không bị lẫn lộn với thư mục kho lưu trữ Git thực tế của bạn được cài đặt trong đó, chúng ta sẽ đến một chút.

Từ bây giờ, các hướng dẫn trong bài viết này sẽ giả định rằng bạn đã đăng nhập vào trang web của mình thông qua SSH. Nhập thư mục GitList của bạn và thiết lập 777 quyền cho thư mục con “cache” (tạo nó nếu nó chưa tồn tại):

 Bộ nhớ cache [mkdir cache] chmod 777 

Bây giờ chuyển tệp config.ini-example thành config.ini:

 mv config.ini-example config.ini 

Mở config.ini để chỉnh sửa trong một trong các trình soạn thảo văn bản có sẵn trên máy chủ từ xa của bạn. Ví dụ:

 vi config.ini 

Đối với phần này, bạn phải có một hoặc nhiều kho Git được lưu trữ ở đâu đó trên máy chủ của bạn. Nếu không, hãy đọc phần tiếp theo và sau đó quay lại đây.

Điền vào phần repositories trong mã với đường dẫn đầy đủ của thư mục dự án Git của bạn. Nếu bạn không biết đường dẫn đầy đủ, bạn có thể cd vào thư mục đó và nhập pwd ; đầu ra là đường dẫn đầy đủ. Trong trường hợp này, thư mục dự án Git của tôi được gọi là “gitprojects” và nó nằm trong thư mục con “git” của trang chính, vì vậy tôi đã nhập vào đường dẫn của mình (cấu trúc thư mục có thể khác nhau trên các máy chủ Web).

Lấy một kho lưu trữ Git lên máy chủ của bạn

Tiếp tục và bỏ qua phần này nếu bạn đã thiết lập các kho lưu trữ từ xa của mình. Nếu không, đây là một cách để làm điều đó.

Trước tiên hãy chuẩn bị kho lưu trữ Git trên máy cục bộ của bạn. Bạn có thể tạo một kho lưu trữ từ bất kỳ thư mục nào. Ví dụ: giả sử bạn có một thư mục có tên là "rùa" với một vài tệp trong đó:

 cd turtles git init # this khởi tạo kho lưu trữ git add * #this khiến tất cả các tệp trong thư mục được theo dõi để sửa đổi git commit -m "Tạo repo của tôi" * #commits các tệp và thêm nhận xét 

Bây giờ SSH vào máy chủ từ xa của bạn để tạo và khởi tạo một kho lưu trữ trống:

 mkdir turtles.git && cd turtles.git git --bare init 

Quay trở lại máy cục bộ của bạn và thêm một nhánh từ xa. Nó thường được gọi là "origin", nhưng bạn có thể sử dụng bất cứ tên nào bạn muốn (sử dụng các tên khác có ích nếu bạn đang chia sẻ cùng một tệp với nhiều kho từ xa). Thực hiện theo định dạng của ví dụ này nhưng thay đổi đường dẫn tệp của bạn một cách thích hợp:

 git remote add origin ssh: //[email protected]/home/yourusername/public_html/gitprojects/turtles.git 

Bây giờ hãy đẩy tệp của bạn đến máy chủ từ xa:

 git push --all origin 

Ta-da! Bây giờ bạn có một bản sao từ xa của kho lưu trữ Git của bạn mà bạn có thể duyệt với GitList. Đừng quên đặt đường dẫn của thư mục cha vào config.ini trước tiên.

Bảo vệ kho lưu trữ của bạn

Nếu bạn lo lắng về việc giữ kho lưu trữ của bạn tránh xa con mắt tò mò, tôi rất tiếc phải nói với bạn rằng GitList không cung cấp phương thức xác thực người dùng được tích hợp sẵn. Tuy nhiên, trong hầu hết các trường hợp, bạn có thể bảo vệ mật khẩu một thư mục ngay từ bảng điều khiển của trang web của bạn. Trong cPanel, nó ở ngay trong phần "Bảo mật":

Ngoài ra, bạn có thể cấu hình máy chủ Apache theo cách thủ công để hạn chế quyền truy cập cho người dùng cụ thể.

Phần kết luận

Lưu trữ kho lưu trữ của riêng bạn có thể vừa nâng cao vị thế vừa tiết kiệm ngân sách. Cho dù bạn đã sử dụng Git một thời gian hay bạn đang ở giai đoạn đầu của sự tò mò về cách bạn có thể hưởng lợi từ việc kiểm soát phiên bản, tôi khuyên bạn hãy tự lưu trữ và thử GitList - trừ khi, tất nhiên, bạn toàn bộ nội dung để lại quyền kiểm soát nội dung của bạn cho các bên thứ ba.