Anonim

Tại sao Gitlab

đường dẫn nhanh

  • Tại sao Gitlab
  • Thiết lập
  • Cài đặt phụ thuộc
  • Cài đặt Gitlab
  • Chạy thiết lập
  • Thiết lập ban đầu
  • Thiết lập SSH
    • Đối với SSH thường xuyên
  • Cấu hình UFW
  • Bớt tư tưởng

Có rất nhiều tùy chọn tuyệt vời để lưu trữ các dự án của bạn và chia sẻ mã của bạn. Bạn có thể thiết lập tài khoản Github ngay bây giờ miễn phí. Vậy, tại sao bạn lại muốn trải qua những rắc rối khi tự mình thiết lập Gitlab?

Có một vài lý lẽ tốt cho nó, thực sự, không phải ít nhất trong số đó là quyền riêng tư. Gitlab là của bạn. Bạn lưu trữ nó, và bạn sở hữu nó. Vì vậy, bạn có thể kiểm soát ai có quyền truy cập vào kho của bạn. Điều đó cũng có nghĩa là bạn có quyền kiểm soát chính nền tảng này. Bạn không chịu sự điều chỉnh của chính sách công ty, thay đổi tùy ý về giá hoặc thu thập dữ liệu.

Kiểm soát phiên bản tự lưu trữ cũng có nghĩa là bạn không phụ thuộc vào dịch vụ để truy cập mã của mình. Chắc chắn, cơ hội của Github hoặc dịch vụ khác giống như hoàn toàn không có sẵn do ngừng hoạt động là rất mong manh, nhưng bạn có muốn nói rằng đó không phải là một khả năng không?

Gitlab cũng rất dễ cài đặt và chỉ yêu cầu bạn có máy chủ Linux chạy phần mềm Gitlab mã nguồn mở, hầu hết đều được cấu hình sẵn và sẵn sàng để chạy.

Thiết lập

Trước khi bắt đầu, bạn sẽ cần cài đặt VPS để lưu trữ Gitlab, trừ khi bạn có kế hoạch lưu trữ cục bộ. Các công ty lưu trữ như DigitalOceanLinode cung cấp các tùy chọn hiệu quả về chi phí có thể giúp máy chủ của bạn hoạt động.

Bạn cũng nên mua một tên miền cho máy chủ của mình. Hoặc, bạn có thể trỏ một tên miền phụ của một tên miền hiện có tại máy chủ Gitlab của bạn. Dù bằng cách nào cũng sẽ làm cho việc truy cập vào giao diện web dễ dàng hơn.

Hướng dẫn này sẽ tuân theo Ubuntu 16.04 LTS. Đây là bản phát hành hỗ trợ dài hạn mới nhất của Ubuntu và rất dễ làm việc. Debian Stretch (Ổn định) cũng sẽ là một lựa chọn tuyệt vời và hầu hết hướng dẫn này cũng sẽ hoạt động với nó. Cả DigitalOcean và Linode sẽ thiết lập máy chủ của bạn với HĐH mà bạn chọn, do đó không cần phải cài đặt Ubuntu.

Cài đặt phụ thuộc

Khi bạn khởi động Ubuntu lần đầu tiên, bạn nên cập nhật hệ thống để đảm bảo không có bất kỳ sửa lỗi bảo mật nào khả dụng. Đi trước và làm điều đó đầu tiên.

$ sudo apt cập nhật $ sudo apt nâng cấp

Sau khi cập nhật xong, có một vài thứ bạn sẽ cần cài đặt cho Gitlab để bắt đầu. Sử dụng apt để cài đặt những cái quá.

$ sudo apt cài đặt curl openssh-server post-cert

Đó là nó. Bạn đã sẵn sàng để chạy tập lệnh cài đặt Gitlab.

Cài đặt Gitlab

Gitlab duy trì kho lưu trữ Debian / Ubuntu của riêng mình. Để bật kho lưu trữ trên máy chủ của bạn, hãy tải xuống và chạy tập lệnh cài đặt thuận tiện do nhóm Gitlab cung cấp.

$ curl -sS https://packages.gitlab.com/install/reposeocate/gitlab/gitlab-ce/script.deb.sh | sudo bash

Điều đó có thể trông giống như rất nhiều, nhưng nó chỉ tải xuống tập lệnh và báo cho dòng lệnh shell để chạy nó. Kịch bản sẽ mất vài giây để chạy qua và thiết lập kho lưu trữ. Khi đã xong, bạn sẽ sẵn sàng cài đặt gói Gitlab.

$ sudo apt cài đặt gitlab-ce

Quá trình cài đặt sẽ mất vài phút. Gitlab đi kèm trong một gói lớn gọi là gói Omnibus. Trực tiếp đi kèm với tất cả mọi thứ mà Gitlab cần tất cả được gói cùng nhau.

Chạy thiết lập

Có một tập lệnh thiết lập mà bạn cần chạy cho Gitlab để được cấu hình. Nó có trong gói bạn vừa cài đặt, vì vậy bạn có thể chạy nó ngay bây giờ.

$ sudo gitlab-ctl cấu hình lại

Kịch bản sẽ mất vài phút để chạy qua mọi thứ. Nó chủ yếu là thiết lập cơ sở dữ liệu phụ trợ cho Gitlab. Bạn sẽ thấy rất nhiều di chuyển Ruby on Rails chạy trên màn hình. Có thể mất một lúc, nhưng khi hoàn thành, Gitlab sẽ sẵn sàng để sử dụng.

Thiết lập ban đầu

Mở trình duyệt web của bạn và điều hướng đến máy chủ Gitlab của bạn. Bạn sẽ được chào đón bởi một trang yêu cầu bạn thiết lập mật khẩu quản trị. Đây rõ ràng là mật khẩu cho tài khoản quản trị của bạn. Theo mặc định, tên tài khoản đó là root root.

Sau khi tài khoản đó được thiết lập, bạn có thể đăng nhập bằng tài khoản hoặc đăng ký tài khoản người dùng thông thường và đăng nhập. Dù bằng cách nào, khi bạn đăng nhập, bạn sẽ có quyền truy cập vào toàn bộ bảng điều khiển Gitlab để tạo và quản lý kho lưu trữ.

Thiết lập SSH

Bạn không muốn phải thay đổi các dự án của mình bằng mật khẩu. Đó là một nỗi đau, và nó không an toàn lắm. Điều tốt nhất mà bạn có thể làm là tạo một SSH để đăng nhập tự động từ bất kỳ máy tính nào có cài đặt khóa.

Khóa SSH rất dễ tạo trên Linux và Mac. Trên Windows 10, quy trình phải giống nhau thông qua ứng dụng OpenSSH có sẵn.

Mở một thiết bị đầu cuối và chạy lệnh sau để tạo khóa của bạn. Bạn có thể rời khỏi phần -C '' nếu bạn chỉ muốn sử dụng thông tin đăng nhập của máy tính. Nếu không, một địa chỉ email thường là cuộc gọi đúng.

$ ssh-keygen -b 4096 -t rsa -C ''

Quá trình sẽ hướng dẫn bạn qua một vài bước. Mặc định chủ yếu là tốt, và mọi thứ khá tự giải thích. Nếu bạn chọn liên kết mật khẩu với khóa của mình, bạn sẽ cần mật khẩu đó mỗi khi bạn đăng nhập hoặc thay đổi. Bạn có thể để trống mật khẩu để không sử dụng.

Để xem khóa của bạn, hãy chạy lệnh dưới đây. Nó sẽ trông giống như một loạt những điều vô nghĩa, và về cơ bản là vậy, nhưng đó là chìa khóa của bạn. Bạn sẽ cần sao chép nó ra khỏi thiết bị đầu cuối và qua nó trong Gitlab.

$ mèo ~ / .ssh / id_rsa.pub

Quay lại trên Gitlab, nhấp vào biểu tượng hồ sơ ở phía trên bên phải màn hình. Sau đó nhấp vào Cài đặt cài đặt trực tiếp trên menu kết quả. Trong menu bên trái của trang, nhấp vào Khóa SSH SSH.

Sao chép khóa từ thiết bị đầu cuối của bạn. Bắt đầu sau khi ssh-rsa phạm và dừng trước địa chỉ email của bạn. Vì vậy, chỉ cần sao chép phần vô nghĩa. Dán nó vào ô lớn có nhãn, Khóa Key. Đặt tên cho khóa của bạn và lưu nó. Từ thời điểm đó, bạn sẽ có thể đẩy mã của mình vào kho lưu trữ mà không cần đăng nhập.

Đối với SSH thường xuyên

Bạn đã có khóa SSH. Bạn cũng có thể sử dụng nó cho SSH. OpenSSH có một tiện ích tích hợp để đẩy chìa khóa đến máy chủ của bạn.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP

Thay thế server_username và SERVER_IP bằng tên người dùng của bạn trên máy chủ và địa chỉ IP của máy chủ.

Hãy thử đăng nhập lại vào máy chủ của bạn bằng khóa mới.

$ ssh _IP

Bạn nên kết nối ngay lập tức mà không cần nhập mật khẩu.

Tốt hơn hết là khóa phần còn lại của SSH. Đây có lẽ là một trong những điểm yếu nhất trong máy chủ đối mặt công khai. Mở / etc / ssh / sshd_confg trong trình soạn thảo văn bản bạn chọn trên máy chủ.

Có một vài điều mà bạn cần thay đổi. Đầu tiên, tìm PermitRootLogin và đặt thành không.

PermitRootLogin không

Tiếp theo, tìm PasswordAuthentication, bỏ ghi chú và đặt thành không.

Mật khẩu xác thực không

Sau đó, đảm bảo rằng hai dòng sau được đặt thành không. Chúng nên được mặc định trên Ubuntu, nhưng tốt hơn hết là kiểm tra.

PermitEmptyPasswords no HostbasingAuthentication no

Cuối cùng, tìm UsePAM ở dưới cùng của cấu hình và đặt thành không.

UsePAM không

Lưu và thoát cấu hình của bạn. Sau đó, khởi động lại dịch vụ SSH.

$ sudo systemctl khởi động lại sshd

Cấu hình UFW

Biện pháp bảo mật cuối cùng mà bạn có thể muốn thực hiện là cài đặt và thiết lập tường lửa. Ubuntu hoạt động rất tốt với tường lửa không phức tạp được đặt tên (UFW). Nó chỉ là một trình bao bọc xung quanh tường lửa kernel iptables, nhưng nó giúp làm việc với tường lửa dễ dàng hơn nhiều. Đi trước và cài đặt nó.

$ sudo apt cài đặt ufw

Khi bạn đã cài đặt ufw, hãy bắt đầu bằng cách đặt quy tắc mặc định để từ chối mọi thứ.

$ sudo ufw mặc định từ chối đến $ sudo ufw mặc định từ chối gửi đi $ sudo ufw mặc định từ chối chuyển tiếp

Tiếp theo thiết lập quy tắc của bạn để cho phép các dịch vụ cơ bản, bao gồm Git. Các ý kiến ​​chỉ là có thông tin. Đừng cố chạy chúng.

# SSH $ sudo ufw cho phép trong ssh $ sudo ufw cho phép ssh # HTTP và HTTPS cho Web $ sudo ufw cho phép trong http $ sudo ufw cho phép http $ sudo ufw cho phép trong https $ sudo ufw cho phép giữ thời gian https # NTP đúng $ sudo ufw cho phép trong ntp $ sudo ufw cho phép ntp # Cổng 53 cho độ phân giải tên miền $ sudo ufw cho phép trong 53 $ sudo ufw cho phép ra 53 # Bạn có thể sẽ không cần điều này # Nếu máy chủ của bạn sử dụng DHCP, bỏ chặn 67 $ sudo ufw cho phép trong 67 $ sudo ufw cho phép 67 # Cuối cùng, Git $ sudo ufw cho phép trong 9418 $ sudo ufw allo ra 9418

Đảm bảo rằng mọi thứ đều tốt và bật tường lửa

$ sudo ufw cho phép

Bạn có thể kiểm tra trạng thái của tường lửa bằng cách sau:

$ sudo ufw trạng thái

Đó là nó! Máy chủ Gitlab của bạn nằm phía sau tường lửa.

Bớt tư tưởng

Đến bây giờ, bạn đã có một máy chủ Gitlab hoạt động. Bạn có thể bắt đầu thiết lập tài khoản người dùng và dự án thông qua giao diện Gitlab. Gitlab hiện là gói Ubuntu thông thường, vì vậy nó sẽ cập nhật thường xuyên với apt khi bạn giữ cho hệ thống của mình được cập nhật.

Gitlab sẽ cung cấp cho bạn tất cả sự linh hoạt mà bạn sẽ cần để quản lý các dự án của riêng bạn và các dự án lớn hơn mà bạn có thể đang làm việc với một nhóm. Đó là một nền tảng hoàn toàn có khả năng và mạnh mẽ mà ngày càng nhiều đội bắt đầu dựa vào.

Lưu trữ các dự án phần mềm của riêng bạn với gitlab