Windows 搭建 Gitea

news2024/10/11 6:28:35

一、准备工作

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(): 拒绝访问

切换管理员模式重新执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2195174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【springboot】使用代码生成器快速开发

接上一项目&#xff0c;使用mybatis-plus-generator实现简易代码文件生成 在fast-demo-web模块中的pom.xml中添加mybatis-plus-generator、freemarker和Lombok依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator&…

Windows 11:如何轻松安装或卸载 Copilot 应用(多种方法)

起初&#xff0c;Copilot 是一个与 Windows 11 和 Windows 10 系统紧密结合的内置 AI 助手&#xff0c;能够通过回答问题、调整系统设置等功能来提高你的工作效率。 但从 Windows 11 24H2 开始&#xff0c;Copilot 功能已经从系统中剥离出来&#xff0c;成了一个基于 Microsoft…

【kubernetes】环境准备及K8S二进制安装【最新最全】

一,规划 1,架构 主节点(3台 master)+ 工作节点 (1台 node1) Pod网段: 10.0.0.0/16 Service网段: 10.255.0.0/16 实验环境规划: 操作系统:centos7.6 配置: 4Gib内存/6vCPU/100G硬盘 注意:也可以用4vCPU 网络:NAT 开启虚拟机的虚拟化: 2,K8S集群角色 Ip 主机名…

【嵌入式实时操作系统开发】智能家居入门4(FreeRTOS、MQTT服务器、MQTT协议、STM32、微信小程序)

前面已经发了智能家居入门的1、2、3了&#xff0c;在实际开发中一般都会使用到实时操作系统&#xff0c;这里就以FreeRTOS为例子&#xff0c;使用标准库。记录由裸机转到实时操作系统所遇到的问题以及总体流程。相较于裸机&#xff0c;系统实时性强了很多&#xff0c;小程序下发…

JavaSE——面向对象9.1:代码块详解

目录 一、静态代码块 二、构造代码块 三、局部代码块 四、总结 一、静态代码块 在《JavaSE——面向对象9&#xff1a;static、final关键字、代码块、单例模式》这篇文章中已经介绍过&#xff0c;静态代码块随着类的加载而加载&#xff0c;且只加载一次&#xff0c;这里不再…

【优选算法】---分治 归并排序

分治 归并排序 一、排序数组 / 归并排序的复习1、题目解析2、算法原理3、代码 二、逆序对的总数1、题目解析2、算法原理3、代码 三、计算右侧小于当前元素的个数1、题目解析2、算法原理3、代码 四、翻转对1、题目解析2、算法原理3、代码 一、排序数组 / 归并排序的复习 归并排…

Windows下Jenkins控制台中文乱码

问题描述 问题情况如下图&#xff1a; 环境信息 Windows 11 家庭中文版java 21.0.4 2024-07-16 LTSJenkins 2.452.3 解决方法 增加系统JAVA_TOOL_OPTIONS&#xff0c;并设置值为-Dfile.encodingGBK。 打开设置方法&#xff1a;桌面上右键点击“此电脑”图标&#xff0c;选…

软考高级之系统架构师之计算机硬件基础

概述 局部性原理是指在指定时间内&#xff0c;程序趋于在有限的内存区域内重复访问。通常将局部性分为空间局部性和时间局部性。空间局部性是指已访问过的内存地址附近的位置很可能被连续访问。时间局部性是指已访问过的内存地址在较短的时间内还可能被多次访问。 计算机执行…

请散户股民看过来,密切关注两件大事

明天股市要开市&#xff0c;不仅散户股民期盼节后股市大涨&#xff0c;上面也同样想在节后来上一个“开门红”。 为此&#xff0c;上面没休假&#xff0c;关起门来办了两件大事&#xff0c;这两天发布消息已提前预热了。 两件大事如下&#xff1a; 一是&#xff0c;上交所10…

柯桥生活口语学习之在化妆品店可以用到的韩语句子

화장품을 사고 싶어요. 我想买化妆品。 어떤 화장품을 원하세요? 您想买什么化妆品。 스킨로션을 찾고 있어요. 我想买化妆水&#xff0c;乳液。 피부 타입은 어떠세요? 您是什么皮肤类型&#xff1f; 민감성 피부예요. 我是敏感性皮肤。 평소에 쓰시는 제품은 뭐예…

【判断推理】逻辑基础

1.1 命题 用语言、符号或者式子表达的&#xff0c;可以判断真假的陈述句称为命题&#xff0c;一般写为 若p&#xff0c;则q 真命题&#xff1a;判断为真的语句假命题&#xff1a;判断为假的语句 eg1&#xff1a;小张是中国人&#xff08;若是小张&#xff0c;则是中国人&#…

【传感器技术】【9 温度测量,热电偶传感器,膨胀式温度传感器,压力测量,弹性式压力表】

上理考研周导师的哔哩哔哩频道 我在频道里讲课哦 目录 9.1、 温度概述 1&#xff0e; 温度与温标 2&#xff0e; 温度测量的主要方法和分类 9.2、 膨胀式温度传感器 1&#xff0e; 液体膨胀式 2&#xff0e; 固体膨胀式 3&#xff0e; 气体膨胀式 9.3、 热电偶传感器 1. …

Cesium的一些神奇概念及技术流程(1)

近期要深度研究Cesium。关于Cesium的用法、渲染流程等方面我看很多人都写过。我就写写其中一些可能平时用不到但是比较有趣的内容。因为边研究边写&#xff0c;所以会陆续出几集&#xff0c;然后合并在一起&#xff0c;欢迎大家跟踪。 我的这些文章不打算把一些基本概念展开解…

OJ在线评测系统 微服务 OpenFeign调整后端上 内部调用Client代码书写 实现客户端接口 配置服务参数 接口文档

OpenFeign内部调用上 我们的代码已经搬运完毕了 但是我们的服务之间是无法相互调用的 我们可以使用OpenFeign进行远程调用 一个http调用客户端 提供了更方便的方式让你远程调用其他的服务 Nacos注册中心获取服务的调用地址 如果没有实现OpenFeign 也能实现跨服务的调用 …

Windows 11 version 24H2 LTSC 2024 中文版、英文版 (x64、ARM64) 下载 (updated Oct 2024)

Windows 11 version 24H2 & LTSC 2024 中文版、英文版 (x64、ARM64) 下载 (updated Oct 2024) Windows 11, version 24H2&#xff0c;企业版 arm64 x64 请访问原文链接&#xff1a;https://sysin.org/blog/windows-11/ 查看最新版。原创作品&#xff0c;转载请保留出处。…

出国必备神器!这5款中英翻译工具让你秒变外语达人

在这个全球化的时代&#xff0c;中英互译已然成为我们日常生活和工作中不可或缺的一环。面对众多的翻译工具&#xff0c;如何选择一款既高效又人性化的翻译助手呢&#xff1f;今天&#xff0c;就让我为大家揭秘几款热门的中英互译工具&#xff0c;并分享我的使用感受。 一、福昕…

【数据结构与算法】线性表

文章目录 一.什么是线性表&#xff1f;二.线性表如何存储&#xff1f;三.线性表的类型 我们知道从应用中抽象出共性的逻辑结构和基本操作就是抽象数据类型&#xff0c;然后实现其存储结构和基本操作。下面我们依然按这个思路来认识线性表 一.什么是线性表&#xff1f; 定义 线性…

【项目记录】大模型基于llama.cpp在Qemu-riscv64向量扩展指令下的部署

概述 本文在qemu-riscv64平台上&#xff0c;利用向量扩展指令加速运行基于llama.cpp构建的大模型。 参考博客链接&#xff1a; Accelerating llama.cpp with RISC-V Vector Extension 基于RVV的llama.cpp在Banana Pi F3 RISCV开发板上的演示 llama.cpp工程 Llama.cpp是一个基…

C语言-指针变量,常量与数组名的细微区别辨析

本节根据两个选择题进行展开辨析 一、例1 本题答案&#xff1a;C 解析&#xff1a;强干扰选项是B&#xff0c;我相信大多数同学都会在B&#xff0c;C之间犹豫好久&#xff0c;那么为什么答案会最终选择C呢&#xff1f;因为本题在定义函数&#xff0c;所以a首先是一个数组名&a…