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

配置完成

注册账号

登录账号

相关推荐
wanhengidc7 小时前
云手机的适配性怎么样?
运维·服务器·安全·智能手机·云计算
jimy17 小时前
安卓里运行Linux
linux·运维·服务器
哟哟耶耶8 小时前
js-fetch流式实现中断重连
运维·服务器
爱凤的小光8 小时前
Linux清理磁盘技巧---个人笔记
linux·运维
字节数据平台11 小时前
刚刚,火山引擎多模态数据湖解决方案发布大数据运维Agent
大数据·运维·火山引擎
原神启动111 小时前
Docker 场景化作业:生产环境容器操作实训
运维·docker·容器
云老大TG:@yunlaoda36011 小时前
如何通过华为云国际站代理商CSBS进行备份策略设置?
运维·数据库·华为云
zly350012 小时前
linux查看正在运行的nginx的当前工作目录(webroot)
linux·运维·nginx
QT 小鲜肉12 小时前
【Linux命令大全】001.文件管理之file命令(实操篇)
linux·运维·前端·网络·chrome·笔记
呼啦啦呼啦啦啦啦啦啦12 小时前
docker制作镜像的两种方式(保姆级教学)
运维·docker·容器