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.