Cách cài đặt Gitea với PostgreSQL trên Debian 11

theanh

Administrator
Nhân viên
Gitea là giải pháp tự lưu trữ, mã nguồn mở và miễn phí cho máy chủ Git. Gitea được viết bằng ngôn ngữ lập trình Go, một ứng dụng nhẹ, có sẵn dưới dạng gói nhị phân có thể cài đặt trên hầu hết các nền tảng bao gồm Windows, Linux và macOS. Đây là một trong những giải pháp thay thế mạnh mẽ, có khả năng mở rộng, nhanh, dễ sử dụng cho GitLab.

Gitea cung cấp nhiều tính năng bao gồm trình chỉnh sửa tệp kho lưu trữ, theo dõi lỗi và thời gian, phân nhánh kho lưu trữ, khóa tệp, wiki tích hợp, hợp nhất, Hỗ trợ nhiều cơ sở dữ liệu, Quy trình nâng cấp dễ dàng, Container Registry tích hợp và nhiều tính năng khác.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Gitea từ tệp nhị phân với PostgreSQL trên Debian 11.

Điều kiện tiên quyết​

  • Máy chủ chạy Debian 11.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Bước 1 – Cập nhật hệ điều hành​

Trước khi bắt đầu cài đặt Gitea, hãy chạy lệnh bên dưới để cập nhật hệ thống của bạn lên phiên bản mới nhất.
Mã:
sudo apt-get update -y

sudo apt-get upgrade -y

Bước 2 – Cài đặt và cấu hình PostgreSQL​

Gitea hỗ trợ tất cả các cơ sở dữ liệu chính như MySQL, MariaDB, SQLite, MySQL và PostgreSQL, nhưng trong hướng dẫn này, PostgreSQL được sử dụng làm cơ sở dữ liệu Gitea.

Đầu tiên, hãy tạo Kho lưu trữ PostgreSQL bằng lệnh sau:
Mã:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Tiếp theo, bạn sẽ cần nhập khóa ký kho lưu trữ:
Mã:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Bây giờ, hãy cài đặt PostgreSQL bằng cách sử dụng các lệnh sau:
Mã:
sudo apt-get update

sudo apt-get -y install postgresql
Tiếp theo, hãy khởi động dịch vụ PostgreSQL, bật dịch vụ này khi khởi động hệ thống và kiểm tra trạng thái dịch vụ PostgreSQL bằng lệnh sau:
Mã:
sudo systemctl start postgresql

sudo systemctl enable postgresql

sudo systemctl status postgresql


Tiếp theo, bạn cần chuyển từ lược đồ mã hóa md5 sang lược đồ 'SCRAM-SHA-256' để bảo mật tốt hơn. Nếu bạn muốn kết nối với PostgreSQL từ xa, thì bạn cần cho phép địa chỉ IP của mình trong tệp cấu hình PostgreSQL. Mở tệp Cấu hình để thực hiện thay đổi bằng lệnh sau:
Mã:
sudo vim /etc/postgresql/14/main/postgresql.conf
Nếu bạn đã cài đặt phiên bản PostgreSQL khác, hãy thay đổi đường dẫn lệnh ở trên theo phiên bản đó.

Tiếp theo, hãy thay đổi các biến sau theo yêu cầu của bạn:
Mã:
listen_addresses = 'localhost, 134.122.38.45'
password_encryption = scram-sha-256
Lưu và thoát tệp rồi khởi động lại dịch vụ PostgreSQL để áp dụng các thay đổi.
Mã:
sudo systemctl restart postgresql
Tiếp theo, Đăng nhập vào shell PostgreSQL bằng lệnh sau:
Mã:
sudo -u postgres psql
Sau đó, tạo vai trò người dùng và cơ sở dữ liệu cho Gitea bằng cách thực thi lệnh sau:
Mã:
postgres=# TẠO VAI TRÒ gitea VỚI MẬT KHẨU ĐĂNG NHẬP 'secure@123';

postgres=# TẠO CƠ SỞ DỮ LIỆU giteadb;

postgres=# CẤP TẤT CẢ CÁC QUYỀN TRÊN CƠ SỞ DỮ LIỆU giteadb CHO gitea;

postgres=# thoát
Tại đây, bạn cần đặt tên người dùng, tên cơ sở dữ liệu và mật khẩu của mình cho Gitea.



Tại thời điểm này, PostgreSQL của bạn đã thiết lập và sẵn sàng cho Gitea, hãy xác minh cài đặt xác thực trong tệp /etc/postgresql/14/main/pg_hba.conf.

Theo mặc định, PostgreSQL chấp nhận tất cả các kết nối cục bộ.
Mã:
lưu trữ tất cả tất cả 127.0.0.1/32 scram-sha-256
Nếu bạn muốn sử dụng giteadb từ xa, hãy thêm dòng sau với địa chỉ IP của bạn trong /etc/postgresql/14/main/pg_hba.conf
Mã:
host giteadb gitea 134.122.38.0/32 scram-sha-256


Bước 3 – Cài đặt và cấu hình Git​

Tiếp theo, cài đặt git bằng lệnh sau:
Mã:
sudo apt install git
Xác minh cài đặt git bằng cách kiểm tra phiên bản Git:
Mã:
git --version
Đầu ra:-
Mã:
git version 2.30.2
Tiếp theo, bạn cần đặt tên và địa chỉ email của mình cho Git.
Mã:
git config --global user.name "Tên của bạn"

git config --global user.email "[emailprotected]”
Bạn có thể kiểm tra cấu hình Git của mình bằng cách sử dụng lệnh sau.
Mã:
git config --list
Đầu ra:-
Mã:
user.name=Tên của bạn
[emailprotected]

Bước 4 – Tạo người dùng git cho Gitea​

Bây giờ, bạn sẽ cần tạo một người dùng Gitea. Bạn có thể thực hiện việc này bằng lệnh sau:
Mã:
sudo adduser \
 --system \
 --shell /bin/bash \
 --gecos 'Git Version Control' \
 --group \
 --disabled-password \
 --home /home/git \
 git
Điều này sẽ tạo một người dùng git mới.

Bước 5 – Cài đặt và cấu hình Gitea​

Truy cập Trang tải xuống của Gitea và tải xuống phiên bản mới nhất của tệp nhị phân Gitea có sẵn. Tại thời điểm viết hướng dẫn này, phiên bản mới nhất của Gitea là 1.15.7. Bạn có thể thay đổi biến VERSION trong lệnh bên dưới để cài đặt bất kỳ phiên bản nào khác.
Mã:
cd /tmp
Mã:
GITEAVERSION=1.15.7
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64
Tiếp theo, di chuyển tệp nhị phân Gitea đến đường dẫn hệ thống bằng lệnh sau:
Mã:
sudo mv /tmp/gitea /usr/local/bin
Tiếp theo, đặt quyền thực thi cho tệp nhị phân Gitea bằng cách chạy lệnh sau vào thiết bị đầu cuối:
Mã:
chmod +x /usr/local/bin/gitea
Tiếp theo, bạn sẽ cần tạo cấu trúc thư mục cho Gitea, để thực hiện, hãy chạy các lệnh sau:
Mã:
sudo mkdir -p /etc/gitea

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
Tiếp theo, cấp các quyền cần thiết để Gitea hoạt động bình thường bằng các lệnh sau:
Mã:
sudo chown -R git:git /var/lib/gitea/

sudo chown root:git /etc/gitea

sudo chmod -R 750 /var/lib/gitea/

sudo chmod 770 /etc/gitea
Tiếp theo, tạo tệp dịch vụ systemd cho Gitea bằng lệnh sau:
Mã:
vim /etc/systemd/system/gitea.service
Dán mã sau vào nó.
Mã:
[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=postgresql.service

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target
Lưu và thoát khỏi tệp. Sau đó tải lại daemon systemd và khởi động dịch vụ Gitea bằng lệnh bên dưới:
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl start gitea
Tiếp theo, bạn cần bật dịch vụ Gitea khi khởi động lại hệ thống:
Mã:
sudo systemctl enable gitea
Tiếp theo, xác minh trạng thái của Gitea bằng lệnh sau:
Mã:
sudo systemctl status gitea
Bạn sẽ thấy đầu ra sau:




Như bạn thấy, Gitea được khởi động và chạy trên cổng 3000 theo mặc định. Bạn có thể xác minh cổng Gitea bằng lệnh sau:
Mã:
netstat -tulpan | grep 3000
Bạn sẽ thấy đầu ra như bên dưới:
Mã:
tcp6 0 0 :::3000 :::* LISTEN 43778/gitea

Bước 6 – Truy cập Giao diện web Gitea​

Gitea hiện đang hoạt động và lắng nghe trên cổng 3000 theo mặc định. Mở trình duyệt của bạn và nhập https://YOURIPADDRESS:3000.

Tiếp theo, điền các tham số bắt buộc như sau:

Cài đặt cơ sở dữ liệu

Loại cơ sở dữ liệu: PostgreSQL
Máy chủ: 127.0.0.1:5432
Tên người dùng: gitea
Mật khẩu: Nhập mật khẩu bạn đã chọn trong quá trình tạo vai trò Postgres.
Tên cơ sở dữ liệu: giteadb
SSL: Tắt





Cài đặt chung


Tiêu đề trang web: Tiêu đề bạn chọn.
Đường dẫn gốc của kho lưu trữ: /var/lib/gitea/data/repositories
Đường dẫn gốc của Git LFS: /var/lib/gitea/data/lfs
Chạy dưới dạng Tên người dùng: git
Tên miền máy chủ SSH: your_domain/IP
Cổng máy chủ SSH: 22
Gitea HTTP Listen Post: 3000
URL cơ sở Gitea: http://youripaddress:3000
Đường dẫn nhật ký: /var/lib/gitea/log



Ở giai đoạn này, bạn có thể cấu hình email, Máy chủ và Cài đặt của bên thứ ba hoặc bạn có thể thực hiện sau. Tuy nhiên, bạn nên cấu hình Tên người dùng

Quản trị viên

để đăng nhập vào Gitea. Do đó, hãy vào Cài đặt tùy chọn và nhập thông tin chi tiết về Cài đặt tài khoản quản trị viên và tạo 'Người dùng quản trị viên' cho Gitea.





Tiếp theo, nhấp vào nút 'Cài đặt Gitea'. Sau khi quá trình cài đặt hoàn tất thành công, bạn sẽ được chuyển hướng đến bảng điều khiển Gitea hiển thị ở trang sau:



Bây giờ, bạn có thể khám phá Gitea và từ tùy chọn Quản trị trang web từ tài khoản quản trị của mình, bạn có thể thiết lập các dịch vụ của bên thứ 3 khác như tích hợp thư mục hoạt động của windows với Gitea.




Bước 7 – Thiết lập Thông báo qua Email​

Bạn có thể bật Thông báo qua Email trong Gitea bằng Sendmail hoặc qua dịch vụ Email của bên thứ 3 như Amazon SES, Sendgrid.

Để bật Thông báo qua Email, hãy mở tệp cấu hình Gitea bằng lệnh sau:
Mã:
vim /etc/gitea/app.in
Tiếp theo, hãy chỉnh sửa phần sau trong tệp và thêm mã sau theo cài đặt email của bạn.
Mã:
[mailer]
ENABLED = true
FROM = [emailprotected]
MAILER_TYPE = smtp
HOST = mail.example.com:587
IS_TLS_ENABLED = true
USER = [emailprotected]
PASSWD = password
Lưu và thoát tệp rồi khởi động lại dịch vụ Gitea để áp dụng các thay đổi:
Mã:
sudo systemctl restart gitea

Bước 10 – Cập nhật Gitea​

Nâng cấp Gitea là một quá trình dễ dàng và bạn chỉ cần tải xuống và thay thế tệp nhị phân Gitea.

Đầu tiên, hãy dừng dịch vụ Gitea:
Mã:
sudo systemctl stop gitea
Tiếp theo, hãy tải xuống và cài đặt tệp nhị phân Gitea bằng lệnh sau:
Mã:
cd /tmp
GITEAVERSION=LATESTVERSION
wget -O gitea https://dl.gitea.io/gitea/${GITEAVERSION}/gitea-${GITEAVERSION}-linux-amd64
sudo mv gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
Tiếp theo, hãy khởi động dịch vụ Gitea bằng lệnh sau:
Mã:
sudo systemctl start gitea
Bây giờ, Gitea của bạn đã được cập nhật mà không có thời gian chết nào.

Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công dịch vụ git Gitea trên Debian 11. Bây giờ bạn có thể dễ dàng cập nhật Gitea và quản lý kho lưu trữ git của mình thông qua trình duyệt web. Ngoài ra, bạn có thể hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên