Thứ hai, 09/07/2018 | 00:00 GMT+7

Cách cài đặt và cấu hình GitLab trên Ubuntu 18.04

GitLab CE , hoặc Community Edition, là một ứng dụng open-souce chủ yếu được sử dụng để lưu trữ các repository Git, với các tính năng bổ sung liên quan đến phát triển như theo dõi sự cố. Nó được thiết kế để được lưu trữ bằng cách sử dụng cơ sở hạ tầng của bạn và cung cấp sự linh hoạt trong việc triển khai như một repository nội bộ cho group phát triển của bạn, một cách công khai để giao tiếp với user hoặc một phương tiện để những người đóng góp lưu trữ các dự án của riêng họ.

Dự án GitLab giúp việc cài đặt một version GitLab trên phần cứng của bạn tương đối đơn giản với cơ chế cài đặt dễ dàng. Trong hướng dẫn này, ta sẽ trình bày cách cài đặt và cấu hình GitLab trên server Ubuntu 18.04.

Yêu cầu

Đối với hướng dẫn này, bạn cần :

Các yêu cầu phần cứng GitLab đã xuất bản khuyên bạn nên sử dụng server có:

  • 2 lõi
  • 8GB RAM

Mặc dù bạn có thể có được bằng cách thay thế một số không gian swap cho RAM, nhưng nó không được khuyến khích. Đối với hướng dẫn này, ta sẽ giả định bạn có các tài nguyên trên là tối thiểu.

  • Một domain trỏ đến server của bạn. Để biết thêm thông tin, hãy xem tài liệu của ta về cách bắt đầu với DNS trên DigitalOcean . Hướng dẫn này sẽ sử dụng domain example.com .

Bước 1 - Cài đặt Phụ thuộc

Trước khi ta có thể tự cài đặt GitLab, điều quan trọng là phải cài đặt một số phần mềm mà nó sử dụng trong quá trình cài đặt và liên tục. May mắn là tất cả các phần mềm cần thiết có thể được cài đặt dễ dàng từ repository mặc định của Ubuntu.

Vì đây là lần đầu tiên ta sử dụng apt trong phiên này, ta có thể cập nhật OS local và sau đó cài đặt các phụ thuộc bằng lệnh :

  • sudo apt update
  • sudo apt install ca-certificates curl openssh-server postfix

Bạn có thể đã cài đặt một số phần mềm này. Để cài đặt postfix , hãy chọn Internet Site khi được yêu cầu . Trên màn hình tiếp theo, hãy nhập domain của server của bạn để cấu hình cách hệ thống sẽ gửi thư.

Bước 2 - Cài đặt GitLab

Bây giờ các phụ thuộc đã sẵn sàng, ta có thể cài đặt GitLab. Đây là một quá trình đơn giản sử dụng lệnh cài đặt để cấu hình hệ thống của bạn với các repository GitLab.

Di chuyển vào /tmp và sau đó download lệnh cài đặt :

  • cd /tmp
  • curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

Vui lòng kiểm tra tập lệnh đã download đảm bảo rằng bạn thấy phù hợp với các hành động mà nó sẽ thực hiện. Bạn cũng có thể tìm thấy version được lưu trữ trên server của tập lệnh tại đây :

  • less /tmp/script.deb.sh

Khi thấy ổn với sự an toàn của tập lệnh, hãy chạy trình cài đặt:

  • sudo bash /tmp/script.deb.sh

Tập lệnh sẽ cài đặt server của bạn để sử dụng các repository được duy trì của GitLab. Điều này cho phép bạn quản lý GitLab bằng cùng các công cụ quản lý gói mà bạn sử dụng cho các gói hệ thống khác của bạn . Sau khi hoàn tất, bạn có thể cài đặt ứng dụng GitLab thực với apt :

  • sudo apt install gitlab-ce

Thao tác này sẽ cài đặt các thành phần cần thiết trên hệ thống.

Bước 3 - Điều chỉnh các luật firewall

Trước khi cấu hình GitLab, bạn cần đảm bảo các luật firewall của bạn đủ cho phép để cho phép lưu lượng truy cập web. Nếu bạn làm theo hướng dẫn được liên kết trong yêu cầu , bạn sẽ có một firewall ufw được kích hoạt.

Xem trạng thái hiện tại của firewall đang hoạt động của bạn bằng lệnh :

  • sudo ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

Như bạn thấy , các luật hiện tại cho phép lưu lượng SSH thông qua, nhưng quyền truy cập vào các dịch vụ khác bị hạn chế. Vì GitLab là một ứng dụng web, ta nên cho phép truy cập HTTP. Vì ta sẽ tận dụng khả năng của GitLab để yêu cầu và kích hoạt certificate TLS / SSL miễn phí từ Let's Encrypt , nên ta cũng cho phép truy cập HTTPS.

Giao thức ánh xạ cổng cho HTTP và HTTPS có sẵn trong file /etc/services , vì vậy ta có thể cho phép lưu lượng truy cập đó theo tên. Nếu bạn chưa bật lưu lượng OpenSSH, thì bây giờ bạn cũng nên cho phép lưu lượng đó:

  • sudo ufw allow http
  • sudo ufw allow https
  • sudo ufw allow OpenSSH

Kiểm tra lại ufw status ; bạn sẽ thấy quyền truy cập được cấu hình cho ít nhất hai dịch vụ sau:

  • sudo ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)

Kết quả trên cho biết rằng giao diện web GitLab sẽ có thể truy cập được sau khi ta cấu hình ứng dụng.

Bước 4 - Chỉnh sửa file cấu hình GitLab

Trước khi có thể sử dụng ứng dụng, bạn cần cập nhật file cấu hình và chạy lệnh cấu hình lại. Đầu tiên, hãy mở file cấu hình của Gitlab:

  • sudo nano /etc/gitlab/gitlab.rb

Gần trên cùng là dòng cấu hình external_url . Cập nhật nó để phù hợp với domain của bạn. Thay đổi http thành https để GitLab sẽ tự động chuyển hướng user đến trang web được bảo vệ bởi certificate Let's Encrypt:

/etc/gitlab/gitlab.rb
##! For more details on configuring external_url see: ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab external_url 'https://example.com' 

Tiếp theo, hãy tìm cài đặt letsencrypt['contact_emails'] . Cài đặt này xác định danh sách địa chỉ email mà dự án Let's Encrypt có thể sử dụng để liên hệ với bạn nếu có vấn đề với domain của bạn. Bạn nên bỏ ghi chú và điền vào phần này để bạn biết bất kỳ vấn đề nào:

/etc/gitlab/gitlab.rb
letsencrypt['contact_emails'] = ['sammy@example.com'] 

Lưu và đóng file . Chạy lệnh sau để cấu hình lại Gitlab:

  • sudo gitlab-ctl reconfigure

Thao tác này sẽ khởi tạo GitLab bằng cách sử dụng thông tin nó có thể tìm thấy về server của bạn. Đây là một quá trình hoàn toàn tự động, vì vậy bạn sẽ không phải trả lời bất kỳ dấu nhắc nào. Quá trình này cũng sẽ cấu hình certificate Let's Encrypt cho domain của bạn.

Bước 5 - Thực hiện cấu hình ban đầu thông qua giao diện web

Với việc GitLab đang chạy và được phép truy cập, ta có thể thực hiện một số cấu hình ban đầu của ứng dụng thông qua giao diện web.

Đăng nhập lần đầu tiên

Truy cập domain của server GitLab trong trình duyệt web :

https://example.com 

Trong lần đầu tiên truy cập, bạn sẽ thấy dấu nhắc ban đầu đặt password cho account quản trị:

 Dấu nhắc  đặt password  ban đầu của GitLab

Trong dấu nhắc password ban đầu, hãy cung cấp và xác nhận password an toàn cho account quản trị. Nhấp vào nút Thay đổi password của bạn khi bạn hoàn tất.

Bạn sẽ được chuyển hướng đến trang đăng nhập GitLab thông thường:

 Dấu nhắc  đăng nhập GitLab lần đầu tiên

Tại đây, bạn có thể đăng nhập bằng password vừa đặt. Các thông tin đăng nhập là:

  • Tên user : root
  • Mật khẩu: [mật khẩu bạn đặt]

Nhập các giá trị này vào các trường cho user hiện tại và nhấp vào nút Đăng nhập . Bạn sẽ được đăng nhập vào ứng dụng và được đưa đến trang đích nhắc bạn bắt đầu thêm các dự án:

Trang đích đăng nhập ban đầu của GitLab

Như vậy, bạn có thể thực hiện một số thay đổi đơn giản để cài đặt GitLab theo cách bạn muốn.

Điều chỉnh cài đặt profile của bạn

Một trong những điều đầu tiên bạn nên làm sau khi cài đặt mới là làm cho profile của bạn trở nên tốt hơn. GitLab chọn một số giá trị mặc định hợp lý, nhưng chúng thường không phù hợp khi bạn bắt đầu sử dụng phần mềm.

Để thực hiện các sửa đổi cần thiết, hãy nhấp vào biểu tượng user ở góc trên bên phải của giao diện. Trong menu thả xuống xuất hiện, chọn Cài đặt :

Nút cài đặt profile  GitLab

Bạn sẽ được đưa đến phần Hồ sơ trong cài đặt của bạn :

Trang cài đặt profile  GitLab

Điều chỉnh Tên và địa chỉ Email từ “ Administrator ” và “ admin@example.com ” thành tên chính xác hơn. Tên bạn chọn sẽ được hiển thị cho những user khác, trong khi email sẽ được sử dụng để phát hiện ảnh đại diện mặc định, thông báo, tác vụ Git thông qua giao diện, v.v.

Nhấp vào nút Cập nhật cài đặt cấu hình ở dưới cùng khi bạn hoàn tất:

Nút cài đặt cấu hình cập nhật GitLab

Một email xác nhận sẽ được gửi đến địa chỉ bạn đã cung cấp. Làm theo hướng dẫn trong email để xác nhận account của bạn để bạn có thể bắt đầu sử dụng nó với GitLab.

Thay đổi tên account của bạn

Tiếp theo, nhấp vào mục Tài khoản trong thanh menu bên trái:

Mục menu account  GitLab

Tại đây, bạn có thể tìm thấy mã thông báo API riêng tư của bạn hoặc cấu hình xác thực hai yếu tố. Tuy nhiên, chức năng mà ta quan tâm lúc này là phần Thay đổi tên user .

Theo mặc định, account quản trị đầu tiên được đặt tên gốc . Vì đây là một tên account đã biết, nên sẽ an toàn hơn khi thay đổi tên này thành một tên khác. Bạn vẫn sẽ có quyền quản trị; điều duy nhất sẽ thay đổi là tên. Thay thế root bằng tên user bạn muốn :

Phần thay đổi tên  user  GitLab

Nhấp vào nút Cập nhật tên user để thực hiện thay đổi:

Nút tên  user  cập nhật GitLab

Lần tới khi bạn đăng nhập vào GitLab, hãy nhớ sử dụng tên user mới của bạn.

Thêm SSH key vào account của bạn

Trong hầu hết các trường hợp, bạn cần sử dụng các SSH key với Git để tương tác với các dự án GitLab của bạn . Để thực hiện việc này, bạn cần thêm public key SSH vào account GitLab của bạn .

Nếu bạn đã tạo một cặp SSH key trên máy tính local của bạn , bạn thường có thể xem public key bằng lệnh :

  • cat ~/.ssh/id_rsa.pub

Bạn sẽ thấy một lượng lớn văn bản, như thế này:

Output
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop

Sao chép văn bản này và quay lại trang Cài đặt Cấu hình trong giao diện web của GitLab.

Thay vào đó, nếu bạn nhận được một thông báo giống như thế này, bạn chưa có cặp SSH key được cấu hình trên máy của bạn :

Output
cat: /home/sammy/.ssh/id_rsa.pub: No such file or directory

Nếu đúng như vậy, bạn có thể tạo cặp SSH key bằng lệnh :

  • ssh-keygen

Chấp nhận các giá trị mặc định và tùy chọn cung cấp password để bảo mật khóa local :

Output
Generating public/private rsa key pair. Enter file in which to save the key (/home/sammy/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/sammy/.ssh/id_rsa. Your public key has been saved in /home/sammy/.ssh/id_rsa.pub. The key fingerprint is: SHA256:I8v5/M5xOicZRZq/XRcSBNxTQV2BZszjlWaIHi5chc0 sammy@gitlab.docsthat.work The key's randomart image is: +---[RSA 2048]----+ | ..%o==B| | *.E =.| | . ++= B | | ooo.o . | | . S .o . .| | . + .. . o| | + .o.o ..| | o .++o . | | oo=+ | +----[SHA256]-----+

Khi bạn có điều này, bạn có thể hiển thị public key của bạn như trên bằng lệnh :

  • cat ~/.ssh/id_rsa.pub
Output
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop

Sao chép khối văn bản được hiển thị và quay lại Cài đặt profile của bạn trong giao diện web của GitLab.

Nhấp vào mục SSH Keys ở menu bên trái:

Mục menu GitLab SSH Keys

Trong không gian được cung cấp, hãy dán public key bạn đã sao chép từ máy local của bạn . Đặt cho nó một tiêu đề mô tả và nhấp vào nút Thêm khóa :

GitLab thêm SSH Key

Như vậy, bạn có thể quản lý các dự án và repository GitLab của bạn từ máy local mà không cần phải cung cấp thông tin đăng nhập account GitLab của bạn .

Bước 6 - Hạn chế hoặc vô hiệu hóa đăng ký công khai (Tùy chọn)

Bạn có thể nhận thấy rằng bất kỳ ai cũng có thể đăng ký account khi bạn truy cập trang đích của version GitLab của bạn . Đây có thể là những gì bạn muốn nếu bạn đang muốn tổ chức dự án công cộng. Tuy nhiên, nhiều khi mong muốn các cài đặt hạn chế hơn.

Để bắt đầu, hãy đến khu vực quản trị bằng cách nhấp vào biểu tượng cờ lê trong thanh menu chính ở đầu trang:

Nút khu vực quản trị GitLab

Trên trang tiếp theo, bạn có thể thấy tổng quan về toàn bộ version GitLab của bạn . Để điều chỉnh cài đặt, hãy nhấp vào mục Cài đặt ở cuối menu bên trái:

Nút cài đặt quản trị GitLab

Bạn sẽ được đưa đến cài đặt chung cho version GitLab của bạn . Tại đây, bạn có thể điều chỉnh một số cài đặt ảnh hưởng đến việc liệu user mới có thể đăng ký hay không và mức độ truy cập của họ.

Tắt đăng ký

Nếu bạn muốn tắt hoàn toàn đăng ký (bạn vẫn có thể tạo account cho user mới theo cách thủ công), hãy cuộn xuống phần Hạn chế đăng ký .

Bỏ chọn hộp kiểm Đã bật đăng ký:

GitLab bỏ chọn các đăng ký đã bật

Cuộn xuống dưới cùng và nhấp vào nút Lưu thay đổi :

Nút lưu cài đặt GitLab

Phần đăng ký bây giờ sẽ được xóa khỏi trang đích GitLab.

Hạn chế đăng ký theo domain

Nếu bạn đang sử dụng GitLab như một phần của tổ chức cung cấp địa chỉ email được liên kết với domain , bạn có thể hạn chế đăng ký theo domain thay vì tắt hoàn toàn chúng.

Trong phần Giới hạn Đăng ký , hãy chọn hộp Gửi email xác nhận khi đăng ký , điều này sẽ cho phép user chỉ đăng nhập sau khi họ đã xác nhận email của bạn .

Tiếp theo, thêm domain hoặc các domain của bạn vào hộp Các miền thuộc danh sách trắng để đăng ký , mỗi domain một dòng. Bạn có thể sử dụng dấu hoa thị “*” để chỉ định các domain ký tự đại diện:

GitLab hạn chế đăng ký theo domain

Cuộn xuống dưới cùng và nhấp vào nút Lưu thay đổi :

Nút lưu cài đặt GitLab

Phần đăng ký bây giờ sẽ được xóa khỏi trang đích GitLab.

Hạn chế tạo dự án

Theo mặc định, user mới có thể tạo tối đa 10 dự án. Nếu bạn muốn cho phép user mới từ bên ngoài hiển thị và tham gia, nhưng muốn hạn chế quyền truy cập của họ để tạo dự án mới, bạn có thể làm như vậy trong phần Cài đặt account và giới hạn .

Bên trong, bạn có thể thay đổi giới hạn Dự án mặc định thành 0 để vô hiệu hóa hoàn toàn user mới tạo dự án:

GitLab đặt các dự án thành 0

User mới vẫn có thể được thêm vào các dự án theo cách thủ công và sẽ có quyền truy cập vào các dự án nội bộ hoặc công khai do user khác tạo.

Cuộn xuống dưới cùng và nhấp vào nút Lưu thay đổi :

Nút lưu cài đặt GitLab

User mới bây giờ sẽ có thể tạo account , nhưng không thể tạo dự án.

Gia hạn certificate Let's Encrypt

Theo mặc định, GitLab có một tác vụ đã lên lịch được cài đặt để gia hạn certificate Let's Encrypt sau nửa đêm mỗi ngày thứ tư, với số phút chính xác dựa trên external_url của bạn. Bạn có thể sửa đổi các cài đặt này trong file /etc/gitlab/gitlab.rb . Ví dụ: nếu bạn muốn gia hạn mỗi ngày thứ 7 lúc 12:30, bạn có thể cấu hình như sau:

/etc/gitlab/gitlab.rb
letsencrypt['auto_renew_hour'] = "12" letsencrypt['auto_renew_minute'] = "30" letsencrypt['auto_renew_day_of_month'] = "*/7" 

Bạn cũng có thể tắt tính năng tự động gia hạn bằng cách thêm cài đặt bổ sung vào /etc/gitlab/gitlab.rb :

/etc/gitlab/gitlab.rb
letsencrypt['auto_renew'] = false 

Với tính năng tự động gia hạn tại chỗ, bạn sẽ không cần phải lo lắng về việc gián đoạn dịch vụ.

Kết luận

Đến đây bạn sẽ có một version GitLab đang hoạt động được lưu trữ trên server của bạn . Bạn có thể bắt đầu nhập hoặc tạo các dự án mới và cấu hình cấp độ truy cập thích hợp cho group của bạn . GitLab thường xuyên bổ sung các tính năng và cập nhật nền tảng của họ, vì vậy hãy nhớ xem trang chủ của dự án để cập nhật bất kỳ cải tiến hoặc thông báo quan trọng nào.


Tags:

Các tin liên quan

Cách cài đặt Git trên Ubuntu 18.04
2018-07-06
Cách cài đặt và cấu hình Postfix trên Ubuntu 18.04
2018-07-06
Cách thiết lập vsftpd cho Thư mục người dùng trên Ubuntu 18.04
2018-07-06
Cách cài đặt WordPress với LAMP trên Ubuntu 18.04
2018-07-06
Cách thiết lập ứng dụng Node.js để sản xuất trên Ubuntu 18.04
2018-07-05
Cách thêm không gian swap trên Ubuntu 18.04
2018-07-05
Cách thiết lập NFS Mount trên Ubuntu 18.04
2018-07-05
Cách cài đặt và cấu hình Nextcloud trên Ubuntu 18.04
2018-07-05
Cách cài đặt và cấu hình ownCloud trên Ubuntu 18.04
2018-07-05
Cách thiết lập firewall với UFW trên Ubuntu 18.04
2018-07-05