一、环境说明

        系统版本:CentOS Linux release 7.5.1804 (Core)

        Git 版本:1.8.3.1 (服务端和客户端均需版本 >= 1.7.1

        Mysql 数据库版本:5.7.24

 

二、gogs 说明介绍

    一款极易搭建的自助 Git 服务。


三、MySQL 数据库安装

    详见:https://blog.51cto.com/lrtao2010/2288041

四、gogs 采用二进制方式安装

        4.1 安装包下载

        #wget http://gogs.dn.qbox.me/gogs_0.11.66_linux_amd64.tar.gz

        4.2 配置程序运行账号

        #useradd lrtao2010

        #passwd lrtao2010

        4.2 解压

        #tar xf gogs_0.11.66_linux_amd64.tar.gz -C /usr/local/

        #cd /usr/local/

        #chmod 700 gogs/

        #chown -R lrtao2010. gogs/

        4.3 准备gogs数据库

        gogs 需要一个名为gogs的数据库(名称不建议修改),并且对数据库有特定的要求,建议使用自带的sql文件创建需要的数据库,sql文件如下

        gogs/scripts/mysql.sql

        登录数据库,执行该sql文件即可:

        mysql> source /usr/local/gogs/scripts/mysql.sql;

       gogs 二进制安装 + 备份恢复 + 找回管理员密码_第1张图片

       

4.4启动、安装

#su - lrtao2010 -c "/usr/local/gogs/gogs web >/tmp/gogs.log 2>&1 &"

默认启动3000端口

首次通过浏览器访问,需要进行安装配置

http://192.168.64.70:3000/install (根据实际情况修改)

      gogs 二进制安装 + 备份恢复 + 找回管理员密码_第2张图片

                                                gogs 二进制安装 + 备份恢复 + 找回管理员密码_第3张图片

                                              gogs 二进制安装 + 备份恢复 + 找回管理员密码_第4张图片

配置完成后,点击“立即安装即可” 

完成安装后,会生成

仓库根目录:/home/lrtao2010/gogs-repositories,在做备份和恢复时需要用到这个目录

配置文件:/usr/local/gogs/custom/conf/app.ini,在做备份和恢复时需要用到这个文件        


五、备份和恢复

gogs 提供通过命令进行备份和恢复的方式,通过./gogs -h 可以查看具体的使用说明,在此,采用直接备份数据库、配置文件、仓库的方式进行备份和恢复。

 

        5.1 备份

        5.1.1备份数据库

        #mysqldump -uroot -p gogs > gogs.sql

        5.1.2 备份配置文件

        #cp /usr/local/gogs/custom/conf/app.ini gogs-app.ini

        5.1.3 备份仓库

        #tar zcf gogs-repositories-20181030.tar.gz /home/lrtao2010/gogs-repositories

        5.2 恢复

        5.2.1 按照上面介绍的方法,添加程序运行账号,配置mysql数据库,解压gogs二进制文件(不要操作启动和安装程序),以上配置尽可能和原服务器相同。

        5.2.2 5.1 中备份的仓库文件解压到/home/lrtao2010/目录下。

        5.2.3 在做恢复的服务器上恢复数据库信息。

        mysql> use gogs;

        mysql> source /opt/gogs/gogs.sql;

        5.2.4 恢复配置文件

        #mkdir -p /usr/local/gogs/custom/conf

        #cp gogs-app.ini /usr/local/gogs/custom/conf/app.ini

        需要将配置文件中的服务器信息修改成现在的服务器信息,其他信息不用修改。

        #chmod 700 /usr/local/gogs/

        #chown -R lrtao2010. /usr/local/gogs/

        5.2.5 启动,访问测试

        #su - lrtao2010 -c "/usr/local/gogs/gogs web >/tmp/gogs.log 2>&1 &"

    gogs 二进制安装 + 备份恢复 + 找回管理员密码_第5张图片



六、找回管理员密码

        配置过程中没有配置邮件服务器和管理员对应的有效邮箱,现在通过修改数据库,直接找回管理员密码。

        6.1 找回管理员密码

        找到gogs数据库中user表,直接复制已知账号的passwdrandssalt信息到管理员账号对应的字段下,保存即可

    1.png

管理员密码已经被修改成已知密码

七、更多高级配置管理信息

    https://gogs.io/docs/installation/install_from_binary 

八、参考文档

        https://gogs.io/docs

        https://blog.csdn.net/kikajack/article/details/80494897

        https://blog.happyhack.cn/2018/05/gogs-migration.html

        http://bbs.coolwp.org/topic/542-gogs-%E5%BF%98%E8%AE%B0%E5%AF%86%E7%A0%81%E5%90%8E%E6%80%8E%E4%B9%88%E5%8A%9E/?tab=comments#comment-845