Cách cài đặt Gitea trên Debian 9

Gitea là một hệ thống kiểm soát tự lưu trữ mã nguồn mở được cung cấp bởi Git. Gitea được viết bằng Golang.

* Những thứ cần chuẩn bị:

Debian 9.
Nginx
Git
MariaDBad

Bước 1: Cài đặt Nginx

Cập nhật danh sách gói của bạn.

sudo apt update

Cài đặt Nginx.

sudo apt -y install nginx

Sau khi cài đặt hoàn tất, hãy chạy các lệnh sau để bắt đầu và kích hoạt dịch vụ Nginx.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Bước 2: Cài đặt Git

sudo apt -y install git

Bước 3: Cài đặt máy chủ cơ sở dữ liệu MariaDB

MariaDB / MySQL
PostgreSQL
SQLite
TiDB

sudo apt -y install mariadb-server mariadb-client

Sau khi hoàn tất, hãy đảm bảo MariaDB được bật và chạy.

sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service

Sau đó, chạy lệnh bên dưới để bảo mật máy chủ MariaDB bằng cách tạo mật khẩu gốc và không cho phép truy cập root từ xa.

sudo mysql_secure_installation

Khi được nhắc, hãy trả lời các câu hỏi dưới đây bằng cách làm theo hướng dẫn.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Khởi động lại MariaDB.

sudo systemctl restart mariadb.service

Nhập lệnh bên dưới để đăng nhập vào bảng điều khiển MariaDB.

sudo mysql -u root -p

Sau đó nhập mật khẩu bạn đã tạo ở trên để đăng nhập. Bạn sẽ thấy thông báo chào mừng MariaDB.

Tạo một cơ sở dữ liệu được gọi là gitea.

CREATE DATABASE gitea;

Tạo một người dùng cơ sở dữ liệu được gọi giteauservới một mật khẩu mới.

CREATE USER ‘giteauser’@’localhost’ IDENTIFIED BY ‘new_password_here’;

Hãy chắc chắn rằng bạn thay thế new_password_here bằng một mật khẩu mạnh và phức tạp.

Sau đó cấp cho người dùng toàn quyền truy cập vào cơ sở dữ liệu.

GRANT ALL ON gitea.* TO ‘giteauser’@’localhost’ IDENTIFIED BY ‘user_password_here’ WITH GRANT OPTION;

Cuối cùng, lưu các thay đổi của bạn và thoát.

FLUSH PRIVILEGES;
EXIT;

Bước 4: Chuẩn bị môi trường Gitea

Tạo người dùng để chạy Gitea.

sudo adduser –system –shell /bin/bash –gecos ‘Git Version Control’ –group –disabled-password –home /home/git git

Tạo cấu trúc thư mục cần thiết.

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: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

Bước 5: Cài đặt Gitea

 

sudo cp gitea /usr/local/bin/gitea

Bước 6: Tạo tệp dịch vụ để tự động khởi động Gitea

Tạo một tệp dịch vụ linux.

sudo touch /etc/systemd/system/gitea.service

Sử dụng trình soạn thảo văn bản:

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mariadb.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
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
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target
Kích hoạt và khởi động Gitea khi khởi động.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Đảm bảo Gitea đang chạy.

sudo systemctl status gitea

Bước 7: Định cấu hình Nginx làm proxy ngược

Xóa tập tin cấu hình nginx mặc định.

sudo rm /etc/nginx/sites-enabled/default

Tạo cấu hình proxy ngược cho Gitea.

sudo touch /etc/nginx/sites-available/git

Nhập tệp với cấu hình sau, đảm bảo bạn thay thế example.combằng tên miền hoặc địa chỉ IP.

upstream gitea {
server 127.0.0.1:3000;
}

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com;
root /var/lib/gitea/public;
access_log off;
error_log off;

location / {
try_files maintain.html $uri $uri/index.html @node;
}

location @node {
client_max_body_size 0;
proxy_pass http://localhost:3000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_read_timeout 120;
}
}
Kích hoạt cấu hình proxy ngược Gitea Nginx.

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled/git

Sau đó tải lại Dịch vụ Nginx.

sudo systemctl reload nginx.service

Tiếp theo, mở trình duyệt của bạn và duyệt đến tên máy chủ hoặc địa chỉ IP của máy chủ.

http://YOUR_SERVER_IP/install
Thực hiện theo các hướng dẫn trên màn hình để hoàn tất cài đặt Gitea.

Leave a Reply

Your email address will not be published. Required fields are marked *