【小团队私有化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 服务以正确的用户身份运行。
相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
LaughingZhu3 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
尧炎科技3 天前
防潮抗变形,就选纯品梅花全桉多层板
大数据
程序员大阳3 天前
副队长大数据教程(5)--集群情况下虚拟机网络配置
大数据·集群·nat·网路
自由能燃气设备3 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远3 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
嘉立创FPC苗工3 天前
FPC与机器人的双向赋能,解锁智能装备进化新势能
大数据·人工智能·制造·fpc·电路板
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
龙亘川3 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务