【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;

配置完成

注册账号

登录账号

相关推荐
像风一样自由20206 小时前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体
sxgzzn7 小时前
如何利用电缆故障定位在线监测系统提升供电安全?
运维·重构·无人机·开关柜局放在线监测·gis局放在线监测
mengchanmian7 小时前
VSFTP 服务器搭建(Centos)
运维·服务器·centos
别动我齐刘海9 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
不像程序员的程序媛10 小时前
linux常见文本操作命令
linux·运维·服务器
wangbing112510 小时前
开发指南149-IotDB-常用命令
linux·运维·iotdb
Dovis(誓平步青云)10 小时前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus
志栋智能11 小时前
运维超自动化的知识管理与传承
运维·自动化
jack1868912 小时前
OpenClaw 数据采集与自动化应用场景指南
运维·自动化
小HANN12 小时前
华为云企业网站上云实战|从零搭建高可用WordPress全站架构(ECS+RDS+ELB+弹性伸缩+云监控闭环)
linux·运维·服务器·经验分享