Gitea 支持在 Windows 系统上安装和使用。Gitea 本身作为一个单体应用程序,即点即用,如需长期驻留作为后台服务并开机运行就要依靠 Windows 服务工具 sc.exe

通过本文,你将学习到以下内容:

  • 安装 Git for Windows
  • 注册 Windows 服务
  • 启用 Gitea 内置的 SSH 服务器
  • 编辑 Windows 防火墙

环境准备

服务器配置

本文所采用的服务器配置如下,建议内存最少在 4GB 以上。OS 版本可以是 Windows 7/8/8.1/10/11 以及 Server 2012/2016/2019/2022,本文优先使用 Windows Server 2022 LTSC,其他系统版本操作类似。

OS Version CPU RAM
Windows Server LTSC 2022 4 Core 4GB

Git for Windows

Gitea 执行各项 Git 操作依赖的是背后的 git 命令行工具,因此在 Windows 平台上你需要安装最新的 Git for Windows

下载安装包:https://gitforwindows.org

数据库

Gitea 支持的数据库: SQLite、PostgreSQL、MySQL(MariaDB)、MSSQL

如果无特殊需求(例如集群化、高可用),建议一开始使用内置的 SQLite 作为数据库搭建轻量级的 Gitea 服务器,数据直接存储在文件中,备份迁移都更加方便。

Gitea

Gitea 官网提供了预编译的 Windows 平台二进制程序。

下载预编译的二进制程序:https://dl.gitea.io/gitea/

进入下载页面后,选择适合你的 Windows 平台的二进制程序。

对于 Windows 而言, windows-4.0-amd64 适用于 64 位操作系统,windows-4.0-386 即 32 位操作系统。

另外,带有 gogit-windows 名字的 Windows 版本程序使用了 gogit 用于解决在一部分在老旧版本的 Windows 上调用 git 后端导致的性能问题,但 gogit 本身也依赖后端的 git 程序,同时自身功能也有局限。换句话说,如果你的 Gitea 运行良好,性能不错,就不必尝试这个版本了。

安装

Git for Windows

一般使用 Git for Windows 安装包一步步安装即可。当然,你也要确保 git 命令始终在 Windows 环境变量 PATH 中,检查办法是通过终端执行 git 命令。

PS C:\Users\Administrator> git --version
git version 2.38.0.windows.1

看到 git version 2.38.0.windows.1 说明程序调用成功,打印出了当前版本。

如果出现没有找到 Git 命令,那么打开,系统设置 - 环境变量 - 系统变量 - Path,手动添加 Git 程序目录,例如 C:\Program Files\Git\cmd

安装 Gitea

Gitea 的安装路径可以自定义,比如使用 C:\gitea。将前面准备好的二进制程序 (例如 gitea-1.17.2-windows-4.0-amd64.exe) 重命名并复制到 C:\gitea\gitea.exe。双击可执行程序启动 Gitea。

当你第一次运行 Gitea 时,你需要打开 http://localhost:3000 根据指引完成 Gitea 的初始化安装。这个步骤会创建配置文件并存储到 C:\gitea\custom\conf\app.ini,稍后我们在注册 Windows 服务时会用到。

初始配置

在 Windows 中 Gitea 的 RUN_USER (以用户名运行)并不与 Windows 系统的账户系统关联(这一点与 Linux 不同),因此你可以在此处填写任意用户名,推荐填写 git

最后,关闭 gitea.exe 窗口即结束 Gitea 主程序,也可以使用 Ctrl+C 结束。

将 Gitea 注册为 Windows 服务

  1. 请以管理员身份打开命令提示符 (CMD),然后运行以下命令:
sc create gitea start= auto binPath= "\"C:\gitea\gitea.exe\" web --config \"C:\gitea\custom\conf\app.ini\""

请注意,start=binPath= 等号后面有空格

  1. 启动服务
sc start gitea
  1. WIN + R 打开运行窗口,输入 services.msc 并启动 Windows 服务管理工具,可以找到你刚新建的 Gitea 服务,单机右键可以选择 启用停止 或更改 属性

如需删除服务并重新创建,则使用 sc delete 命令。

sc delete gitea

配置

启用 Gitea 内置的 SSH 服务器

一般情况下,Windows 系统无需额外安装 OpenSSH 服务。Gitea 内置了一个轻量级的 Go SSH 服务器,安装好之后可以通过修改配置文件手动开启。

编辑 C:\gitea\custom\conf\app.ini, 找到 [server] 条目添加 START_SSH_SERVER = true 用于启动内置的 SSH 服务。

[server]
START_SSH_SERVER = true

重启 Gitea 服务使之生效。

编辑 Windows 防火墙

如果你的 Windows 系统禁止所有入站连接,你将无法通过服务器的外部 IP 地址访问 Gitea 实例。

解决办法:

  1. 依次打开 控制面板\系统和安全\Windows Defender 防火墙\允许的应用。
  2. 点击允许其他应用,点击“浏览”选择 C:\gitea\gitea.exe 并添加,这将允许 Gitea 通过防火墙接受入站连接。
  3. 防火墙高级设置中,你还可以精细化设置 Gitea 的 TCP 入站连接。

手把手教你玩转 Gitea|在 Windows 系统上安装 Gitea的更多相关文章

  1. windows系统上安装与使用Android NDK r5 (转)

    windows系统上安装与使用Android NDK r5  很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...

  2. Redis进阶实践之三如何在Windows系统上安装安装Redis

    一.Redis的简介        Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...

  3. Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)

    Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...

  4. windows系统上安装与使用Android NDK r5

    windows系统上安装与使用Android NDK r5  很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...

  5. 在Linux和Windows系统上安装Nginx服务器的教程

    在Linux和Windows系统上安装Nginx服务器的教程  1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RP ...

  6. 在 Windows 系统上安装 Jekyll

    目录 安装 Ruby 环境 用 Bundler 安装 Jekyll 本文是写给完全未用过 Ruby 乃至命令行工具者的.对于一般的开发者,Jekyll 官方文档的相关内容已然足够. 本文为钱院学辅技术 ...

  7. 手把手教你如何利用Meterpreter渗透Windows系统

    在这篇文章中,我们将跟大家介绍如何使用Meterpreter来收集目标Windows系统中的信息,获取用户凭证,创建我们自己的账号,启用远程桌面,进行屏幕截图,以及获取用户键盘记录等等. 相关Payl ...

  8. windows系统上安装与使用Android NDK r8d(一)

    什么是NDK? NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和 java 应用一起打包成apk.这些工具对开发者的帮助是巨大的. NDK 集成了交叉编译器,并 ...

  9. Windows系统上安装多个版本jdk,修改环境变量不生效

    本机已经安装了jdk1.6,而比较早期的项目需要依赖jdk1.5,于是同时在本机安装了jdk1.5和jdk1.6. 安装jdk1.5前,执行 java -version 得到java version ...

随机推荐

  1. python shutil相关操作

    python shutil模块常用操作 高级的 文件.文件夹.压缩包 处理模块 1.将文件内容拷贝至另一个文件中 shutil.copyfileobj(src, dist, length=16*102 ...

  2. PerfView专题 (第一篇):如何寻找热点函数

    一:背景 准备开个系列来聊一下 PerfView 这款工具,熟悉我的朋友都知道我喜欢用 WinDbg,这东西虽然很牛,但也不是万能的,也有一些场景他解决不了或者很难解决,这时候借助一些其他的工具来辅助 ...

  3. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(12)-Fiddler设置IOS手机抓包,你知多少???

    1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Fiddler 能捕获Android 和 Windows Phone 等 ...

  4. Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  5. 羽夏看Linux内核——引导启动(下)

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.如有好的建议,欢迎反馈.码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作.如想转载,请把我的转载信息附在文章后面,并 ...

  6. MySQL 数据操纵语句

    插入 插入多个字段 insert into grade (`name`) values ('大一'),('大二'),('大三'),('大四'); 修改 设置时间为当前时间 update `studen ...

  7. 微信小程序检查版本更新并重启

    目录 1,前言 2,解决方案 3,调试须知 1,前言 最近开发小程序时候碰上了一个问题,当发布新版本小程序后,需要用户能赶紧用上最新的,避免出问题.查了一下官方文档,总结出几个情况如下: 微信运行时, ...

  8. 【游记】CSP 2021 J2

    这次是第一次参加CSP的复赛,所以考的就很LJ. \(DAY-\infty\) 到 \(DAY-14\) 知道了自己苟过了初赛,像个SB一样. (我初赛66分,旁边那位63.5,cao着线过去的) \ ...

  9. rcu使用遇到问题汇总

    1.3.10内核,在项目中遇到一种情况,我们根据sk指针hash到一个cpu上,然后访问该cpu对应分配的一个数据区. 然后系统会偶尔crash掉,crash掉有两种情况,一种是cred的rcu回收时 ...

  10. 牛客IOI周赛26-提高组 A. 逆序对

    题面 逆序对 有一个长度为 N \tt N N 的排列 a a a,进行 M \tt M M 次操作,操作有 4 \tt 4 4 种: 1 l r :交换 a l \tt a_l al​ 和 a r ...