【小团队私有化git搭建】

Gitea 安装和配置教程

Gitea 是一个轻量级的 Git 服务器,支持版本控制、团队协作等功能。在这篇教程中,我们将通过详细的步骤指导你如何在 Linux 服务器上安装和配置 Gitea,解决常见问题并给出解决方案。


1️⃣ 安装 Gitea

🛠️ 安装前准备

  1. 更新系统 :

    首先,确保系统是最新的,运行以下命令更新系统:

    复制代码
    sudo dnf update -y
  2. 安装依赖包 :

    安装必要的依赖包,如 Git 和 curl。

    复制代码
    sudo dnf install -y git curl

📥 下载 Gitea 安装包

  1. 你可以从 Gitea 官方网站 下载适合你操作系统的 Gitea 安装包。

    复制代码
    wget -O gitea https://dl.gitea.io/gitea/1.20.6/gitea-1.20.6-linux-amd64
  2. 赋予执行权限:

    复制代码
    chmod +x gitea

🛠️ 创建 Gitea 用户和目录

Gitea 通常作为 git 用户运行,因此我们需要为其创建一个系统用户,并配置相关目录。

创建 git 用户

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

创建 Gitea 所需目录

复制代码
sudo mkdir -p /var/lib/gitea/{custom,data,log}

修改目录权限

复制代码
sudo chown -R git:git /var/lib/gitea/

📝 配置 Gitea 服务

  1. 在 /etc/systemd/system/ 目录下创建 Gitea 服务文件,让 Gitea 在系统启动时自动启动:

    复制代码
    sudo vi /etc/systemd/system/gitea.service
  2. 在文件中添加以下内容:

    复制代码
    [Unit]
    Description=Gitea (Git with a cup of tea)
    After=network.target
    
    [Service]
    RestartSec=2s
    Type=simple
    User=git
    Group=git
    WorkingDirectory=/var/lib/gitea/
    ExecStart=/usr/local/bin/gitea web --config /var/lib/gitea/custom/app.ini
    
    [Install]
    WantedBy=multi-user.target
  3. 重新加载系统服务配置:

    复制代码
    sudo systemctl daemon-reload

🚀 启动 Gitea

  1. 启动并设置 Gitea 服务开机自启:

    复制代码
    sudo systemctl enable gitea
    sudo systemctl start gitea
  2. 查看 Gitea 服务状态:

    复制代码
    sudo systemctl status gitea

2️⃣ 配置 Gitea

  1. 通过浏览器访问 Gitea 的 Web UI:

    http://<your_server_ip>:3000

    初次访问时,你会看到 Gitea 的安装页面,按照以下步骤进行配置:

    • 数据库类型 :选择 MySQL 或 SQLite。
    • 数据库连接 :如果使用 MySQL,输入以下信息:
      • 数据库名称:gitea
      • 用户名:root
      • 密码:你设置的密码
    • 应用程序设置:配置 Gitea 管理员账户等信息。
  2. 完成后,点击 "安装 Gitea",Gitea 会自动创建数据库并完成初始化。


3️⃣ 常见问题与解决方案

🔥 问题1:Gitea 服务无法启动

错误信息:

Failed to start Gitea: No such file or directory

🧰 解决方案:
  1. 确保 /etc/systemd/system/gitea.service 文件中的路径正确,特别是 ExecStart 中的路径应该指向正确的 Gitea 可执行文件(例如 /home/git/gitea)。

  2. 重新加载系统服务并重启 Gitea:

    sudo systemctl daemon-reload

    sudo systemctl restart gitea


🔥 问题2:Gitea 页面无法访问(端口 3000 不可用)

错误信息:

Connection refused

🧰 解决方案:
  1. 检查防火墙配置:确保防火墙没有阻止端口 3000。

    sudo firewall-cmd --permanent --add-port=3000/tcp

    sudo firewall-cmd --reload

  2. 检查 Gitea 配置:确保 Gitea 配置文件中的端口设置正确。

    sudo vi /var/lib/gitea/custom/conf/app.ini

    找到并确认以下配置项:

    server

    HTTP_PORT = 3000

    ROOT_URL = http://<your_server_ip>:3000


🔥 问题3:Gitea 无法连接数据库

错误信息:

Error: database connection failed

🧰 解决方案:
  1. 检查数据库配置 :确保 app.ini 文件中的数据库连接配置正确。

    sudo vi /var/lib/gitea/custom/conf/app.ini

    对于 MySQL,配置应如下:

    database

    DB_TYPE = mysql

    HOST = 127.0.0.1:3306

    NAME = gitea

    USER = root

    PASSWD = your_password

  2. 检查 MySQL 状态:确保 MySQL 服务已启动,并且数据库连接正常。

    sudo systemctl status mysqld

  3. 查看数据库日志:如果问题依旧,查看 Gitea 或 MySQL 的日志以获取更多信息。

    sudo tail -f /var/lib/gitea/log/gitea.log


🔥 问题4:权限问题导致 Gitea 无法正常工作

错误信息:

Permission denied

🧰 解决方案:
  1. 检查目录权限:确保 Gitea 的数据和日志目录具有正确的权限:

    sudo chown -R git:git /var/lib/gitea/

    sudo chmod -R 750 /var/lib/gitea/

  2. 确保服务用户正确 :确保 Gitea 是以 git 用户身份运行的。

    sudo systemctl status gitea


4️⃣ 总结

通过以上步骤,你已经成功安装和配置了 Gitea 作为 Git 服务器。常见问题的解决方法包括:

  • 服务无法启动:检查路径和权限设置,重新加载服务。
  • 页面无法访问:确保防火墙配置正确,并检查端口和配置文件。
  • 数据库连接失败:检查数据库配置和数据库服务状态。
  • 权限问题:确保 Gitea 目录的权限正确,并且 Gitea 服务以正确的用户身份运行。
相关推荐
QY_Research_1 天前
2026房地产NFT平台创业机遇与落地指南分析报告
大数据·人工智能·物联网·机器人·制造
全栈陈序员1 天前
【Git】从入门到精通(五)—— git add:将文件加入暂存区
大数据·git·elasticsearch
翊众建站1 天前
用 JSON-LD 给企业官网做结构化数据:LocalBusiness 与 FAQPage 实践笔记
人工智能·搜索引擎·json
KKKlucifer1 天前
国内数据安全服务的产品智能化转型:大模型赋能下的技术能力重构分析
大数据·数据库·重构
故七月1 天前
AI 答案里的竞品共现:怎么看出赛道格局
大数据·人工智能
全栈陈序员1 天前
【Git】从入门到精通(七)—— git status:查看仓库状态
大数据·git·elasticsearch
fengye2071611 天前
第三章 编译cpython
大数据·elasticsearch·搜索引擎
大大大大晴天1 天前
每天认识一个组件:Apache Flink
大数据
涛思数据(TDengine)1 天前
从工业本体到 AI 原生:TDengine 出席 2026 QCon 分享工业数据基础设施路径
大数据·数据库·人工智能·tdengine·工业
Gu_WenYun1 天前
从主题定价到订单定价:机器人基金的产业链观察
大数据·人工智能·金融