新建用户
Gogs 默认以 git 用户运行。
运行 sudo adduser git
新建好 git 用户。su git
以 git
用户登录,到 git 用户的主目录中新建好 .ssh
文件夹。
完成
下载二进制代码
在 这里 可以根据系统下载二进制代码
之后解压到任意地方,在这里我选择解压到/home/git
下
运行安装
首先安装数据库,这里我们安装mariadb,在centos7中mariadb代替了mysql
|
|
安装好数据库后我们进行安装gogs
这里配置好数据库后即可开始安装gogs啦
到gogs解压目录下,./gogs web
开启gogs
默认端口是3000,也可以通过./gogos web -port 3301
来改变端口至3301
访问localhost:3000/install
进行安装
在这里要注意对gogs相应目录赋予git用户权限,根据缺省设置,这里我这么配置
安装完成后即可访问啦
gogs守护进程启动
gogs中的app.ini配置
首先配置 gogs/custom/conf/app.ini
根据本地环境进行相应配置
以下是我的配置文件
- RUN_USER 默认是 git,指定 Gogs 以哪个用户运行
- ROOT 所有仓库的存储根路径
- PROTOCOL 如果你使用 nginx 反代的话请使用 http,如果直接裸跑对外服务的话随意
- DOMAIN 域名。会影响 SSH clone 地址
- ROOT_URL 完整的根路径,会影响访问时页面上链接的指向,以及 HTTP clone 的地址
- HTTP_ADDR 监听地址,使用 nginx 的话建议 127.0.0.1,否则 0.0.0.0 也可以
- HTTP_PORT 监听端口,默认 3000
- INSTALL_LOCK 锁定安装页面
- Mailer 相关的选项
systemd服务配置
在 GitHub 上的 Gogs 仓库有一个 systemd服务模版文件
更新 User
、Group
、WorkingDirectory
、ExecStart
和 Environment
为相对应的值。其中 WorkingDirectory
为Gogs
实际安装路径根目录。
[可选] 如果您 Gogs 安装示例使用 MySQL/MariaDB、PostgreSQL、Redis 或 memcached,请去掉相应 After 属性的注释。
完成修改后,将文件保存至 /etc/systemd/system/gogs.service
,然后通过 sudo systemctl enable gogs
命令激活,最后执行 sudo systemd start gogs
启动。
通过 sudo systemd status gogs -l 或 sudo journalctl -b -u gogs 可以查看 Gogs 的运行状态。
这是我的/etc/systemd/system/gogs.service
配置文件
大功告成
另一种比较暴力的守护进程启动方式
切换到gogs所在目录,执行nohup ./gogs web &
参考
参考文章:https://mynook.info/blog/post/host-your-own-git-server-using-gogs