草庐IT

手把手教你玩转 Gitea|在 Windows 系统上安装 Gitea

Gitea 2023-04-10 原文

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,其他系统版本操作类似。

OSVersionCPURAM
Windows ServerLTSC 20224 Core4GB

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. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  3. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  4. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  5. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  6. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  7. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  8. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  9. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  10. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

随机推荐