0、安装步骤

先安装依赖,然后创建数据库,创建git用户,安装Gogs软件,设置启动,访问web界面进行配置

一、Gogs依赖环境

安装Gogs之前需要配置相应的依赖环境,官网介绍的依赖环境如下:

  1. 数据库(选择以下一项):

    MySQL:版本 >= 5.5.3

    PostgreSQL

    或者 什么都不安装 直接使用 SQLite3 或 TiDB

  2. git(bash):

    服务端和客户端均需版本 >= 1.7.1

    Windows 系统建议使用最新版

  3. SSH 服务器:

    如果您只使用 HTTP/HTTPS 或者内置 SSH 服务器的话请忽略此项

    推荐 Windows 系统使用 Cygwin OpenSSH 或 Copssh

  4. Nginx反向代理(可选)

    或者使用Gogs只监听本地ip,使用nginx做反向代理,防火请开启且屏蔽该端口

二、安装环境

IP:192.168.0.168

系统:Centos7 x86_64

Git版本:git-1.8.3.1-13.el7.x86_64

Golang版本:golang.x86_64 0:1.11.5-1.el7

Gogs版本:ggogs_0.11.91_linux_amd64.tar.gz

Mysql版本:mysql-community-server-5.7.27-1.el7.x86_64.rpm

1)防火墙放行端口或者关闭防火墙

systemctl stop firewalld.service

2)关闭selinux

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

三、搭建Git服务器仓库

1、安装go语言依赖和git服务

yum -y install go git

2、安装MySQL数据库

若采用SQLite3,则这一步可以省略

yum源上没有mysql-server。所以必须去官网下载,这里用wget命令,直接获取mysql社区源进行安装

# 下载rpm包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# 安装rpm包
yum -y install mysql57-community-release-el7-10.noarch.rpm
# 安装mysql
yum -y install mysql-community-server
# 启动
systemctl start mysqld.service
# 设置开机启动
systemctl enable mysqld
# 查看服务端口号
netstat -tulnp | grep mysqld
# 查看数据库默认密码
grep "password" /var/log/mysqld.log
# 登录数据库
mysql -uroot -p password
# 修改数据库登陆密码(新密码一定要按照数据库的密码复杂要求来设置)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ABCabc123...';
flush privileges; # 初始化MySQL数据库
mysql_secure_installation
# 执行完初始化命令后需要输入数据库root用户密码,然后默认一路回车即可 # 创建gogs库(使用utf8mb4字符集和InnoDB引擎,mysql5.7默认是InnoDB引擎)
CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
# 创建用户
CREATE USER 'gogs'@'localhost' IDENTIFIED BY 'password'; # gogs用户对gogs库下所有表拥有ALL PRIVILEGES权限
grant all privileges on gogs.* to 'gogs'@'localhost' identified by 'password' with grant option;
flush privileges;

3、安装Gogs

# 创建git系统用户
adduser git
# 修改git用户密码为123
passwd git # 后期安全起见,可设置禁止git用户远程登陆服务器:/sbin/nologin # 切换git用户登录创建目录,这个目录是存放普通用户上传代码公钥认证的目录
su - git
cd /home/git
mkdir ~/.ssh
wget https://cdn.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz
tar -zxv -f gogs_0.11.91_linux_amd64.tar.gz
cd gogs # 用git用户启动gogs服务方式
./gogs web & # 使用system方式启动,切换到root用户操作.建议使用这种方式管理gogs服务 # 给脚本普通用户和root用户执行权限
chmod u+x /home/git/gogs/scripts/systemd/gogs.service # 拷贝gogs启动脚本到system下
cp /home/git/gogs/scripts/systemd/gogs.service /usr/lib/systemd/system/ # 启动gogs服务
systemctl start gogs.service # 关闭gogs服务
systemctl stop gogs.service # 重启gogs服务
systemctl restart gogs.service

访问gogs的web安装界面并安装gogs,访问地址:http://192.168.0.168:3000

数据库配置连接:数据库类型,数据库主机,数据库用户,数据库用户密码,数据库名称

应用的基本设置:应用名称,仓库根目录,运行系统用户,域名,SSH端口号,HTTP端口号,应用URL,日志路径

自动选择设置:启用离线模式,禁用Gravatar服务,启动登陆访问控制

设置管理员账号,密码和管理员邮箱,sandu:123456,admin@qq.con

重新使用web访问这个网址

Centos7 用gogs搭建git仓库的更多相关文章

  1. centos7使用Gogs搭建Git服务器

    一.初次接触Gogs,记录一下搭建过程 二.平台环境 Linux: CentOS7.5.1804 MySQL: 5.6.35 安装步骤: linux服务器新建git用户: 下载.解压gogs安装包: ...

  2. Windows 使用 Gogs 搭建 Git 服务器(转)

    Windows 使用 Gogs 搭建 Git 服务器   随便说两句 之前有使用 Gitblit 在Windows搭建Git服务器,用的也挺好的,可能安装起来略麻烦一点.现在全用 Gogs 在wind ...

  3. 手把手教你使用gogs搭建git私有仓库

    本来想在 Github 上建一个私仓,但是发现只能设置 3 个贡献者. 国内的码云也只能设置 5 个. 无意间看到了使用 gogs 可以搭建私服,正好手头有空闲的服务器,于是开干! https://g ...

  4. 使用Gogs搭建Git服务器

    Git现在基本上已经代替SVN成为主流的源码管理工具了,我在之前的文章使用GIT进行源码管理--GIT托管服务中介绍过一些国内外的主流在线Git服务,虽然这些在线的Git服务大多非常好用,但是有的时候 ...

  5. Windows 使用 Gogs 搭建 Git 服务器

    随便说两句 之前有使用 Gitblit 在Windows搭建Git服务器,用的也挺好的,可能安装起来略麻烦一点.现在全用 Gogs 在windows搭建Git服务器,主要是因界面好看,管理更方便一些. ...

  6. gogs搭建git服务教程

    使用gogs搭建自己的git服务!!! 一.GIT服务器搭建方式 上一节课我们讲过GIT是一个分布式版本管理系统,既然是分布那么必定会涉及远程通信,那么GIT是采用什么协议进行远程通信的呢? git支 ...

  7. git - 搭建git仓库

    1. 更新git版本: http://codelife.me/blog/2013/06/25/upgrade-git-on-centos-6-4/ 2. 建立git仓库: git init --bar ...

  8. Linux环境下搭建Git仓库

    1.安装Git $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum ...

  9. 在服务器搭建git仓库

    使用root登录服务器 添加一个新用户(git仓库的所有者) useradd gituser # gituser---> 用户名字 设置密码 passwd gituser 配置sshd服务参数 ...

随机推荐

  1. html密码框value为空,但是总有默认密码(原)

    input输入框加属性:autocomplete="new-password" ,浏览器就不会给他填充默认密码. <input class="form-contro ...

  2. sqli-labs(44)

    第四十四关 本关是基于盲注的,这里盲注主要是要没有报错信息,所以要采用盲注.这关与42关的区别就在于没有报错信息 过滤点: $username = mysqli_real_escape_string( ...

  3. WebView的基础用法

    新建一个WebView项目,然后修改activity_main.xml布局文件中的代码,如下所示: <LinearLayout xmlns:android="http://schema ...

  4. Linux如何安装卸载软件

    Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程 序” 来实现.与其相类 ...

  5. C# 注册DLL(使用cmd)

    //cmd:"regsvr32 " + dllPath(注册dll的语句) //output:string.Empty(注册后的反馈信息 ) private static void ...

  6. centos6 升级php版本

    配置yum源 追加CentOS 6.8的epel及remi源. # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel- ...

  7. leetcode-easy-design-384 Shuffle an Array

    mycode class Solution(object): def __init__(self, nums): """ :type nums: List[int] &q ...

  8. golang defer 延后执行什么

    对于golang的defer,我们已经知道,defer定义的语句可以延后到函数返回时执行. 经常用在文件的关闭,锁的释放等场景中.而且defer定义的语句即使遇到panic也会执行.这样,可以执行必要 ...

  9. LoadRunner 技巧之 脚本设计

    LoadRunner 技巧之 脚本设计 在做性能测试时,我们可能会遇到各种不同的业务需求与用户行为,在一个系统或网站中,每个用户的操作都不完全一样.我们如何来模拟这此用户的行为?经验与能力有限,我这里 ...

  10. 跨域请求配置 Amazon AWS S3 腾讯云 阿里云 COS OSS 文件桶解决方案以及推荐 Lebal:Research

    跨域请求配置 跨域请求指的就是不同的域名和端口之间的访问.由于 ajax 的同源策略影响.跨域请求默认是不被允许的. 使用@font-face外挂字体时,可能遇到跨域请求CROS问题:F12控制台报错 ...