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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

摘要】本文记录了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 = xxx@XXX.com

USER = xxx@XXX.com

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6