文章目录
- 一、概述
- 1.1 配置信息
- 1.2 Gitea简介
- 1.3 Gitea硬件要求
- 1.4 其他
- 二、安装
- 2.1 环境准备
- 2.1.1 数据库准备
- 2.1.2 安装Git
- 2.1.3 创建git用户
- 2.1.4 创建工作目录
- 2.1.5 安装Nginx代理
- 2.2 安装Gitea
- 2.2.1 获取二进制文件路径
- 2.2.2 ubuntu中下载gitea
- 2.3 配置gitea服务
- 2.3.1 创建gitea.service服务文件
- 2.3.2 设置服务自启动
- 2.3.3 启动gitea服务
- 2.3.4 查看gitea版本确认是否已正常安装
- 2.4 配置Nginx服务
- 2.4.1 切换到配置文件所在目录
- 2.4.2 修改配置文件
- 2.5 网络访问并进行进行初始化配置
- 2.5.1 访问gitea服务器
- 2.5.2 根据自己的服务器信息初始化配置
- 2.5.3 开始使用gitea
傲笑红尘
诗号:半涉浊流半席清,倚筝闲吟广陵文。寒剑默听君子意,傲视人间笑红尘。
刚正不阿,对于所认定的事物,有着超乎常人的坚持。坚信公理正义的存在,不容许任何奸诈之徒为恶。剑法高深,身在诡谲武林,仍坚信自身的理念。虽有隐士之心,穷极一生寻找武林中之净土,却卸不下对武林的责任。
一、概述
1.1 配置信息
ubuntu版本:Ubuntu 22.04.5 LTS aarch64(Arm 64位)
硬件:树莓派M4
注:可通过uname -m查看具体的系统框架。
1.2 Gitea简介
Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来,几乎所有代码都已更改。对于我们Fork的原因可以看 这里。
1.3 Gitea硬件要求
树莓派Pi3功能强大,足以运行 Gitea 来处理小型工作负载。
对于小型团队/项目而言,2 个 CPU 内核和 1GB 内存通常就足够了。
在 UNIX 系统上,Gitea 应使用专用的非 root 系统账户运行。
注意:Gitea 管理 ~/.ssh/authorized_keys 文件。以普通用户身份运行 Gitea 可能会破坏该用户的登录能力。
Git 需要 2.0.0 或更高版本。
Git Large File Storage 如果启用,且 Git 版本大于等于 2.1.2,则该选项可用
如果 Git 版本大于等于 2.18,将自动启用 Git 提交历史图形化展示功能
1.4 其他
其他Gitea的说明详见官方文档:https://docs.gitea.cn/
二、安装
2.1 环境准备
2.1.1 数据库准备
我选择用mysql数据,可参考Ubuntu学习笔记-安装MySql数据库服务进行安装。
连接数据库:
ubuntu@ubuntu:/mnt/DbDisk$ mysql -u gitea -p -h 127.0.0.1 -P 3308
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 8.0.44-0ubuntu0.22.04.1 (Ubuntu)
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
创建giteadb数据库
mysql> CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
Query OK, 1 row affected (0.22 sec)
修改数据库权限:
2.1.2 安装Git
可参考Ubuntu Server搭建Git服务器安装git,要求Git 版本 >= 2.0。
ubuntu@ubuntu:/mnt/DbDisk$ git --version
git version 2.34.1
2.1.3 创建git用户
ubuntu@ubuntu:/mnt/DbDisk$ sudo adduser --system --shell --gecos 'Git Version Control' --group --disabled-pass
word --home /home/git git
Adding system user `git' (UID 114) ...
Adding new user `git' (UID 114) with group `git' ...
Creating home directory `/home/git' ...
ubuntu@ubuntu:/mnt/DbDisk$
2.1.4 创建工作目录
如下是官方标准路径:
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
2.1.5 安装Nginx代理
ubuntu本身没有直接http服务,需要使用第三方的配置,我们这边使用Nginx来配置。
sudo apt-get install nginx
安装完毕后确认下服务是否安装完毕
ubuntu@ubuntu:~$ nginx -v
nginx version: nginx/1.18.0 (Ubuntu) #已安装可以查看到软件版本
确认下Nginx有没有支持ssl
ubuntu@ubuntu:/var/log/nginx$ nginx -V
nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 3.0.2 15 Mar 2022
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -ffile-prefix-map=/build/nginx-35dE2r/nginx-1.18.0=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/v
