在windows服务器上搭建git服务器gogs

摘要】本文记录了2022年11月的最新gogs的完整安装过程及注意事项

安装服务端

一、下载的安装包如下

Git-2.38.1-64-bit.exe

GIT环境

gogs_0.12.10_windows_amd64.zip

gogs网站与SSH服务

nssm-2.24.zip

将gogs注册为windows服务,以便开机自动运行

二、安装GIT,配置环境变量%PATH%

将以下两个文件夹路径加入操作系统环境变量PATH值中

C:\Program Files\Git\cmd

用于程序访问git.exe

C:\Program Files\Git\usr\bin

gogs配置打开ssh相关服务时,程序需要访问ssh.exe

三、解压gogs和nssm压缩包至D:\GitServer\,并配置环境变量%PATH%

配置环境变量%PATH%,增加以下文件夹路径

D:\GitServer\nssm-2.24\win64

用于程序直接访问nssm.exe

四、重启,以便%PATH%生效

五、将gogs.exe安装为系统服务

找到文件夹 "D:\GitServer\gogs_0.12.10\scripts\windows"

编辑"install-as-service.bat"文件,确保gogs.exe的文件夹路径是正确的

SET gogspath=D:\GitServer\gogs_0.12.10

以管理员身份运行"install-as-service.bat"

六、新建并配置专用GIT用户

打开计算机管理,找到计算机管理(本地)->系统工具->本地用户和组->用户

新建用户git,设置密码永不过期,并设置隶属于administrators用户组。

再打开计算机管理(本地)->服务和应用程序->服务,找到服务gogs,并右击设置属性->登录,选择“此账户”,并输入.\git及此用户的密码,确认后,重启服务

七、新建git仓库存储文件夹

新建文件夹 D:\gogs-repositories,

右击属性->安全->高级,点击更改,选择用户组administrators或用户git

八、安装gogs web服务

访问http://localhost:3000,按配置要求进行设置,

为简化数据库安装,数据库类型选择SQLite3

记得保留好管理员用户和密码哦!

九、配置app.ini

找到文件夹 "D:\GitSever\gogs_0.12.10\custom\conf\"

编辑app.ini,做以下设置,以便开启SSH服务,邮箱服务和日志路径

RUN_USER   = git

EXTERNAL_URL     = http://<IP地址>:3000/

START_SSH_SERVER = true

[mailer]

ENABLED = true

HOST = smtp.exmail.qq.com:465(QQ企业邮箱示例)

FROM = [email protected]

USER = [email protected]

PASSWD = <邮箱密码>

[log]

MODE      = file

LEVEL     = Info

ROOT_PATH = D:/GitServer/gogs_0.12.10/log

十、本机之外访问,请注意配置防火墙

需要在 设置->更新与安全->Windows安全中心->防火墙与网络保护,找到“高级设置”以打开 高级安全Windows Defender防火墙,

配置3000端口的入站允许规则,以提供HTTP访问

选择入站规则->新建规则,选择端口,下一步选择TCP,特定本地端口输入3000后,

下一步选择“允许连接”,继续后续选择所有网络情况,再设置个名称即可

配置22端口的入站允许规则,以提供SSH访问

选择入站规则->新建规则,选择端口,下一步选择TCP,特定本地端口输入22后,

下一步选择“允许连接”,继续后续选择所有网络情况,再设置个名称即可

安装客户端

安装Git及TortoiseGit,再配置ssh key,即可正常使用

注意,git默认key采用RSA,但近期已经弃用,要么找到 .ssh\config 

(在C盘用户目录下,C:\Users\<当前登录用户名>\.ssh\)

若无,则新建.ssh\config文件,增加以下配置

Host *

HostkeyAlgorithms +ssh-rsa

PubkeyAcceptedKeyTypes +ssh-rsa

或者直接用ssh-keygen.exe生成ed25519版本的key

gogs的开源仓库链接是 GitHub - gogs/gogs: Gogs is a painless self-hosted Git service

gogs服务器更多信息,请访问官方链接 Gogs: A painless self-hosted Git service

gogs服务,支持通过自定义HTML模板来定制页面、通过Web 钩子来自动化部署、引入第三方认证源、等高级自定义功能,详细请访问 Custom template - Gogs

猜你喜欢

转载自blog.csdn.net/emanruoy/article/details/127703670