当前位置: 首页 > news >正文

Windows 搭建 Gitea

一、准备工作

1. 安装 Git:Gitea 依赖 Git 进行代码管理,所以首先需要确保系统中安装了 Git。

下载地址:https://git-scm.com/downloads/win

2. 安装数据库(可选)

默认情况下,Gitea 使用 SQLite 作为内置的轻量级数据库,但如果需要,可以安装 MySQL 或 PostgreSQL 数据库来提升性能和扩展性。

二、安装 Gitea

1. 下载 Gitea:Gitea | gitea

2. 移动到安装目录:将下载的 Gitea 二进制文件移动到您希望安装的目录,比如 C:\Gitea

3. 将文件重命名为 gitea.exe,方便管理

4. 创建必要的目录

mkdir C:\Gitea\data
mkdir C:\Gitea\log
mkdir C:\Gitea\custom

三、运行 Gitea

1. 打开 PowerShell,进入到 Gitea 的安装目录,运行以下命令启动 Gitea:

C:\Gitea\gitea.exe web

2. 在浏览器访问http://localhost:3000

四、配置 Gitea

1. 一般配置选择默认

2. 创建管理员账号

五、设置为服务(可选)

为了方便 Gitea 在每次开机时自动运行,可以将 Gitea 设置为 Windows 服务

1. 下载NSSM工具:NSSM - the Non-Sucking Service Manager

2. 将 nssm.exe 文件放到一个目录中,比如 C:\nssm\nssm.exe

3. 注册 Gitea 服务。打开命令提示符或 PowerShell,输入以下命令:

C:\nssm\nssm.exe install Gitea

        这将打开一个 GUI 窗口,填写以下信息:

        1.)Path:选择 C:\Gitea\gitea.exe

        2.)Startup directory:填写 C:\Gitea

        3.)Arguments:填写 web

 4. 使用命令启动 Gitea 服务:

nssm start Gitea

补充:

问题一:数据库设置无效,Error 1045

数据库设置无效: Error 1045 (28000): Access denied for user 'gitea'@'localhost' (using password: YES),这个错误表示 MySQL 数据库无法验证 gitea 用户的身份。这个错误通常是因为用户名或密码错误,或者用户权限不足。以下是解决此问题的一些步骤:

1. 检查用户名和密码

mysql -u gitea -p

2. 创建 MySQL 用户并赋权

mysql -u root -p
#创建用户,your_password 替换为您想要的密码
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'your_password';#赋予权限,Gitea 数据库名为 gitea_db
GRANT ALL PRIVILEGES ON gitea_db.* TO 'gitea'@'localhost';#刷新权限
FLUSH PRIVILEGES;#确认权限
SHOW GRANTS FOR 'gitea'@'localhost';

3. 检查 MySQL 绑定地址。如果 gitea 用户的权限是针对 localhost 的,而 Gitea 尝试通过其他方式连接(比如使用服务器的 IP 地址),也会导致权限问题

4. 检查防火墙设置。确保数据库端口没有被防火墙阻挡,尤其是在不同机器上运行 Gitea 和 MySQL 的情况下

问题二:数据库设置无效,Error 1049

数据库设置无效: Error 1049 (42000): Unknown database 'gitea_db',表示 MySQL 数据库中不存在名为 gitea_db 的数据库。要解决这个问题,您需要确保数据库已经创建。以下是详细的解决步骤:

1. 登录 MySQL

mysql -u root -p

2. 创建数据库

CREATE DATABASE gitea_db;

3. 确认数据库已创建

SHOW DATABASES;

4. 赋予用户权限

GRANT ALL PRIVILEGES ON gitea_db.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;

5. 测试连接。如果可以成功连接并进入数据库,说明设置是正确的。

mysql -u gitea -p gitea_db

问题三:配置 Gitea 使用 163 邮箱

1. 获取 SMTP 服务密码

1.)登录 163 邮箱网页端

2.)进入设置 -> POP3/SMTP/IMAP 选项,启用 SMTP 和 POP3/IMAP 服务

3.)生成一个授权码,记下该授权码,后面会在配置中使用

2. 配置 Gitea 邮件设置

打开 Gitea 的配置文件 custom/conf/app.ini,并找到 [mailer] 部分。如果没有该部分,可以手动添加。然后按照以下配置进行设置:

[mailer]
ENABLED = true
HOST = smtp.163.com:465
FROM = 你的邮箱
USER = 你的邮箱
PASSWD = 你的授权码
IS_TLS_ENABLED = true

问题四:OpenService(): 拒绝访问

切换管理员模式重新执行

相关文章:

Windows 搭建 Gitea

一、准备工作 1. 安装 Git:Gitea 依赖 Git 进行代码管理,所以首先需要确保系统中安装了 Git。 下载地址:https://git-scm.com/downloads/win 2. 安装数据库(可选) 默认情况下,Gitea 使用 SQLite 作为内…...

嵌入式面试——FreeRTOS篇(五) 事件标志组

本篇为:FreeRTOS事件标志组篇 1、事件标志组介绍 答: 事件标志位:用一个位,来表示事件是否发生。 事件标志组是一组事件标志位的合集,可以简单的理解事件标志组,就是一个整数。 2、事件标志组的特点 答&am…...

智能听诊器:宠物健康管理的革命

智能听诊器不仅仅是一个简单的监测工具,它代表了宠物健康管理的一次革命。通过收集和分析宠物的生理数据,智能听诊器能够帮助宠物主人和医生更好地理解宠物的健康需求,从而提供更加个性化的护理方案。 智能听诊器通过高精度的传感器&#xf…...

dfs +剪枝sudoku———poj2676

目录 前言 lowbit函数 数独 suduku 问题描述 输入 输出 问题分析 子网格位置 优化搜索顺序剪枝1 优化搜索顺序剪枝2 可行性剪枝 代码 前言 lowbit函数 这是一个利用二进制位运算取出二进制数最后一位’1‘的函数 数独 数独大家肯定都玩过,…...

机器学习:关联规则:Apriori算法、FP - Growth算法的原理、应用场景及优缺点介绍

一、关联规则算法概述 关联规则挖掘是数据挖掘中的一个重要任务,用于发现数据集中不同项之间的关联关系。 二、Apriori算法 原理 频繁项集生成:Apriori算法基于一个先验原理,即如果一个项集是频繁的,那么它的所有子集也是频繁的…...

从0开始深度学习(7)——线性回归的简洁实现

在从0开始深度学习(5)——线性回归的逐步实现中,我们手动编写了数据构造模块、损失函数模块、优化器等,但是在现代深度学习框架下,这些已经包装好了 本章展示如果利用深度学习框架简洁的实现线性回归 0 导入头文件 im…...

【网络安全 | Java代码审计】华夏ERP(jshERP)v2.3

未经许可,不得转载。 文章目录 技术框架开发环境代码审计权限校验绕过SQL注入Fastjson反序列化命令执行存储型XSS越权/未授权重置密码越权/未授权删除用户信息越权/未授权修改用户信息会话固定安全建议项目地址:https://github.com/jishenghua/jshERP 技术框架 核心框架:Sp…...

Setting the value of ‘*‘ exceeded the quota

H5之localStorage限额报错quota_exceeded the quota-CSDN博客 Uncaught DOMException: Failed to set a named property on Storage: Setting the value of background exceeded the quota. 超出了 localStorage 的最大长度。...

前端页面模块修改成可动态生成数据模块——大部分数据为GPT生成(仅供学习参考)

前端页面模块修改成可动态生成数据模块: 这些案例展示了如何通过Blade模板将前端页面模块变成可动态生成的模板。通过巧妙使用Blade语法、控制结构、CSS/JS分离、组件复用等技巧,可以大大提高代码的灵活性和复用性。在Laravel的Controller中准备好数据并…...

5.错误处理在存储过程中的重要性(5/10)

错误处理在存储过程中的重要性 引言 在数据库编程中,存储过程是一种重要的组件,它允许用户将一系列SQL语句封装成一个单元,以便重用和简化数据库操作。然而,像任何编程任务一样,存储过程中的代码可能会遇到错误或异常…...

【WebGis开发 - Cesium】如何确保Cesium场景加载完毕

目录 引言一、监听场景加载进度1. 基础代码2. 加工代码 二、进一步封装代码1. 已知存在的弊端2. 封装hooks函数 三、使用hooks方法1. 先看下效果2. 如何使用该hooks方法 三、总结 引言 本篇为Cesium开发的一些小技巧。 判断Cesium场景是否加载完毕这件事是非常有意义的。 加载…...

【数据结构】6道经典链表面试题

目录 1.返回倒数第K个节点【链接】 ​代码实现 2.链表的回文结构【链接】 代码实现 3.相交链表【链接】 代码实现 4.判断链表中是否有环【链接】 代码实现 常见问题解析 5.寻找环的入口点【链接】 代码实现1 ​代码实现2 6.随机链表的复制【链接】 代码实现 1.…...

等保测评1.0到2.0的演变发展

中国等保测评的演变 作为中国强化网络安全监管制度的重要组成部分,信息安全等级保护测评不是一个新概念,可以追溯到1994年和2007年发布的多项管理规则(通常称为等保测评 1.0规则),根据这些规则,网络运营商…...

yum 源配置

在/etc/yum.repo.d目录下 格式: [repository_name] nameRepository description baseurlhttp://repository_url enabled1 gpgcheck0 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 其中: [repository_name]:源的标识名称,…...

通过AI技术克服自动化测试难点(上)

本文我们一起分析一下AI技术如何解决现有的自动化测试工具的不足和我们衍生出来的新的测试需求。 首先我们一起看一下计算机视觉的发展历史,在上世纪70年代,处于技术萌芽期,由字符的识别技术慢慢进行演化,发展到现在,人…...

等保测评:如何建立有效的网络安全监测系统

等保测评中的网络安全监测系统建立 在建立等保测评中的网络安全监测系统时,应遵循以下步骤和策略: 确定安全等级和分类:首先,需要根据信息系统的安全性要求、资产的重要性和风险程度等因素,确定网络系统的安全等级&…...

yjs12——pandas缺失值的处理

1.缺失值的表示 正常来说,pandas缺失值是“nan”表示,但是有且文件可能自己改成了相应的别的符号 2.如何将缺失值符号改成nan xxx.replace(to_replace"...",valuenp.nan) 3.判断是否有缺失值 1.pd.notnull(xxx)————如果有缺失,…...

噪声分布 双峰,模拟函数 或者模拟方法 python人工智能 深度神经网络

在Python中模拟双峰分布,可以通过多种方法实现。以下是一些常用的方法: 1. **使用正态分布混合**: 可以通过组合两个正态分布来创建一个双峰分布。每个正态分布都有其自己的均值(mu)和标准差(sigma&…...

5个免费ppt模板网站推荐!轻松搞定职场ppt制作!

每次过完小长假,可以明显地感觉到,2024这一年很快又要结束了,不知此刻的你有何感想呢?是满载而归,还是准备着手制作年终总结ppt或年度汇报ppt呢? 每当说到制作ppt,很多人的第一反应&#xff0c…...

HTML5+Css3(背景属性background)

css背景属性 background 1. background-color背景颜色 背景颜色可以用“十六进制”、“rgb()”、“rgba()”或“英文单词”表示 2. background-image:url(路径);背景图片 也可以写成 background:url(); 3. background-repeat背景重复 属性值: - repeat:x,y平铺…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

日常一水C

多态 言简意赅&#xff1a;就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过&#xff0c;当子类和父类的函数名相同时&#xff0c;会隐藏父类的同名函数转而调用子类的同名函数&#xff0c;如果要调用父类的同名函数&#xff0c;那么就需要对父类进行引用&#…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗&#xff1f; 在ComfyUI中实现图生视频并延长到5秒&#xff0c;需要结合多个扩展和技巧。以下是完整解决方案&#xff1a; 核心工作流配置&#xff08;24fps下5秒120帧&#xff09; #mermaid-svg-yP…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架

1、菜单文件treeTop.js // 顶部菜单 import { AppstoreOutlined, SettingOutlined } from ant-design/icons; // 定义菜单项数据 const treeTop [{label: Docker管理,key: 1,icon: <AppstoreOutlined />,url:"/docker/index"},{label: 权限管理,key: 2,icon:…...