重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Gogs是一种开放源代码的自托管Git服务。使用Go语言开发使得Gogs能够通过独立的二进制分发,支持Go语言支持的所有平台,包括 Linux、macOS、Windows 以及ARM 平台。那么如何在Linux CentOS 7上安装配置Gogs程序呢?下面一起来看下相关解说。
成都创新互联专注于黄南州企业网站建设,响应式网站建设,购物商城网站建设。黄南州网站建设公司,为黄南州等地区提供建站服务。全流程按需定制,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
相关环境:这里以RAKsmart美国服务器为例,系统选用的是CentOS 7。
1、安装Git
Git服务器端和客户端1.8.3或更高版本,使用以下命令安装。
yum install -y git
2、安装数据库(支持以下任何一种)
MySQL(5.7版或更高版本)/ MariaDB(10.2版或更高版本)
PostgreSQL(版本9.4.4或更高版本)
SQLite3
3、安装Gogs程序
#下载gogs安装包
wget https://dl.gogs.io/0.11.86/gogs_0.11.86_linux_amd64.tar.gz
#如果提示未找到wget命令,可以使用yum安装
yum install -y wget
#解压文件
tar -xzvf gogs_0.11.86_linux_amd64.tar.gz
#创建git用户
useradd git
#将gogs安装包所有者改为git
chown -R git:git /gogs
4、在数据库上创建Gogs用户并授予权限
#root登录mysql
mysql -uroot -p密码
#创建gogs数据库
create database gogs default charset utf8 collate utf8_general_ci;
#创建gogs用户并授予该用户gogs数据库的全部权限
GRANT ALL PRIVILEGES ON gogs.* TO ‘gogs’@’%’ IDENTIFIED BY ‘123456’;
#刷新权限
flush privileges;
5、运行Gogs并重启服务器
#进入gogs安装路径
cd /gogs
#运行gogs
#默认端口启动
su git
./gogs web
#指定端口启动
su git
./gogs web –port 3001
使用这种方法属于前台启动,如果关闭终端会自动退出,也可以采用后台启动方法。
#设置开机自启
#将gogs的启动脚本复制到/etc/init.d/路径下:
#gogs自己提供了默认的启动脚本,在gogs安装包的scripts/init/路径下,可以根据自己的操作系统选择不同的脚本
cp /gogs/scripts/init/centos/gogs /etc/rc.d/init.d/
#编辑启动脚本
vim /etc/init.d/gogs
#修改启动脚本的GOGS_HOME和GOGS_USER,它们分别是gogs的安装路径和gogs的启动用户,例如在本例中将GOGS_HOME 改为/home/gogs,GOGS_USER改为git
#进入/etc/init.d路径
cd /etc/init.d
#给启动脚本赋予可执行权限
chmod x gogs
#启动gogs
service gogs start
#关闭gogs
service gogs stop
#重启gogs
service gogs restart
#将gogs设置为开机自启动
chkconfig gogs on
#检查是否加入成功
chkconfig –list gogs
6、前端安装Gogs程序
如果默认3000端口已经被其他端口占用的话,使用后台启动的方式是无法正常启动的,因为在未进行前端安装的情况下,后台启动无法指定端口,只能在前端安装gogs之后才会生成相应的配置文件。
您可使用服务器的IP地址(http:// Server_IP:3000 )通过Web浏览器访问首次运行的配置设置。将自动进入如下安装界面,填写相关配置信息。
信息填写完毕,安装成功后,会出现以下界面:
这样Gogs程序就成功安装了,后面可以进行相关配置,比如设置反向代理等。要注意的是设置反向代理,需要使用域名,而不是服务器的IP地址,拥有域名后,只需要更新应用程序的配置文件即可。
/home/git/gogs/custom/conf/app.ini
[server]
DOMAIN = gogs.mydomain.com
HTTP_PORT = 3000
EXTERNAL_URL = http://gogs.mydomain.com:3000/
在此示例中,目标是通过在我们的Web浏览器中键入gogs.mydomain.com来访问该应用程序。配置完成后,便可继续进行反向代理操作。如果使用的是Nginx,则需要将此添加到域的配置文件中。通常的位置是/etc/nginx/sites-available/mydomain.com(将mydomain.com替换为实际域)。
server {
listen 80;
listen [::]:80;
root /var/www/gogs.mydomain.com/html;
index index.html index.php index.nginx-debian.html;
server_name gogs.mydomain.com www.gogs.mydomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}