> Linux教程 >

aliyun 安装gogs

本来以为安装gogs是一件很轻松的事情不料发生了N多周折,一一记录下来

1、到官网下载二进制包:http://gogs.io/,具体页面请自己找
2、到aliyun上解压,然后到包里运行start.sh
问题就这样来了。。。
开始我没有下载二进制包,我下载的最新的版本,运行后提示:只有官方的二进制包才内置支持sqlite3。由于我不想装mysql所以。所以只能下载二进制包
1、运行后,提示我开放了端口3000,然后通过网页访问 ,最后提交的时候出错了,说是不能在root用户下运行:
    Run user isn't the current user: git -> root  
2、创建一个新用户,git ....
    adduser --disabled-login --gecos 'GitLab' git  
3、使用sudo运行:
    sudo -u git ./start.sh  
提示:
    2014/07/18 09:37:43 [FATAL][github.com/gogits/gogs/models] publickey.go:72: publickey.init(fail to create sshPath(/root/.ssh)): mkdir /root/.ssh: permission denied  
咦,怎么在/root下?好纠结
4、用su - git
    su - git  
切换 到了git 用户下。再运行提示:
    2014/07/18 09:43:03 [log.go:76] [E] Fail to parse 'conf/app.ini': open /tmp/goconfig/867736331: permission denied  
好吧。刚才是先用类似 root权限运行的。所以。。再次切换回root删除了刚才的目录,再su回来,重新运行。一切正常,然后在网页里输入信息,保存
又提示:
    [martini] Started POST /install  
    [martini] PANIC: runtime error: invalid memory address or nil pointer dereference  
    /usr/local/src/go/src/pkg/runtime/panic.c:482 (0x48dffd)  
崩溃了,这肿么办?
干脆点,直接运行:gogs web,这回是WEB页提示了:
    Fail to save configuration: open /alidata1/software/gogits/gogs/custom/conf/app.ini: no such file or directory  
于是手动创建目录 、文件,并chown权限为git。于是全解决了。
然后再回想一样,刚才的start.sh,是不是也是因为权限问题?果然再次就没有这个问题了。
----
回想整个过程,一切都是因为权限的原因,果然还是要细致才OK啊
(责任编辑:IT)