Windows 搭建 Gitea

一、准备工作

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

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

  1. 安装数据库(可选)

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

二、安装 Gitea

  1. 下载 Gitea:Gitea | gitea

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

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

  4. 创建必要的目录

bash 复制代码
mkdir C:\Gitea\data
mkdir C:\Gitea\log
mkdir C:\Gitea\custom

三、运行 Gitea

  1. 打开 PowerShell,进入到 Gitea 的安装目录,运行以下命令启动 Gitea:
bash 复制代码
C:\Gitea\gitea.exe web
  1. 在浏览器访问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,输入以下命令:

bash 复制代码
C:\nssm\nssm.exe install Gitea

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

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

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

3.)Arguments:填写 web

  1. 使用命令启动 Gitea 服务:
bash 复制代码
nssm start Gitea

补充:

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

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

  1. 检查用户名和密码
bash 复制代码
mysql -u gitea -p
  1. 创建 MySQL 用户并赋权
bash 复制代码
mysql -u root -p
sql 复制代码
#创建用户,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';
  1. 检查 MySQL 绑定地址。如果 gitea 用户的权限是针对 localhost 的,而 Gitea 尝试通过其他方式连接(比如使用服务器的 IP 地址),也会导致权限问题

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

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

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

  1. 登录 MySQL
bash 复制代码
mysql -u root -p
  1. 创建数据库
sql 复制代码
CREATE DATABASE gitea_db;
  1. 确认数据库已创建
sql 复制代码
SHOW DATABASES;
  1. 赋予用户权限
sql 复制代码
GRANT ALL PRIVILEGES ON gitea_db.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
  1. 测试连接。如果可以成功连接并进入数据库,说明设置是正确的。
bash 复制代码
mysql -u gitea -p gitea_db

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

  1. 获取 SMTP 服务密码

1.)登录 163 邮箱网页端

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

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

  1. 配置 Gitea 邮件设置

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

[mailer]

ENABLED = true

HOST = smtp.163.com:465

FROM = 你的邮箱

USER = 你的邮箱

PASSWD = 你的授权码

IS_TLS_ENABLED = true

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

切换管理员模式重新执行

相关推荐
Linux猿20 天前
828华为云征文 | 云服务器Flexus X实例:部署 Gitea,拥有自己的Git仓库,管理本地代码
服务器·华为云·gitea·云服务器·git仓库·flexus云服务器x实例·华为云服务器
野猪佩挤23 天前
Gitea Action注册runner
gitea
野猪佩挤25 天前
Gitea Action 简单配置(CI/CD)
ci/cd·gitea
Ryan爱吃糖1 个月前
Centos安装配置Gitea(Ubuntu等系统也可参考)
linux·centos·gitea
易秋之1 个月前
gitea + drone实现CI/CD
ci/cd·gitea
yuansec2 个月前
使用Gitea搭建git本地服务器
git·ubuntu·gitea
zhamors2 个月前
Linux(CentOS)环境搭建Gitea做私有的git服务器
git·gitea
程序员不想敲代码啊2 个月前
【全面介绍下Gitea,什么是Gitea?】
gitea
程序员不想YY啊3 个月前
【简单介绍Gitea】
gitea