GitLab là trình quản lý kho lưu trữ GIT nguồn mở dựa trên Rails và được phát triển bởi GitLab Inc. Đây là trình quản lý kho lưu trữ GIT dựa trên web cho phép nhóm của bạn làm việc trên mã, theo dõi lỗi và yêu cầu tính năng cũng như thử nghiệm và triển khai ứng dụng. GitLab cung cấp các tính năng như wiki, theo dõi sự cố, đánh giá mã, nguồn cấp dữ liệu hoạt động và quản lý hợp nhất. Nó có khả năng lưu trữ nhiều dự án.
GitLab có bốn phiên bản:
Những gì chúng ta sẽ làm:
Bây giờ hãy cài đặt các gói bao gồm curl để tải xuống kho lưu trữ GitLab, ca-certificates và postfix để cấu hình SMTP.
Cài đặt tất cả các gói bằng lệnh apt bên dưới.
Trong quá trình cài đặt postfix, bạn sẽ được nhắc về cấu hình, hãy chọn 'Internet Site'.
và sau đó nhập tên miền máy chủ sẽ được sử dụng để gửi email.
Thêm kho lưu trữ GitLab bằng lệnh curl.
Sau đó cài đặt GitLab CE Community Edition bằng lệnh apt.
Chờ máy chủ tải xuống và cài đặt gói gitlab. Khi quá trình cài đặt hoàn tất, bạn sẽ thấy kết quả như bên dưới.
Cấu hình chính của GitLab nằm trong thư mục '/etc/gitlab'. Hãy vào thư mục đó và chỉnh sửa tệp cấu hình 'gitlab.rb' bằng vim.
Trong cấu hình GitLab, hãy đến dòng 9 'external_url' và thay đổi URL thành URL của bạn 'gitlab.hakase-labs.co'.
Lưu tệp và thoát khỏi trình chỉnh sửa. Bước tiếp theo sẽ bật HTTPS cho GitLab.
Cài đặt công cụ dòng lệnh letsencrypt bằng lệnh apt.
Khi quá trình cài đặt hoàn tất, hãy tạo chứng chỉ mới cho tên miền gitlab bằng lệnh bên dưới.
Nhập địa chỉ email của bạn để nhận thông báo gia hạn chứng chỉ SSL.
Chọn 'Đồng ý' cho Điều khoản dịch vụ của Let's Encrypt và đợi.
Khi hoàn tất, bạn sẽ thấy kết quả bên dưới.
Các tệp chứng chỉ Let's encrypt mới cho GitLab đã được tạo. Bạn có thể tìm thấy các tệp chứng chỉ trong thư mục '/etc/letsencrypt/live'.
Tiếp theo, tạo một thư mục mới có tên 'ssl' trong thư mục cấu hình GitLab.
Và tạo các tệp dhparam pem trong thư mục ssl bằng lệnh openssl.
Bây giờ hãy thay đổi quyền của các tệp chứng chỉ thành 600.
Chứng chỉ SSL Let's encrypt cho GitLab và chứng chỉ DHPARAM đã được tạo.
Trong bước này, chúng ta sẽ cấu hình GitLab để sử dụng các tệp chứng chỉ của chúng tôi. Đi đến thư mục '/etc/gitlab', sau đó chỉnh sửa cấu hình 'gitlab.rb' bằng vim.
Thay đổi url bên ngoài để sử dụng 'https' thay vì 'http'.
Sau đó thêm cấu hình SSL mới cho gitlab như bên dưới.
Lưu ý:
Chúng ta sẽ bật chuyển hướng HTTP sang HTTPS trong gitlab.
Lưu tệp và thoát khỏi vim.
Bây giờ chúng ta cần chạy lệnh bên dưới với tư cách là root để áp dụng cấu hình gitlab mới.
Bạn sẽ thấy kết quả như bên dưới.
Cấu hình HTTPS cho GitLab đã hoàn tất.
Bật tường lửa UFW bằng lệnh bên dưới.
Lệnh sẽ chạy dịch vụ ufw và thêm dịch vụ này để tự động khởi động khi khởi động.
Tiếp theo, mở các cổng mới ssh, HTTP và HTTPS.
Bây giờ hãy kiểm tra trạng thái tường lửa và đảm bảo các cổng ssh, http và https có trong danh sách.
Cổng HTTP và HTTPS đã được định cấu hình.
Mở trình duyệt web của bạn và nhập URL gitlab, của tôi là 'gitlab.hakase-labs.co'. Bạn sẽ được chuyển hướng đến kết nối HTTPS.
Đặt lại mật khẩu gốc GitLab
Bây giờ hãy đăng nhập vào GitLab với người dùng 'root' và mật khẩu của bạn.
Thay đổi tên người dùng và hồ sơ
Ở góc trên bên phải, nhấp vào hồ sơ của bạn và chọn 'Cài đặt hồ sơ'.
Trên tab hồ sơ, hãy đổi tên mặc định thành tên của bạn và email thành địa chỉ email của bạn. Bây giờ hãy nhấp vào 'Cập nhật hồ sơ'.
Nhấp vào tab 'Tài khoản', thay đổi tên người dùng thành tên người dùng của riêng bạn. Sau đó nhấp vào 'Cập nhật tên người dùng'.
Thêm khóa SSH
Hãy đảm bảo rằng bạn đã có khóa, nếu bạn không có khóa SSH, bạn có thể tạo khóa bằng lệnh bên dưới.
Và bạn sẽ nhận được hai khóa, 'id_rsa' là khóa riêng tư của bạn và 'id_rsa.pub' là khóa công khai của bạn.
Tiếp theo, nhấp vào tab 'Khóa SSH', sao chép nội dung của tệp 'id_rsa.pub' và dán vào hộp khóa, sau đó nhấp vào 'Thêm khóa'.
Khóa SSH mới đã được thêm vào.
Đăng ký Cài đặt giới hạn và hạn chế
Nhấp vào biểu tượng 'khu vực quản trị', sau đó nhấp vào biểu tượng bánh răng và chọn 'Cài đặt'.
Trên 'Cài đặt tài khoản và giới hạn' - bạn có thể định cấu hình số dự án tối đa cho mỗi người dùng và 'Giới hạn đăng ký', bạn có thể thêm tên miền email của mình vào hộp danh sách trắng.
Và nếu mọi thứ đã hoàn tất, hãy cuộn xuống cuối và nhấp vào 'Lưu'.
Cấu hình GitLab cơ bản đã hoàn tất.
Tạo dự án mới
Nhấp vào biểu tượng dấu cộng ở trên cùng để tạo kho lưu trữ dự án mới. Nhập tên dự án, mô tả và thiết lập cài đặt hiển thị cho dự án của bạn. Sau đó, nhấp vào nút 'Tạo dự án'.
Dự án mới đã được tạo.
Kiểm tra lần cam kết và đẩy đầu tiên
Sau khi dự án 'howtoforge' được tạo, bạn sẽ được chuyển hướng đến trang dự án. Bây giờ hãy bắt đầu thêm nội dung mới vào kho lưu trữ. Đảm bảo Git được cài đặt trên máy tính của bạn và thiết lập tên người dùng và email toàn cục cho git bằng lệnh bên dưới.
Sao chép Kho lưu trữ và thêm tệp README.md.
Bạn sẽ được yêu cầu nhập mật khẩu người dùng 'hakase'. Vui lòng nhập cùng mật khẩu mà bạn đã sử dụng khi chúng ta truy cập GitLab lần đầu tiên.
Cam kết tệp mới vào kho lưu trữ howtoforge.
Tiếp theo, đẩy thay đổi vào kho lưu trữ trên máy chủ GitLab.
Nhập mật khẩu của bạn và nhấn Enter để tiếp tục. Bạn sẽ thấy kết quả như bên dưới.
Bây giờ hãy mở dự án howtoforge từ trình duyệt web của bạn và bạn sẽ thấy tệp README.md mới đã được thêm vào kho lưu trữ.
Gitlab đã được cài đặt trên máy chủ Xenial Xerus Ubuntu 16.04.
GitLab có bốn phiên bản:
- Gitlab CE (Phiên bản cộng đồng) - tự lưu trữ, miễn phí và được hỗ trợ từ diễn đàn Cộng đồng.
- Gitlab EE (Phiên bản doanh nghiệp) - tự lưu trữ, ứng dụng trả phí, đi kèm với các tính năng bổ sung.
- GitLab.com - SaaS, miễn phí.
- GitLab.io - Phiên bản GitLab riêng tư do GitLab Inc. quản lý.
Những gì chúng ta sẽ làm:
- Cài đặt các gói
- Cài đặt GitLab
- Cấu hình URL GitLab
- Tạo SSL Let's encrypt và Chứng chỉ DHPARAM
- Bật Nginx HTTPS cho GitLab
- Cấu hình Tường lửa UFW
- Thực hiện Cài đặt GitLab
- Kiểm tra
- Ubuntu Máy chủ 16.04 - 64bit
- RAM tối thiểu 2GB
- Quyền root
Bước 1 - Cài đặt các gói Ubuntu cần thiết
Bước đầu tiên là cài đặt các gói cần thiết cho quá trình cài đặt GitLab. Vui lòng đăng nhập vào máy chủ với tư cách là người dùng root và cập nhật kho lưu trữ Ubuntu.
Mã:
ssh root@GitLabServer
apt-get update
Cài đặt tất cả các gói bằng lệnh apt bên dưới.
Mã:
sudo apt install curl openssh-server ca-certificates postfix
và sau đó nhập tên miền máy chủ sẽ được sử dụng để gửi email.
Bước 2 - Cài đặt Gitlab
Trong bước này, chúng ta sẽ cài đặt GitLab bằng các gói tổng hợp. Omnibus sẽ cài đặt tất cả các gói, dịch vụ và công cụ cần thiết để chạy GitLab trên máy chủ của bạn.Thêm kho lưu trữ GitLab bằng lệnh curl.
Mã:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Sau đó cài đặt GitLab CE Community Edition bằng lệnh apt.
Mã:
sudo apt install gitlab-ce
Bước 3 - Cấu hình URL chính của Gitlab
Bây giờ chúng ta nên cấu hình URL sẽ được sử dụng để truy cập máy chủ GitLab của mình. Tôi sẽ sử dụng tên miền 'gitlab.hakase-labs.co' cho URL GitLab tại đây (vui lòng chọn tên miền của riêng bạn) và tôi sẽ sử dụng HTTPS để bảo mật quyền truy cập của người dùng.Cấu hình chính của GitLab nằm trong thư mục '/etc/gitlab'. Hãy vào thư mục đó và chỉnh sửa tệp cấu hình 'gitlab.rb' bằng vim.
Mã:
cd /etc/gitlab
vim gitlab.rb
Mã:
external_url 'http://gitlab.hakase-labs.co'
Bước 4 - Tạo chứng chỉ SSL Let's encrypt và DHPARAM
Ở bước này, chúng ta sẽ bật giao thức HTTPS cho GitLab. Tôi sẽ sử dụng chứng chỉ SSL miễn phí do let's encrypt cung cấp cho tên miền gitlab.Cài đặt công cụ dòng lệnh letsencrypt bằng lệnh apt.
Mã:
sudo apt install letsencrypt -y
Mã:
letsencrypt certonly -d gitlab.hakase-labs.co
Chọn 'Đồng ý' cho Điều khoản dịch vụ của Let's Encrypt và đợi.
Khi hoàn tất, bạn sẽ thấy kết quả bên dưới.
Các tệp chứng chỉ Let's encrypt mới cho GitLab đã được tạo. Bạn có thể tìm thấy các tệp chứng chỉ trong thư mục '/etc/letsencrypt/live'.
Tiếp theo, tạo một thư mục mới có tên 'ssl' trong thư mục cấu hình GitLab.
Mã:
mkdir -p /etc/gitlab/ssl/
Mã:
sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
Bây giờ hãy thay đổi quyền của các tệp chứng chỉ thành 600.
Mã:
chmod 600 /etc/gitlab/ssl/*
Bước 5 - Kích hoạt Nginx HTTPS cho GitLab
Ở giai đoạn này, chúng ta có các tệp chứng chỉ từ Letsencrypt trong thư mục '/etc/letsencrypt/live' và chứng chỉ DHPARAM trong thư mục '/etc/gitlab/ssl'.Trong bước này, chúng ta sẽ cấu hình GitLab để sử dụng các tệp chứng chỉ của chúng tôi. Đi đến thư mục '/etc/gitlab', sau đó chỉnh sửa cấu hình 'gitlab.rb' bằng vim.
Mã:
cd /etc/gitlab/
vim gitlab.rb
Mã:
external_url 'https://gitlab.hakase-labs.co'
Mã:
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
Chúng ta sẽ bật chuyển hướng HTTP sang HTTPS trong gitlab.
Lưu tệp và thoát khỏi vim.
Bây giờ chúng ta cần chạy lệnh bên dưới với tư cách là root để áp dụng cấu hình gitlab mới.
Mã:
sudo gitlab-ctl reconfigure
Cấu hình HTTPS cho GitLab đã hoàn tất.
Bước 6 - Cấu hình Tường lửa UFW
Trong bước này, chúng ta sẽ bật tường lửa UFW. Tường lửa này đã được cài đặt trên hệ thống, chúng ta chỉ cần khởi động dịch vụ. Chúng ta sẽ chạy GitLab sau tường lửa UFW, vì vậy chúng ta phải mở các cổng HTTP và HTTPS.Bật tường lửa UFW bằng lệnh bên dưới.
Mã:
ufw enable
Tiếp theo, mở các cổng mới ssh, HTTP và HTTPS.
Mã:
ufw allow ssh
ufw allow http
ufw allow https
Bây giờ hãy kiểm tra trạng thái tường lửa và đảm bảo các cổng ssh, http và https có trong danh sách.
Mã:
ufw status
Bước 7 - Gitlab sau khi cài đặt
GitLab đã được cài đặt vào hệ thống và đang chạy sau tường lửa UFW. Ở bước này, chúng ta sẽ thực hiện một số thiết lập nhanh như thay đổi mật khẩu, tên người dùng và cài đặt hồ sơ.Mở trình duyệt web của bạn và nhập URL gitlab, của tôi là 'gitlab.hakase-labs.co'. Bạn sẽ được chuyển hướng đến kết nối HTTPS.
Đặt lại mật khẩu gốc GitLab
Bây giờ hãy đăng nhập vào GitLab với người dùng 'root' và mật khẩu của bạn.
Thay đổi tên người dùng và hồ sơ
Ở góc trên bên phải, nhấp vào hồ sơ của bạn và chọn 'Cài đặt hồ sơ'.
Trên tab hồ sơ, hãy đổi tên mặc định thành tên của bạn và email thành địa chỉ email của bạn. Bây giờ hãy nhấp vào 'Cập nhật hồ sơ'.
Nhấp vào tab 'Tài khoản', thay đổi tên người dùng thành tên người dùng của riêng bạn. Sau đó nhấp vào 'Cập nhật tên người dùng'.
Thêm khóa SSH
Hãy đảm bảo rằng bạn đã có khóa, nếu bạn không có khóa SSH, bạn có thể tạo khóa bằng lệnh bên dưới.
Mã:
ssh-keygen
Tiếp theo, nhấp vào tab 'Khóa SSH', sao chép nội dung của tệp 'id_rsa.pub' và dán vào hộp khóa, sau đó nhấp vào 'Thêm khóa'.
Khóa SSH mới đã được thêm vào.
Đăng ký Cài đặt giới hạn và hạn chế
Nhấp vào biểu tượng 'khu vực quản trị', sau đó nhấp vào biểu tượng bánh răng và chọn 'Cài đặt'.
Trên 'Cài đặt tài khoản và giới hạn' - bạn có thể định cấu hình số dự án tối đa cho mỗi người dùng và 'Giới hạn đăng ký', bạn có thể thêm tên miền email của mình vào hộp danh sách trắng.
Và nếu mọi thứ đã hoàn tất, hãy cuộn xuống cuối và nhấp vào 'Lưu'.
Cấu hình GitLab cơ bản đã hoàn tất.
Bước 8 - Kiểm tra
Cuối cùng, chúng ta sẽ thực hiện một số bài kiểm tra để đảm bảo rằng hệ thống GitLab của chúng ta đang hoạt động bình thường.Tạo dự án mới
Nhấp vào biểu tượng dấu cộng ở trên cùng để tạo kho lưu trữ dự án mới. Nhập tên dự án, mô tả và thiết lập cài đặt hiển thị cho dự án của bạn. Sau đó, nhấp vào nút 'Tạo dự án'.
Dự án mới đã được tạo.
Kiểm tra lần cam kết và đẩy đầu tiên
Sau khi dự án 'howtoforge' được tạo, bạn sẽ được chuyển hướng đến trang dự án. Bây giờ hãy bắt đầu thêm nội dung mới vào kho lưu trữ. Đảm bảo Git được cài đặt trên máy tính của bạn và thiết lập tên người dùng và email toàn cục cho git bằng lệnh bên dưới.
Mã:
git config --global user.name "hakase"
git config --global user.email "[emailprotected]"
Mã:
git clone https://[emailprotected]/hakase/howtoforge.git
cd howtoforge/
vim README.md
Cam kết tệp mới vào kho lưu trữ howtoforge.
Mã:
git add .
git commit -m 'Add README.md file by hakase-labs'
Mã:
git push origin master
Bây giờ hãy mở dự án howtoforge từ trình duyệt web của bạn và bạn sẽ thấy tệp README.md mới đã được thêm vào kho lưu trữ.
Gitlab đã được cài đặt trên máy chủ Xenial Xerus Ubuntu 16.04.