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

配置完成

注册账号

登录账号

相关推荐
南方以南_19 小时前
CKA07--Argo CD
运维·kubernetes·k8s
洋芋土豆19 小时前
linux用户及权限管理
linux·运维·服务器
塔能物联运维20 小时前
物联网运维中的自适应DNS解析优化与动态负载均衡技术
运维·物联网·负载均衡
wheeldown20 小时前
【Linux】Linux内存管理与线程控制核心解析
linux·运维·服务器
努力努力再努力wz21 小时前
【Linux进阶系列】:线程(下)
linux·运维·服务器·c语言·数据结构·c++·算法
KV_T21 小时前
centos运维常用命令
linux·运维·centos
todoitbo21 小时前
使用n8n搭建服务器监控系统:从Webhook到Telegram告警的完整实现
运维·服务器·数据库·ai·向量数据库·流处理·n8n
dessler21 小时前
MYSQL-主键(Primary Key)
linux·运维·mysql
安丘贾队长21 小时前
json啊啊啊啊啊啊啊啊啊
运维
我什么都学不会1 天前
DNS主从服务器练习
linux·运维·服务器