> 技术文档 > 搭建私有代码仓库:Ubuntu 下的 Gitea 安装指南_ubuntu安装gitea

搭建私有代码仓库:Ubuntu 下的 Gitea 安装指南_ubuntu安装gitea


简介

Gitea 是一个开源的代码托管平台,它以其轻量级和易用性而闻名。作为一个自托管的 Git 服务,它提供了类似 GitHub/GitLab 的核心功能,包括仓库管理、问题追踪、代码审查等,但资源占用更少,部署维护更简单。

无论是个人开发者想要搭建私人代码库,还是小型团队需要一个自主可控的协作平台,Gitea 都是一个理想的选择。它的主要特点包括:

  • 安装简单:一个二进制文件即可运行
  • 资源友好:最低配置即可流畅运行
  • 功能完整:支持 Pull Requests、Wiki、CI/CD 等
  • 跨平台:支持 Linux、Windows、macOS 等多个系统

本教程将指导你在 Ubuntu 22.04 系统上搭建 Gitea 服务,包括环境配置、安装部署和安全加固等完整步骤。

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

  • 准备一台云服务器

若尚未拥有服务器,可前往 雨云官网 https://rainyun.ivwv.site 进行注册,新用户有专属优惠。

安装步骤

1. 更新系统

首先更新系统包:

sudo apt update -y

2. 安装 Nginx

Nginx 将作为反向代理,让我们能够通过域名访问 Gitea:

sudo apt install nginx -y

3. 配置防火墙

如果你启用了防火墙,需要开放 HTTP 和 HTTPS 端口:

sudo ufw allow 80/tcpsudo ufw allow 443/tcp

4. 安装 PostgreSQL 数据库

Gitea 支持多种数据库,这里我们选择 PostgreSQL(版本 >= 12)作为数据库。

添加 PostgreSQL 官方源:

sudo sh -c \'echo \"deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main\" > /etc/apt/sources.list.d/pgdg.list\'

导入签名密钥:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

更新包列表:

sudo apt-get update

安装 PostgreSQL:

sudo apt-get -y install postgresql

5. 配置 PostgreSQL

首先修改密码加密方式为 SCRAM-SHA-256:

sudo nano /etc/postgresql/16/main/postgresql.conf

找到并修改(如果没有则添加):

password_encryption = scram-sha-256

登录 PostgreSQL 控制台:

su -c \"psql\" - postgres

创建数据库用户:

CREATE ROLE gitea WITH LOGIN PASSWORD \'gitea\';

创建数据库:

CREATE DATABASE giteadb WITH OWNER gitea TEMPLATE template0 ENCODING UTF8 LC_COLLATE \'en_US.UTF-8\' LC_CTYPE \'en_US.UTF-8\';

编辑认证配置:

local giteadb gitea scram-sha-256

重启 PostgreSQL:

sudo systemctl restart postgresql

6. 安装 Gitea

下载 Gitea 二进制文件:

wget -O gitea https://dl.gitea.com/gitea/1.21.4/gitea-1.21.4-linux-amd64

设置执行权限:

chmod +x gitea

创建 git 用户:

adduser \\\\ --system \\\\ --shell /bin/bash \\\\ --gecos \'Git Version Control\' \\\\ --group \\\\ --disabled-password \\\\ --home /home/git \\\\ git

创建必要的目录结构:

mkdir -p /var/lib/gitea/{custom,data,log}chown -R git:git /var/lib/gitea/chmod -R 750 /var/lib/gitea/mkdir /etc/giteachown root:git /etc/giteachmod 770 /etc/gitea

复制 Gitea 二进制文件到系统目录:

cp gitea /usr/local/bin/gitea

7. 配置 Gitea 系统服务

创建服务配置文件:

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

添加以下内容:

[Unit]Description=Gitea (Git with a cup of tea)After=syslog.targetAfter=network.targetWants=postgresql.serviceAfter=postgresql.serviceRestartSec=2sType=simpleUser=gitGroup=gitWorkingDirectory=/var/lib/gitea/ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.iniRestart=alwaysEnvironment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea[Install]WantedBy=multi-user.target

启用并启动服务:

systemctl daemon-reloadsystemctl enable giteasystemctl start gitea

8. 配置 Nginx

创建 Nginx 配置文件:

sudo nano /etc/nginx/sites-available/your_domain.conf

添加以下配置:

server { listen 80; server_name your_domain; location / { client_max_body_size 512M; proxy_pass <http://localhost:3000>; proxy_set_header Connection $http_connection; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}

启用配置:

sudo ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/your_domain.conf

测试并重启 Nginx:

nginx -tsudo systemctl restart nginx

9. 配置 SSL 证书

安装 Certbot:

sudo apt install certbot python3-certbot-nginx -y

获取 SSL 证书:

sudo certbot --nginx -d your_domain

完成以上步骤后,访问你的域名,你会看到 Gitea 的初始化页面:

搭建私有代码仓库:Ubuntu 下的 Gitea 安装指南_ubuntu安装gitea

在这个页面中,你需要:

  1. 填写数据库配置信息
  2. 设置管理员账号(建议不要使用 admin 作为用户名)
  3. 根据需要调整其他配置项

至此,你已经完成了 Gitea 的完整安装和配置。现在你可以通过 HTTPS 安全地访问你的 Gitea 实例了。

相关链接
我的博客:https://blog.ivwv.site
雨云官网:https://rainyun.ivwv.site