ubuntu下搭建Gitea代码托管平台
在 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/
- 修改
DOMAIN和ROOT_URL为新的 IP 地址,确保端口号正确。 - 保存文件后,重启 Gitea:
systemctl restart gitea # Linux
2. 重置管理员密码
使用命令行重置管理员密码
如果你可以访问服务器,可以使用 Gitea 内置的命令工具重置密码。
- 切换到 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手动指定配置文件的路径
重启 Gitea
systemctl restart gitea # 如果是 systemd 方式运行
使用新密码登录
ubuntu下搭建Gitea代码托管平台的更多相关文章
- 从零开始搭建gitea代码管理平台
Gitea,一款极易搭建的Git自助服务.如其名,Git with a cup of tea.跨平台的开源服务,支持Linux.Windows.macOS和ARM平台.配置要求低,甚至可以运行在树莓派 ...
- CentOS 6.8 搭建 Git 代码托管系统 Gitea
[荐] Gitea:Git with a cup of tea,在 Gogs 基础上,发展起来的 自助 Git 服务系统.Gogs是一个个人维护的版本,而Gitea是一个社区组织维护的,版本迭代更新快 ...
- GitHub代码托管平台搭建
GitHub代码托管平台搭建 注册账户以及创建仓库 要想使用github第一步当然是注册github账号了, github官网地址:https://github.com/. 之后就可以创建仓库了(免费 ...
- Ubuntu上Git的简单配置及使用(使用的代码托管平台为gitee码云)
目录 1.关于gitee 2.Ubuntu下Git的下载及配置 3.使用Git连接到远程的Gitee仓库 4.常用命令 1.关于gitee Gitee(码云) 是 OSCHINA.NET 推出的代码托 ...
- 探讨 Git 代码托管平台的若干问题
关于 Git 版本控制软件种类繁多,维基百科收录的最早的版本控制系统是 1972 年贝尔实验室开发的 Source Code Control System.1986 年 Concurrent Vers ...
- 探讨 Git 代码托管平台的若干问题 - 2019 版
关于 Git 版本控制软件种类繁多,维基百科收录的最早的版本控制系统是 1972 年贝尔实验室开发的 Source Code Control System.1986 年 Concurrent Vers ...
- 国内代码托管平台(Git)
可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...
- 国内代码托管平台(Git和SVN)
Github(Git和SVN)https://github.com/ 可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS ...
- Git学习总结(3)——代码托管平台简介
可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
随机推荐
- CF935D Fafa and Ancient Alphabet 题解
讲一个很暴力的方法(为描述方便,下文 \(a\) 数组代表 \(s1\),\(b\) 数组代表 \(s2\)). 发现假如当前 \(a_i\ne b_i\),就不需要再向下枚举了,于是拥有了分类讨论的 ...
- Element-UI 使用心得之el-card
el-card 是Element-UI 内置的卡片组件,使用起来很方便,但是对Vuejs和html 不是精通的话,根据自己的要求布局,会出现自己的小困惑,必须添加垂直居中,按照CSS 布局设置,总是 ...
- 无界 | Bncr | Boundless Nodejs Chat Robot 机器人框架安装使用教程
背景:Bncr 是一个开箱即用的Nodejs Chat RoBot(会话式机器人)框架.它基于OOP函数响应式编程,具有占用小.响应快.开发易等特点,允许开发者创建高度可测试.可扩展.松散耦合且易于维 ...
- 附039.Kubernetes_v1.32.2高可用部署架构二
部署组件 该 Kubernetes 部署过程中,对于部署环节,涉及多个组件,主要有 kubeadm .kubelet .kubectl. kubeadm介绍 Kubeadm 为构建 Kubernete ...
- docker - [10] 容器数据卷
将应用和环境打包成一个镜像,然后发布启动就成为一个容器了. 一.什么是容器数据卷 容器数据卷(Container Data Volumes)是Docker管理的一种特殊类型的存储区域,它为容器提供 ...
- MySQL - [11] InnoDB存储引擎
Page 页.是真正理解InnoDB存储引擎的入口. 一.Page -- 页 1.1.InnoDB 数据页及其结构 为了避免一条一条读取磁盘数据,InnoDB采取页的方式,作为磁盘和内存之间交互的基本 ...
- Linux用户登录失败锁定策略
1.账户锁定策略介绍 在Linux系统中,为了提高系统安全性,防止暴力破解攻击,我们可以通过配置PAM(Pluggable Authentication Modules)模块来限制登录失败次数并锁定用 ...
- 使用 kubeadm 创建高可用 Kubernetes 及外部 etcd 集群
博客链接:使用 kubeadm 创建高可用 Kubernetes 及外部 etcd 集群 前言 Kubernetes 的官方中文文档内容全面,表达清晰,有大量示例和解析 无论任何情况下都推荐先花几个小 ...
- HTTP协议与RESTful API实战手册(终章):构建企业级API的九大秘籍 🔐
title: HTTP协议与RESTful API实战手册(终章):构建企业级API的九大秘籍 date: 2025/2/28 updated: 2025/2/28 author: cmdragon ...
- 【ABAQUS 二次开发笔记】输出单元刚度矩阵
目录 相关的关键字 必须的参数 可选参数 使用关键字 输出到mtx文件 输出到dat文件 参考资料 相关的关键字 *ELEMENT MATRIX OUTPUT 此keyword用于将元素刚度矩阵和质量 ...