新入公司,要求用git做版本控制,之前公司用的gitlab,找资料过程中发现了gogs,相比gitlab性能要求不大,所以学习搭建Gogs。
Gogs 是一款极易搭建的自助 Git 服务。
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
阿里云ECS服务器 Ubuntu 16.04.2
这里需要安装的依赖有NgNix,git,MySQL
1.安装NgNix
sudo apt-get install nginx
2.安装git
sudo apt-get install git
3.安装MySQL
sudo apt-get install mysql-server
4.进入MySQL
mysql -u root -p
这里如果已经安装过MySQL,用之前的密码登录就好。
5.创建gogs数据库
//登录 MySQL 创建一个新用户 gogs,并将数据库 gogs的所有权限都赋予该用户。这里123456是密码
SET GLOBAL storage_engine = 'InnoDB';
CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON gogs.* TO ‘root’@‘localhost’ IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
QUIT;
sudo adduser git
这里一样要设置密码,每次切换用户需要密码,不要忘了密码
首先安装解压的工具
sudo apt-get install unzip
su git //这里是切换git用户
cd ~ //返回根目录
wget https://dl.gogs.io/0.11.4/linux_amd64.zip
unzip linux_amd64.zip
现在好像用二进制和源码安装的方法,这里不做讨论。
1.修改Gogs service配置文件
vim /home/git/gogs/scripts/init/debian/gogs
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Go Git Service"
NAME=gogs
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKINGDIR=/home/git/gogs #这个根据自己的目录修改
DAEMON=$WORKINGDIR/$NAME
DAEMON_ARGS="web"
USER=git #如果运行gogs不是用的这个用户,修改对应用户
//说明:
//1.如果是创建的git用户 则目录修改为/home/git/gogs.对应的USER修改为git
//2.如果是在root用户下安装在/usr/local/gogs/下 则对应的目录为:/usr/local/gogs/gogs.对应的USER修改为root
2.切换回root用户
su root
3.复制到/etc/init.d/
sudo cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/
4.赋予权限
sudo chmod +x /etc/init.d/gogs
5.复制service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
cd /home/git/gogs/
./gogs web
这个时候就是见证奇迹的时刻了
打开浏览器配置Gogs
http://ip:3000/install
这里ip就是服务器的ip地址
首次配置结束,访问 http://ip:3000 就能看到Gogs了。
首次配置后,会产生配置文件,在 /home/git/gogs/coustom/conf/app.ini
需要修改配置在里面可以修改,更多配置细节:Gogs
原因:
1.可能3000端口被占用,gogs未启动,解决方法查看端口,看看能不能杀掉进程,方法自行百度, gogs安装3000端口,应该不能改。
2.服务器防火墙,解决方法:关闭防火墙。
3.阿里云安全组配置(这是我出现的情况)
解决方法:开放端口
鸡汤:学习是一件难得的事,正因为难,得到的才更有价值。