文章目录 Gogs服务搭建Gos安装环境配置yum源,安装mariadb数据库安装Gogs服务在gogs中创建仓库gogs问题解决

Gogs服务搭建 Gos

Go语言开发的Git服务器https://gogs.io/

安装环境 本次安装使用Centos6 配置yum源,安装mariadb数据库 替换yum源路径 访问阿里镜像网站[http://mirrors.aliyun.com],找到centos,点击"帮助"

执行命令:

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

下载前可以先移除原有的repo文件。找到对应CentOS版本的repo文件下载。
下载完成后执行

1.清除所有yum缓存

yum clean all

2.安装Git

yum install git -y

3.查看可安装的mariadb数据库

yum list | grep mariadb

4.安装mariadb-server会自动安装mariadb

yum install mariadb-server

5.启动mariadb.service和添加mariadb.service的开机启动

systemctl start mariadb.service
systemctl enable mariadb.service

6.使用root用户登录查看数据库,并退出

mysql -u root

show databases;

exit;

7.配置数据库

mysql_secure_installation

输入root用户密码(由于安装时,没有制定root用户密码,所有密码为空直接回车即可)

输入Y,后重新设置root用户密码

删除匿名用于(Y)

不允许root用户远程登录。(为了方便管理,自己的虚拟机里面可以选择No,如果是服务器建议选择yes)

删除text测试数据库

重新加载权限,保存当前配置

安装Gogs服务

下载gogs安装程序gogs_0.11.86_linux_amd64.tar.gz,上传到Centos解压。

下载地址:https://dl.gogs.io/0.11.86/gogs_0.11.86_linux_amd64.tar.gz

网址:https://dl.gogs.io/

参考官方文档(配置)https://gogs.io/docs/advanced/configuration_cheat_sheet.html

1.创建git用户,设置git用户密码,登录git用户(用来单独管理Gogs服务)

useradd git
passwd git
su - git

2.下载安装文件

wget https://dl.gogs.io/0.11.86/gogs_0.11.86_linux_amd64.tar.gz

3.解压文件

tar xvf gogs_0.11.86_linux_amd64.tar.gz

4.进入gogs文件夹,使用gogs的脚本在数据库中创建一个数据库

cd gogs/
mysql -uroot -p < scripts/mysql.sql

4.1创建完成后可以使用如下命令看看数据库中的变化

用root用户登录数据库

mysql -u root -p

查看所有数据库(可以看到增加了gogs数据库)

show databases;

使用gogs数据库,看看数据库中的表

use gogs;
show tables;
exit:

5.为gogs库创建mysql用户gogs,并授权

使用root用户登录数据库

mysql -u root -p

创建gogs 并授权

grant all on gogs.* to ‘gogs’@’%’ identified by ‘gogs’;
flush privileges;
exit;

6.配置gogs

在gogs目录下建立custom/conf/app.ini配置文件

mkdir -p custom/conf
cd custom/conf
touch app.ini

app.ini配置文件如下:

vim app.ini

#应用名称,可以改成你组织或公司的名称APP_NAME = xdd#运行应用程序的用户名,建议使用git,即当前用户名RUN_USER = git#可以设置为dev不过,在完成配置后会修改为devRUN_MOOE = dev#配置web服务[Server]HTTP_ADDR = 192.168.61.108HTTP_PORT = 3888#配置链接数据库信息[database]DB_TYPE = mysqlHOST = 127.0.0.1:3306NAME = gogsUSER = gogsPASSWD = gogs# 配置security[security]#是否禁止修改app.ini文件,(如果为false会打开网页是就配置,配置完成后会自动改为True)INSTALL_LOCK = false#加密密钥,越长越难破解SECRET_KEY = xiaodiandian@.com.xiaodiandian

配置完成后保存退出

注意app.ini的权限、属主、属组。此文件在配置完,它要被当前服务运行用户修改并保持。INSTALL_LOCK之后会被变成true,就是不能看到配置页了。

7.配置gogs服务,设置开机启动
注意:单独启动gogs可以使用命令gogs web来完成

拷贝服务文件到/lib/systemd/system/目录下(使用root用户拷贝,不然会没有权限)

su - root
cp /home/git/gogs/scripts/systemd/gogs.service /lib/systemd/system/

启动gogs服务,为gogs添加开机启动服务
#启动gogs服务

systemctl start gogs

#为gogs服务添加开机启动

systemctl enable gogs

关闭防火墙(为了避免不能访问)
#关闭防火墙

systemctl stop firewalld

#关闭防火墙开机启动

systemctl disable firewalld

8.首次登陆

首次登陆地址位:gogs搭建的主机地址的3000端口上。http://172.0.0.1/3000/install
设置基本信息
设置可选信息

10 设置成功后正常登录后如下:(注意:上面设置中,如果不清楚的情况下,端口最好设置为3000,ip地址使用安装机器的ip地址,不要使用localhost)

9.可能出现的错误

数据库设置错误:Error 1071

解决办法:参考:https://blog.csdn.net/z404739140/article/details/83384830

使用root用户登录mysql,查看innodb_large_prefix状态:如果是off,就修改为on

mysql -uroot -p
show variables like ‘%innodb_large_prefix%’;
set global innodb_large_prefix=on;
show variables like ‘%innodb_file_format%’;
set global innodb_file_format=Barracuda;
flush privileges;

修改数据库配置文件:/etc/my.cnf,增加如下内容:

innodb_large_prefix=oninnodb_file_format=Barracudainnodb_file_format_check=ONinnodb_file_format_max=Barracudainnodb_file_per_table=ON

如果依然出现上述错误可以重新执行如下命令(重新创建gogs数据库,和重新为gogs用户给权限)

mysql -uroot -p < /home/git/gogs/scripts/mysql.sql
mysql -u root -p
grant all on gogs.* to ‘gogs’@’%’ identified by ‘gogs’;
flush privileges;
exit;

在gogs中创建仓库 用已经注册的用户登录(不建议使用root用户登录,可以先注册个用户)
点击添加个厂库
填写厂库名称,点击创建厂库
下面就可以看到和github类似的界面,厂库已经创建完成。
gogs问题解决 打开网页慢
日志中可以看到 AvatarLink.LibravatarService.FromEmail [my@magedu.com]: lookup _avatarssec._tcp.magedu.com on 192.168.142.2:53: read udp 92.168.142.135:40255->192.168.142.2:53: i/o timeout
访问不到gravatar.com的头像服务,解决办法就是禁用gravatar服务,使用本地头像
打开配置文件,修改如下

重新加载配置即
也可以在访问install的时候,就禁用Gravatar服务