今天农成花了大半天的时间,总算做成一件事情,就是搭建溪话工作室的git服务器。其实想完成这个工作很久了,只是一直没有找到一个契机,今天刚好公司有个同事也为公司的服务器搭建了一套git服务器,于是农成就学习了一下。就给大家分享一下农成遇到的坑吧。
首先,农成用了一个开源的项目
Gogs – Go Git Service
感兴趣的可以点击进去看下,其实人家官网也提供相当靠谱的安装方法。觉得看不懂农成的技术文章的可以移步去看看官网的。农成这篇文章主要只是说明一下农成碰到一些坑。
第一个坑:
这个项目是用go语言编写的,所以一定要把服务器安装go语言。http://www.lnctime.com/1959.html
另外农成要在这里说明下,安装这个git服务器的话,前提是你的服务器已经有了php环境、web容器环境【nginx或者Apache服务】、mysql服务。没有安装的话,自行百度一下吧。
然后就可以安装以下的流程继续了。
新建用户
Gogs 默认以 git 用户运行(你应该也不会想一个能修改 ssh 配置的程序以 root 用户运行吧?)。
运行 sudo adduser git
新建好 git 用户。
su git
以 git 用户登录,到 git 用户的主目录中新建好 .ssh
文件夹。
下载解包
二进制解压包下载链接:wget https://dl.gogs.io/gogs_v0.9.97_linux_386.zip
tar -C /usr/local -xzf go1.7.3.linux-amd64.tar.gz
我使用的是预编译的二进制包。需要从源码编译的话,请参考一般 Go 语言项目的编译。下载后解包到你喜欢的地方,例如 /usr/share/gogs/
或者 /home/git/gogs/
。文件夹的内容如下。
$ ls /home/git/gogs/
custom data gogs LICENSE log public README.md README_ZH.md scripts templates
运行安装
首先建立好数据库。在 Gogs 目录的 scripts/mysql.sql
文件是数据库初始化文件。执行 mysql -u root -p < scripts/mysql.sql
(需要输入密码)即可初始化好数据库。
然后登录 MySQL 创建一个新用户 gogs,并将数据库 gogs
的所有权限都赋予该用户。
$ mysql -u root -p
> # (输入密码)
> create user 'gogs'@'localhost' identified by '密码';
> grant all privileges on gogs.* to 'gogs'@'localhost';
> flush privileges;
> exit;
运行 gogs web
把 Gogs 运行起来,然后访问 http://服务器IP:3000/
来进行安装,填写好表单之后提交就可以了。
需要注意的是,0.6.9.0903 Beta
版本有个 bug,允许在关闭注册的情况下不添加管理员,这样安装完成之后将没有任何用户可以登录。所以请务必在安装界面指定一个管理员帐号。
这里会遇到第二个坑:
当你进入到刚刚解压的目录。然后执行./gogs web 的时候就会报错了。
你要服务器安装linux开发各种组件才可以。这个按照常规的来进行就可以了。如果不会的话,自行百度一下,不是很难。
这里农成要重点强调另外一个问题:
就是这个类库 libpam.so.0已经安装成功之后,在执行gogs命令的时候会发现会一直报目录不存在的问题。农成各种百度各种谷歌之后,最后得出了产生的原因,就是这个库安装的路径跟gogs要求的类库路径不一致,还有一个问题就是这个类库可能安装的是32位的,而农成的服务器是64的。于是就用了一个简单粗暴的办法,删除了这个类库,然后重新装。
yum install pam.i686 执行这条命令之后就可以啦。
走到这里就差不多已经完成了。然后你通过web浏览器打开你服务器的ip地址XXX.XXX.XXX.XX:3000就可以进入到图形操作页面了。如果大神想自己修改配置也是可以的。
这里农成遇到了第三个坑:
就是在安装的时候,有个url的选择,就是说如果你已经配置了你的git域名到你的主机的话,就直接可以用,但是农成是没有配置的。所以就会出现一个致命的问题,路径的不对。那解决办法呢,农成用了最简单粗暴的办法,删除了所有的东西,重新安装一下。
然后这里,在mark一下一个小的技巧。就是要git服务器一直执行的话,必须保持./gogs web脚本一直执行。只需要在命令后面加个&就搞定了。
未经允许不得转载:微信信息发源地 » 农成学服务器-git服务器的搭建
评论前必须登录!
登陆 注册