手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Linux

aliyun 安装gogs

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

1、到官网下载二进制包:http://gogs.io/,具体页面请自己找
2、到aliyun上解压,然后到包里运行start.sh
问题就这样来了。。。
开始我没有下载二进制包,我下载的最新的版本,运行后提示:只有官方的二进制包才内置支持sqlite3。由于我不想装mysql所以。所以只能下载二进制包
1、运行后,提示我开放了端口3000,然后通过网页访问 ,最后提交的时候出错了,说是不能在root用户下运行:
XML/HTML代码
  1. Run user isn't the current user: git -> root  
2、创建一个新用户,git ....
XML/HTML代码
  1. adduser --disabled-login --gecos 'GitLab' git  
3、使用sudo运行:
XML/HTML代码
  1. sudo -u git ./start.sh  
提示:
XML/HTML代码
  1. 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
XML/HTML代码
  1. su - git  
切换 到了git 用户下。再运行提示:
XML/HTML代码
  1. 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代码
  1. [martini] Started POST /install  
  2. [martini] PANIC: runtime error: invalid memory address or nil pointer dereference  
  3. /usr/local/src/go/src/pkg/runtime/panic.c:482 (0x48dffd)  
崩溃了,这肿么办?
干脆点,直接运行:gogs web,这回是WEB页提示了:
XML/HTML代码
  1. Fail to save configuration: open /alidata1/software/gogits/gogs/custom/conf/app.ini: no such file or directory  
于是手动创建目录 、文件,并chown权限为git。于是全解决了。
然后再回想一样,刚才的start.sh,是不是也是因为权限问题?果然再次就没有这个问题了。
----
回想整个过程,一切都是因为权限的原因,果然还是要细致才OK啊
 
 
 
 
 
 
 

linux bash判断文件或文件夹是否存在

在写shell脚本的时候,还是有些注意事项的,比如。。空格,给变量赋值不能有空格,象a=1就不能写成a = 1,刚开始的时候好纠结。。

写判断语句的时候[]之间一定要有空格。以下是一些常见的判断:

参考:http://www.cnblogs.com/emanlee/p/3583769.html
  1. #如果文件夹不存在,创建文件夹  
  2. if [ ! -d "/myfolder" ]; then  
  3.   mkdir /myfolder  
  4. fi  
  5.   
  6. #shell判断文件,目录是否存在或者具有权限  
  7.   
  8.   
  9. folder="/var/www/"  
  10. file="/var/www/log"  
  11.   
  12. # -x 参数判断 $folder 是否存在并且是否具有可执行权限  
  13. if [ ! -x "$folder"]; then  
  14.   mkdir "$folder"  
  15. fi  
  16.   
  17. # -d 参数判断 $folder 是否存在  
  18. if [ ! -d "$folder"]; then  
  19.   mkdir "$folder"  
  20. fi  
  21.   
  22. # -f 参数判断 $file 是否存在  
  23. if [ ! -f "$file" ]; then  
  24.   touch "$file"  
  25. fi  
  26.   
  27. # -n 判断一个变量是否有值  
  28. if [ ! -n "$var" ]; then  
  29.   echo "$var is empty"  
  30.   exit 0  
  31. fi  
  32.   
  33. # 判断两个变量是否相等  
  34. if [ "$var1" = "$var2" ]; then  
  35.   echo '$var1 eq $var2'  
  36. else  
  37.   echo '$var1 not eq $var2'  
  38. fi  

 

curl和wget,折腾几个小时的服务器

 标题其实没什么,主要原因是。我在两台机器上部署了同样的程序,一个访问的时候一直显示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的默认机制不一样。吐血三升

转:WebSphere MQ7 在Ubuntu上的安装

 先申明。。。参考本文,我并没有成功的搭建成功。因为我在执行第一个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

git 如何同时提交到多个版本库?

如果你维护了多个git在线平台的版本库,你就会遇到,如何将一份代码在push的时候推到所有的版本库呢?

其实命令行就可以了:
XML/HTML代码
  1. git remote add origin git@git.xxxxx.com:gouki/code.git  
有几条就执行几次。最后:git push -u origin master即可。
 
参考:
  1. http://segmentfault.com/q/1010000000367632
  2. http://blog.codepiano.com/2013/07/03/push-multi-remote-repositories/
 
 

Tags: git