【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 界面
打开浏览器,访问:
首次访问会进入安装向导:
数据库类型:选择 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;
配置完成
注册账号
登录账号