农成学服务器-git服务器的搭建-微信信息发源地

农成学服务器-git服务器的搭建

今天农成花了大半天的时间,总算做成一件事情,就是搭建溪话工作室的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服务器的搭建

赞 (2)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册