Linux安装gogs搭建Git仓库

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Gogs由Go语言编写,运行时需要安装Golang运行环境如果系统中其他程序并不需要运行Go语言程序,可以只为上文创建的git用户配置运行环境,也可以选择配置全系统所有用户的Go语言运行环境
安装Gogs之前先安装好mysql,nginx(nginx用作反向代理)


一.gogs默认以git用户运行


新建git用户


adduser git


以git用户登录


sugit


cd 到git用户主目录 /home/git 新建.ssh文件夹 权限设置为0755


二.安装Go


Go语言官网 可以获取最新的二进制安装包


wget https://storage.googleapis.com/golang/go1.5.2.linux-386.tar.gz
tar xzvf go1.5.2.linux-386.tar.gz
mv go /usr/local/lib/go


安装Go语言运行环境


Gogs由Go语言编写,运行时需要安装Golang运行环境

如果系统中其他程序并不需要运行Go语言程序,可以只为上文创建的git用户配置运行环境,也可以选择配置全系统所有用户的Go语言运行环境


1. 配置环境变量,切换到用户git,并只为该用户配置Go运行环境


sugitcd ~


2.写入环境变量


 vim /etc/profile最后一行加入


exportPATH=$PATH:/usr/local/lib/go/bin


3.使环境变量生效


source /etc/profile


4.测试Golang是否安装成功


go env


三.安装 Gogs


1.下载预编译的二进制安装包


安装包各版本地址:https://gogs.io/docs/installation/install_from_binary


sugitcd ~
wget-c http://7d9nal.com2.z0.glb.qiniucdn.com/gogs_v0.8.10_linux_386.tar.gz
tar zxf gogs_v0.8.10_linux_386.tar.gz


2.建立数据库


/home/git/gogs/scripts/mysql.sql是数据库初始化文件

提示:数据库必须支持InnoDB引擎


cd gogs
mysql -u root -p < scripts/mysql.sql #(需输入密码)即可初始化好数据库


3.登录 MySQL 创建一个新用户 gogs,并将数据库 gogs 的所有权限都赋予该用户


mysql -u root -pgrant all privileges on gogs.* to 'gogs'@'localhost' identified by '密码';
flush privileges;
exit;


4.编辑 gogs/scripts/supervisor/gogs 修改如下


directory=/home/git/gogs/
command=/home/git/gogs/gogs web


四.nginx 反向代理


1. http

server {
    server_name 域名或IP;
    listen 80;
    location / { # 如果你希望通过子路径访问,此处修改为子路径,注意以 / 开头并以 / 结束        proxy_pass http://127.0.0.1:3000/;
    }
}


2. https


server {
    listen 443 ssl;
    server_name 域名或IP;
    ssl_certificate /path/to/gogs.io.unified.crt;
    ssl_certificate_key /path/to/gogs.io-decrypted.key;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://localhost:3000 $request_uri;
    }
}


五.配置详解


配置文件位于 Gogs 目录的 custom/conf/app.ini,是 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 相关的选项

其中,Mailer 可以使用 Mailgun 的免费邮件发送服务,将 Mailgun 的 SMTP 配置填入到配置中就好。


六.运行gogs


手动开启gogs


sugitcd ~/gogs
./gogs web


加入服务运行


将 /home/git/gogs/scripts/init/debian/gogs复制到/etc/init.d中
root用户下


service gogs stop|start|restart|reload|status


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
9天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
77 20
|
2天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
58 7
|
9天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
26 2
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
64 4
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
54 5
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
75 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
49 3
|
1月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
194 0
|
1月前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
67 0