【Debian】4-‌2 Gitea搭建

【Debian】4-‌2 Gitea搭建

  • 一、准备工作
  • [二、创建 Gitea 用户(推荐)](#二、创建 Gitea 用户(推荐))
  • [三、下载并安装 Gitea](#三、下载并安装 Gitea)
  • 四、配置Gitea
    • [4-1 创建目录结构](#4-1 创建目录结构)
    • [4-2 创建配置目录](#4-2 创建配置目录)
  • [五、配置 Systemd 服务](#五、配置 Systemd 服务)
  • [六、访问 Gitea Web 界面](#六、访问 Gitea Web 界面)
  • 七、小插曲

一、准备工作

更新系统软件为最新

bash 复制代码
sudo apt update && sudo apt upgrade -y

安装必要依赖:数据库

Gitea 需要 Git 和数据库支持(可以使用 SQLite、MySQL 或 PostgreSQL),但先前已经在宝塔面板安装了mysql,这里就不用再安装了

二、创建 Gitea 用户(推荐)

为了安全起见,建议创建一个专门运行 Gitea 的用户:

bash 复制代码
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/gitea gitea

三、下载并安装 Gitea

访问以下目录,下载最新版本 https://dl.gitea.io/gitea/

我这里是1.24.3

bash 复制代码
wget -O gitea https://dl.gitea.io/gitea/1.24.3/gitea-1.24.3-linux-amd64

赋予执行权限

bash 复制代码
chmod +x gitea

移动到合适目录

bash 复制代码
sudo mv gitea /usr/local/bin/

四、配置Gitea

Gitea 需要几个目录来存储数据和配置:

4-1 创建目录结构

bash 复制代码
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R gitea:gitea /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/

4-2 创建配置目录

bash 复制代码
sudo mkdir /etc/gitea
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea

五、配置 Systemd 服务

创建一个 systemd 服务文件,方便管理 Gitea 服务。

bash 复制代码
sudo vim /etc/systemd/system/gitea.service

写入以下内容:

bash 复制代码
[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target

[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

启动并启用服务

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable --now gitea

检查状态

bash 复制代码
sudo systemctl status gitea

六、访问 Gitea Web 界面

打开浏览器,访问:

http://服务器IP:3000

首次访问会进入安装向导:

数据库类型:选择 Mysql

数据库路径:默认即可 /var/lib/gitea/data/gitea.db

应用程序路径:默认即可

端口:默认 3000

管理员账号:设置用户名、密码、邮箱

其他配置按需填写

完成后提交,Gitea 即可使用。

七、小插曲

问题1:找不到该数据库用户名或密码有误

通过控制台进去

bash 复制代码
mysql -u root -p

同时创建 gitea@localhost 和 gitea@%,并指定兼容的认证插件,注意替换你的密码

bash 复制代码
DROP USER IF EXISTS 'gitea'@'localhost';
DROP USER IF EXISTS 'gitea'@'%';

CREATE USER 'gitea'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password!!';
CREATE USER 'gitea'@'%' IDENTIFIED WITH mysql_native_password BY 'password!!';

GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'%';

FLUSH PRIVILEGES;

配置完成

注册账号

登录账号

相关推荐
荣--2 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森2 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜3 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB4 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode5 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220706 天前
如何搭建本地yum源(上)
运维
大树889 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠9 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质9 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工9 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信