Submitted by gouki on 2014, July 18, 10:38 AM
本来以为安装gogs是一件很轻松的事情不料发生了N多周折,一一记录下来
1、到官网下载二进制包:http://gogs.io/,具体页面请自己找
2、到aliyun上解压,然后到包里运行start.sh
问题就这样来了。。。
开始我没有下载二进制包,我下载的最新的版本,运行后提示:只有官方的二进制包才内置支持sqlite3。由于我不想装mysql所以。所以只能下载二进制包
1、运行后,提示我开放了端口3000,然后通过网页访问 ,最后提交的时候出错了,说是不能在root用户下运行:
XML/HTML代码
- Run user isn't the current user: git -> root
2、创建一个新用户,git ....
XML/HTML代码
- adduser --disabled-login --gecos 'GitLab' git
3、使用sudo运行:
XML/HTML代码
- sudo -u git ./start.sh
提示:
XML/HTML代码
- 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下?好纠结
切换 到了git 用户下。再运行提示:
XML/HTML代码
- 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回来,重新运行。一切正常,然后在网页里输入信息,保存
又提示:
XML/HTML代码
- [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页提示了:
XML/HTML代码
- Fail to save configuration: open /alidata1/software/gogits/gogs/custom/conf/app.ini: no such file or directory
于是手动创建目录 、文件,并chown权限为git。于是全解决了。
然后再回想一样,刚才的start.sh,是不是也是因为权限问题?果然再次就没有这个问题了。
----
回想整个过程,一切都是因为权限的原因,果然还是要细致才OK啊
Linux | 评论:2
| 阅读:23387
Submitted by gouki on 2014, July 12, 8:06 PM
在写shell脚本的时候,还是有些注意事项的,比如。。空格,给变量赋值不能有空格,象a=1就不能写成a = 1,刚开始的时候好纠结。。
写判断语句的时候[]之间一定要有空格。以下是一些常见的判断:
参考:http://www.cnblogs.com/emanlee/p/3583769.html
- #如果文件夹不存在,创建文件夹
- if [ ! -d "/myfolder" ]; then
- mkdir /myfolder
- fi
-
- #shell判断文件,目录是否存在或者具有权限
-
-
- folder="/var/www/"
- file="/var/www/log"
-
- # -x 参数判断 $folder 是否存在并且是否具有可执行权限
- if [ ! -x "$folder"]; then
- mkdir "$folder"
- fi
-
- # -d 参数判断 $folder 是否存在
- if [ ! -d "$folder"]; then
- mkdir "$folder"
- fi
-
- # -f 参数判断 $file 是否存在
- if [ ! -f "$file" ]; then
- touch "$file"
- fi
-
- # -n 判断一个变量是否有值
- if [ ! -n "$var" ]; then
- echo "$var is empty"
- exit 0
- fi
-
- # 判断两个变量是否相等
- if [ "$var1" = "$var2" ]; then
- echo '$var1 eq $var2'
- else
- echo '$var1 not eq $var2'
- fi
Linux | 评论:1
| 阅读:20008
Submitted by gouki on 2014, July 5, 12:00 AM
标题其实没什么,主要原因是。我在两台机器上部署了同样的程序,一个访问的时候一直显示404,一个就一直正常。死活找不到原因
1、背景
两台服务器,都是CentOS,一个可以公网访问,一个只能内网访问,因此一个可以在浏览器里打开,一个只能用命令行访问,习惯性的,我使用了wget
2、浏览器访问正常,命令行显示404
3、配置完全一样,问题不明。
wget的时候显示404,无输出。。也就导致没有任何文件信息被下载
4、使用的YII框架。结果,记录的LOG,分组了只记录了system.db,404的LOG未被记录
5、调整策略:
a.用curl(有朋友建议)
b.把LOG改为全部记录
于是就发现问题了。LOG里显示无默认控制器。CURL直接输出错误信息
原来,WGET看到http头是404后就不再下载内容,即使我有在文件里有输出,而CURL默认就是按浏览器访问的显示而正常输出在屏幕上。
问题解决。记录一下。就因为WGET和CURL的默认机制不一样。吐血三升
Linux | 评论:1
| 阅读:19758
Submitted by gouki on 2014, June 5, 5:02 PM
先申明。。。参考本文,我并没有成功的搭建成功。因为我在执行第一个rpm --nodeps -ivh Runtime的时候。不是按照预想的安装在了/opt/mqm下面,而是提示我安装在/ filesystem下。所以我就没有办法下一步。因为在执行第二个安装的时候,它提示我没有在/opt/mqm下找到runtime。。。
不过我还是做个记录,因为我是debian系统。也许ubuntu下就会成功呢??原文来自:http://qtlkw.iteye.com/blog/744052
我转贴的并不全。下面的一些介绍我没有转,如果有兴趣可以移步原文,以下是转贴:
可参照文档http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.amq1ac.doc/lq10120_.htm 和http://blog.csdn.net/lang_ysh/archive/2010/03/18/5391971.aspx
1. Download WebSphere MQ7 tar.gz
2. run tar -zxvf CZ4VDML.tar.gz
3(optional). 创建WebSphere MQ 必需的文件系统,命令如下:
# for product code
mkdir /opt/mqm
# for working data
mkdir /var/mqm
网上看到说MQ安装时候默认的目录就是这两个
4. 创造MQ用户和用户组,命令如下:
groupadd mqm
useradd -d /var/mqm -g mqm -G mqm mqm
# change password to "password"
passwd mqm
5. 为mqm用户组添加root组
cd /etc
vi group
找到mqm:x:1003:mqm增加",root",修改成: mqm:x:1003:mqm,root
6(optional). 调整系统参数(视需要而定,我安装时并没修改)
make following kernel changes (/etc/sysctl.conf ):
kernel.msgmni = 1024
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 500 256000 250 1024
fs.file-max = 32768
net.ipv4.tcp_keepalive_time = 300
To load these sysctl values immediately, enter the command sysctl -p.
If you do not issue the sysctl -p command, the new values are loaded when the system is rebooted.
7. 安装rpm
sudo apt-get install rpm
8. 转到WebSphere MQ解压后的目录中,获得WebSphere MQ授权,命令如下:
./mqlicense.sh -text_only
阅读全文后,选择1接受授权。
9. 安装WebSphere MQ客户端和服务端,命令如下:
rpm --nodeps -ivh MQSeriesRuntime-7.0.1-0.i386.rpm
rpm --nodeps -ivh MQSeriesSDK-7.0.1-0.i386.rpm
rpm --nodeps -ivh MQSeriesJava-7.0.1-0.i386.rpm
rpm --nodeps -ivh MQSeriesClient-7.0.1-0.i386.rpm
rpm --nodeps -ivh MQSeriesSamples-7.0.1-0.i386.rpm
rpm -nodeps -ivh MQSeriesServer-7.0.1-0.i386.rpm(如果只装客户端,这个没必要安装)
原因: 不加-nodeps会报:
root@localhost:/apps# rpm -ivh MQSeriesRuntime-7.0.1-0.i386.rpm
error: Failed dependencies:
/bin/sh is needed by MQSeriesRuntime-7.0.1-0.i386
10. 安装校验
rpm -qa | grep MQSeries
MQSeriesSDK-7.0.1-0
MQSeriesClient-7.0.1-0
MQSeriesServer-7.0.1-0
MQSeriesRuntime-7.0.1-0
MQSeriesJava-7.0.1-0
MQSeriesSamples-7.0.1-0
安装MQ Explorer还需要安装其它的包:
MQSeriesConfig-7.0.1-0.i386.rpm
MQSeriesEclipseSDK33-7.0.1-0.i386.rpm
MQSeriesJRE-7.0.1-0.i386.rpm
至此MQ安装完成。
--END--
Tags: websphere
Linux | 评论:0
| 阅读:17608
Submitted by gouki on 2014, February 24, 8:49 PM
如果你维护了多个git在线平台的版本库,你就会遇到,如何将一份代码在push的时候推到所有的版本库呢?
其实命令行就可以了:
XML/HTML代码
- git remote add origin git@git.xxxxx.com:gouki/code.git
有几条就执行几次。最后:git push -u origin master即可。
参考:
- http://segmentfault.com/q/1010000000367632
- http://blog.codepiano.com/2013/07/03/push-multi-remote-repositories/
Tags: git
Linux | 评论:0
| 阅读:17028