Cài đặt Gitea trên CentOS 8

Tóm tắt nội dung

Gitea là một open source git server tự động lưu trữ và được viết bằng Go. Gitea cung cấp khả năng chỉnh sửa file trong kho lưu trữ , theo dõi vấn đề của dự án ,quản lý người dùng ,thông báo …. Gitea là ưu điểm là dung lượng nhẹ có thể đáp ứng cho những hệ thống tầm trung. Nếu bạn đang tìm giải pháp thay cho Gitlab thì Gitea là một lựa chọn với dung lượng nhỏ hơn. Bài viết này mình sẽ hướng dẫn cách cài đặt và cấu hình Gitea trên CenOS 8. Xem thêm: Cài đặt git trên centos 7

Cài Đặt SQlite

Gitea hỗ trợ nhiều cơ sở dữ liệu dưới dạng phụ trợ như SQlite, ProtgreSQL và  MySQL/MariaDB. Và mình sẽ sử dụng SQlite và cài đặt như sau :
# sudo dnf install sqlite
hãy đảm bảo đã tắt SELinux

Cài đặt Gitea

1. Cài đặt Git

sau khi đã cài đặt SQLite thì mình tiếp tục cài đặt thêm git. Bước đầu tiên để cài đặt Gitea mình sẽ cài đặt Git từ kho dữ liệu của CentOS :
# sudo dnf install git
Để biết git đã cài đặt chưa ta sử dụng cách kiểm tra phiên bản của Git :
# git --version

2. Tạo user Git

Dưới đây mình sẽ một số user và group và mình sẽ chỉ dịnh ở thư mục /home/git . Bắt đầu mình sẽ tạo người dùng để chạy ứng dụng Gitea :
# sudo useradd \
 --system \
 --shell /bin/bash \
 --comment 'Git Version Control' \
 --create-home \
 --home /home/git \
 git

3. Tải về file Gitea

Ở đây mình sẽ sử dụng phiên bản 1.12.3 và mình sử dụng wget để tải xuống thư mục /tmp
#  sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/1.12.3/gitea-1.12.3-linux-amd64
sau đó mình sẽ đi chuyển file vừa tải về vào thư mục /usr/local/bin :
# sudo mv /tmp/gitea /usr/local/bin
cấp thêm quyền x cho gitea :
# sudo chmod +x /usr/local/bin/gitea
Các câu lệnh phía dưới sẽ tạo ra các thư mục cần thiết và phân quyền :
# sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
# sudo chown git: /var/lib/gitea/{data,indexers,log}
# sudo chmod 750 /var/lib/gitea/{data,indexers,log}
# sudo mkdir /etc/gitea
# sudo chown root:git /etc/gitea
# sudo chmod 770 /etc/gitea
Cấu trúc thư mục ở trên được khuyến nghị bởi Gitea.

4. Tạo file đợn vị của hệ thống

Mình sẽ tải file systemd vào thư mục /etc/systemd/system/ như sau :
# sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/
Tiếp theo mình sẽ khởi động lại dịch vụ của Gitea :
# sudo systemctl daemon-reload

# sudo systemctl enable --now gitea

Cấu hình Gitea

Mặc định thì Gitea sẽ đi ở port 3000 nên mình sẽ mở port 3000 bằng lệnh sau :
# sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp

# sudo firewall-cmd --reload
Sau khi đã bật firewall thì mình mở trình duyệt và bắt đầu đăng nhập vào :
# http://"tên miền hoặc địa chỉ ip của bạn":3000/install
Và điền các thông tin sau :
  • Database Type thì chọn là SQLite3
  • Path là var//lib/gitea/gitea.db
  • SSH Server Domain mình để IP hoặc domain của mình
  • Gitea Base URL mình cũng để IP hoặc domain của mình
  • Các phần còn lại để mặc định
Sau khi đã nhập các thông tin trên bạn nhấp vào Install Gitea để cài đặt . Sau khi hoàn thành bạn sẽ đăng kí tài khoản và người dùng đầu tiên sẽ được thêm vào nhóm của quản trị viên. Và mình muốn an toàn hơn thì sẽ phân quyền lại thành chỉ có thể đọc như sau :
# chmod 750 /etc/gitea
# chmod 640 /etc/gitea/app.ini

Cấu hình để thông báo qua email

để email được gửi đi bạn cần cài đặt Postfix hoặc có thể sử dụng các dịch vụ mail khác . Mình sẽ sửa file sau để bật thông báo qua email :
# sudo vi /etc/gitea/app.ini

[mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD
Và sau đó mình khởi động lại Gitea :
# systemctl restart gitea
vậy là thông báo sẽ được gửi qua mail

Cách update Gitea

Vì gitea không có sẵn trong thư viện của CentOS nên  khi nâng cấp ta sẽ tải về bản mới nhất của Gitea và thay thế vào bản Gitea cũ. Và mình tiến hành như sau. Đầu tiên thì mình sẽ dừng tất cả dịch vụ của Gitea bằng lệnh :
# systemctl stop gitea
và mình sẽ lấy bản Gitea mới nhất và chuyển vào thư mục /usr/local/bin :
# VERSION=<THE_LATEST_GITEA_VERSION>
# wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
# mv /tmp/gitea /usr/local/bin
phân thêm quyền thực thi cho tệp mình mới chuyển :
# sudo chmod +x /usr/local/bin/gitea
sau đó khởi động lại dịch vụ Gitea là có thể sử dụng phiên bản mới nhất :
# sudo systemctl restart gitea

Kết Luận

Ở trên thì mình đã trình bày cách cài đặt Gitea trên CenOS 8 và cấu hình để có thể gửi thông báo qua mail… Nếu bạn có những câu hỏi nào hoặc vẫn đề nào đừng quên để lại câu hỏi bên dưới mình sẽ giải quyết tất cả cho bạn.

Nguồn : Linuxize.com

Logo Cloud Việt

Thông Tin Và Hoạt Động Của Chúng Tôi

Cloud Việt là đơn vị cung cấp dịch vụ TTDL uy tín tại Việt Nam. Với tiêu chí là đặt quyền lợi và trải nghiệm của khách hàng lên hàng đầu để  đem đến dịch vụ tốt nhất.

Trụ sở chính

110/20/41 đường số 30, phường 6, quận Gò Vấp, TPHCM

Ngày làm việc

Thứ 2 - Thứ 6, Hàng tuần

Giờ làm việc

08 : 00 AM - 18 : 00 PM

Email

Support@cloudviet.com.vn

Hotline

0972 710 812