在 Ubuntu 上部署 Gitea 是设置本地代码托管平台的简洁和高效选择。以下是详细步骤:

步骤 1:更新系统

sudo apt update && sudo apt upgrade -y

步骤 2:安装依赖

sudo apt install git sqlite3 curl -y

Gitea 支持多种数据库,默认使用 SQLite。如果需要 MySQL 或 PostgreSQL,可以先安装这些数据库。

步骤 3:创建用户用于运行 Gitea

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

新建了一个系统用户/home/git,用户控制运行Gitea

步骤 4:下载 Gitea

从官方站点下载最新版本的 Gitea:

wget -O gitea https://dl.gitea.com/gitea/1.23.1/gitea-1.23.1-linux-amd64

需要替换最新版本,可以在 Gitea 的官方下载页面找到最新版本的下载链接

步骤 5:安装 Gitea

sudo mv gitea /usr/local/bin/
sudo chmod +x /usr/local/bin/gitea

步骤 6:创建必要的目录

sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir -p /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

步骤 7:创建 Systemd 服务文件

创建服务配置文件:

sudo nano /etc/systemd/system/gitea.service

内容如下:

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target

保存并退出。

步骤 8:启动和启用 Gitea 服务

sudo systemctl enable gitea
sudo systemctl start gitea

步骤 9:配置防火墙

默认情况下,Gitea 运行在端口 3000。允许此端口访问:

sudo ufw allow 3000/tcp
sudo ufw enable

步骤 10:访问 Gitea

打开浏览器,访问 http://<your-server-ip>:3000

按照界面完成安装配置,使用默认或手动配置数据库。

完成后即可使用 Gitea 提供的 Web 界面进行代码托管和管理。

首次登陆时需要设置文件目录等。


常见问题解决:

1. 服务器IP变更后导致的无法登录问题解决

Gitea 由于 IP 修改导致无法登录,可能的原因包括配置文件绑定了旧 IP、数据库中的回调地址未更新,或者缓存问题。可以尝试以下方法解决:

检查 Gitea 配置文件

Gitea 的配置文件通常位于:

/etc/gitea/app.ini  # Linux
C:\gitea\custom\conf\app.ini # Windows
  • 找到 app.ini 文件,并检查 [server] 部分:
    [server]
    DOMAIN = <新IP地址>
    ROOT_URL = http://<新IP地址>:3000/
  • 修改 DOMAINROOT_URL 为新的 IP 地址,确保端口号正确。
  • 保存文件后,重启 Gitea:
    systemctl restart gitea  # Linux

2. 重置管理员密码

使用命令行重置管理员密码

如果你可以访问服务器,可以使用 Gitea 内置的命令工具重置密码。

  1. 切换到 Gitea 运行用户(如果是 git 用户运行 Gitea):
    sudo -u git -H sh -c '/path/to/gitea admin user change-password --username admin --password "newpassword"'
    • 例如:
      sudo -u git -H sh -c '/usr/local/bin/gitea --config /etc/gitea/app.ini admin user change-password --username admin --password "newpassword"'
    • 如果 Gitea 运行在 root 账户下,可以直接运行:
      /path/to/gitea admin user change-password --username admin --password "newpassword"

--config /etc/gitea/app.ini手动指定配置文件的路径

  1. 重启 Gitea

    systemctl restart gitea  # 如果是 systemd 方式运行
  2. 使用新密码登录


ubuntu下搭建Gitea代码托管平台的更多相关文章

  1. 从零开始搭建gitea代码管理平台

    Gitea,一款极易搭建的Git自助服务.如其名,Git with a cup of tea.跨平台的开源服务,支持Linux.Windows.macOS和ARM平台.配置要求低,甚至可以运行在树莓派 ...

  2. CentOS 6.8 搭建 Git 代码托管系统 Gitea

    [荐] Gitea:Git with a cup of tea,在 Gogs 基础上,发展起来的 自助 Git 服务系统.Gogs是一个个人维护的版本,而Gitea是一个社区组织维护的,版本迭代更新快 ...

  3. GitHub代码托管平台搭建

    GitHub代码托管平台搭建 注册账户以及创建仓库 要想使用github第一步当然是注册github账号了, github官网地址:https://github.com/. 之后就可以创建仓库了(免费 ...

  4. Ubuntu上Git的简单配置及使用(使用的代码托管平台为gitee码云)

    目录 1.关于gitee 2.Ubuntu下Git的下载及配置 3.使用Git连接到远程的Gitee仓库 4.常用命令 1.关于gitee Gitee(码云) 是 OSCHINA.NET 推出的代码托 ...

  5. 探讨 Git 代码托管平台的若干问题

    关于 Git 版本控制软件种类繁多,维基百科收录的最早的版本控制系统是 1972 年贝尔实验室开发的 Source Code Control System.1986 年 Concurrent Vers ...

  6. 探讨 Git 代码托管平台的若干问题 - 2019 版

    关于 Git 版本控制软件种类繁多,维基百科收录的最早的版本控制系统是 1972 年贝尔实验室开发的 Source Code Control System.1986 年 Concurrent Vers ...

  7. 国内代码托管平台(Git)

    可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...

  8. 国内代码托管平台(Git和SVN)

        Github(Git和SVN)https://github.com/ 可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS ...

  9. Git学习总结(3)——代码托管平台简介

    可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...

  10. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

随机推荐

  1. ABB喷涂机器人控制柜维护保养

    ABB喷涂机器人的管理与维护保养目的是减少机器人的故障率和停机时间,充分利用机器人这一生产要素,最大限度地提高产效率.喷涂机器人维修与保养在企业生产中尤为重要,直接影响到系统的寿命,必须精心维护. A ...

  2. 高数小技巧:和 e^x 有关的积分该怎么算?

    高数解题也需要日积月累,下面是和 \(e^{x}\) 相关的一些常用解题思路,记得收藏+关注哦,还有更多考研数学实战笔记等着你呢( ̄︶ ̄) 当前高数笔记的最新内容,可以查看: https://zhao ...

  3. gdfs: 基于Fuse的GoogleDrive客户端开源代码分析

    背景 在学习fuse的过程中,首先从libfuse中的demo开始学习,以了解用户态与内核态通信的框架.而此处的demo只聚焦于最基本的通信,用户态文件系统的实现只是一个最简单的read only文件 ...

  4. 「六」Goaccess实现可视化

    下载 apt install goaccess 使用goaccess进行监控 LANG="en_US.UTF-8" bash -c 'goaccess logs/access.lo ...

  5. Ubuntu修改密码和用户名

    Ubuntu是一个Linux操作系统,修改密码和用户名是有危险的动作,请谨慎修改. 一.Ubuntu修改密码和用户名 Ubuntu更改密码步骤:1.进入Ubuntu,打开一个终端,输入 sudo su ...

  6. linux怎么判断服务器的cpu架构

    在部署应用程序和服务时,确认服务器的CPU架构是非常重要的,因为这会直接影响软件的兼容性和性能.在Linux系统中,有许多方法可以获取服务器的CPU架构信息.本篇文章将介绍几种常用的方法,并提供代码示 ...

  7. wxformbuilder 如何生成python 代码

    ?问题 正常通过F8->F6 ,我执行这两步操作后如下图,以.fbp格式显示,没生成文件 解决方案 object properties 下勾选python 效果图:

  8. 服务器Go程序意外停止自动重启

    判断进程是否挂掉 ps -ef | grep ./blog |wc -l 如果输出为1,说明进程挂掉了 如果输出为2,说明进程正常运行 编辑脚本来检测和完成重启 vim restart.sh 逻辑代码 ...

  9. IvorySQL 4.0 之兼容 Oracle 包功能设计思路解读

    日前,IvorySQL 4.0 发布,该版本新增了兼容 Oracle 包功能的新特性. 为了大家能够更好地理解和使用 IvorySQL 4.0,本文将简要介绍实现此功能时的设计思路. Oracle 的 ...

  10. Docker Swarm多节点环境的搭建(二): Docker的集群调配

    Docker的集群调配在上篇文章中介绍了如何如何在多个CentOS中安装Docker应用.本文章为大家介绍如何实现对已安装的这一堆机器实现集群化.Docker Swarm运行Spring Cloud应 ...