搭建私有代码仓库:Ubuntu 下的 Gitea 安装指南
Gitea 是一个开源的代码托管平台,它以其轻量级和易用性而闻名。作为一个自托管的 Git 服务,它提供了类似 GitHub/GitLab 的核心功能,包括仓库管理、问题追踪、代码审查等,但资源占用更少,部署维护更简单。无论是个人开发者想要搭建私人代码库,还是小型团队需要一个自主可控的协作平台,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/tcp
sudo 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/gitea
chown root:git /etc/gitea
chmod 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.target
After=network.target
Wants=postgresql.service
After=postgresql.service
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
启用并启动服务:
systemctl daemon-reload
systemctl enable gitea
systemctl 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 -t
sudo systemctl restart nginx
9. 配置 SSL 证书
安装 Certbot:
sudo apt install certbot python3-certbot-nginx -y
获取 SSL 证书:
sudo certbot --nginx -d your_domain
完成以上步骤后,访问你的域名,你会看到 Gitea 的初始化页面:
在这个页面中,你需要:
- 填写数据库配置信息
- 设置管理员账号(建议不要使用 admin 作为用户名)
- 根据需要调整其他配置项
至此,你已经完成了 Gitea 的完整安装和配置。现在你可以通过 HTTPS 安全地访问你的 Gitea 实例了。
相关链接
我的博客:https://blog.ivwv.site
雨云官网:https://rainyun.ivwv.site
更多推荐
所有评论(0)