php中max_input_vars默认值为1000导致多表单提交失败
2014年9月25日 14,608 浏览数 1 条评论

公司内一个php的后台管理系统,之前运行在apache上,后来我给转到nginx+php上后,其他功能运行正常,有一个修改功能提交表单后没有提交成功,查了代码没查出来什么问题,后来看了下php error日志,也没有什么线索,打印post请求后,也发现提交表单个数和正在表单个数对不上(当时怀疑过是不是某个插件是不是没装,字符集对不对等),再看了下php-fpm的日志,有点信息可以参考了。

 

提示input 变量个数超过1000,建议修改php.ini文件中的 max_input_vars,PHP从5.3.9开始增加一个变量 max_input_vars 用来限制提交的表单数量。

妈的,我这个功能(类似于phpmysqladmin功能,读取数据库表,然后能写入编辑,然后数据库字段有128个,然后每个字段有11个input框)大概有1400多个input,(多么痛的领悟,为毛这么吊,研发一个表搞这么多字段),

然后我在php.ini里面加入

重启php-fpm后,功能正常了。看日志很重要。

 

分类: PHP 标签: ,
Ansible callbacks插件实现playbook运行结果写入mongodb
2014年9月23日 4,481 浏览数 没有评论

ansible的callback 插件有点类似saltsatck的returners,可以收集playbook运行过程中一些信息,这里我把执行结果写入到mongodb中。

ansible 几个demo callbacks 的git地址

https://github.com/ansible/ansible/tree/devel/plugins/callbacks

根据官方的日志写文件的脚本改了下,当然你也可以写mysq redis,我下面就对失败和成功的做了写入,你根据自己的情况可以对其他状态做处理。(python刚学,有写的比较搓的地方,请指教)

这里有峰云写的入redis的 http://rfyiamcool.blog.51cto.com/1030776/1440624

还有灿哥写的执行任务后发邮件的  ansible-插件之callback_plugins

阅读全文…

centos 6.x安装Mongodb
2014年9月23日 4,280 浏览数 没有评论

添加Mongodb的yum源

 安装mongodb

 配置Mongodb

阅读全文…

分类: Mongodb 标签:
tornado实现ansible api web请求
2014年9月23日 4,322 浏览数 没有评论

这两天在写运维平台中的ansible命令执行功能,运维平台是php的,尝试了php的exec  system passthru popen等函数,ansible 里面host ssh认证改为www,apache运行用户也为www,各种尝试,最后执行结果返回为空数组,执行 ssh www@192.168.3.169 ‘df -h’这种命令也是成功的,只是执行ansible命令不行,ansible-doc也可以。 阅读全文…

分类: ansible 标签: , , ,
hhvm3.2升级到hhvm3.3
2014年9月22日 2,793 浏览数 没有评论

由于hhvm 3.2 还是存在进程crash问题,然后上周hhvm3.3版本出来了,升级下

 

下面我们升级下hhvm到3.2

apt-get upgrade hhvm 阅读全文…

分类: HHVM 标签: , ,
Centos6 下安装HHVM3.x+MariaDB5.x代替php+mysql
2014年9月18日 4,337 浏览数 没有评论

Ubuntu平台安装请看 -> Ubuntu14.04上安装HHVM+MariaDB+WordPress

转载请注明出处,本文来自钿畑的博客

安装nginx

准备yum源

阅读全文…

分类: HHVM 标签: , ,
Centos6 yum安装MariaDB
2014年9月18日 3,313 浏览数 没有评论

MaiaDB介绍

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。

阅读全文…

分类: DB, Mariadb, Mysql 标签: ,
hhvm上运行wordpress3.9.2时报Fatal error: Argument 2 passed to hash_equals() must be an instance of string, null given in
2014年9月18日 1,963 浏览数 没有评论

域名前几天备案好了,今天把博客迁移到国内某云主机上,然后用了Nginx+HHVM+MariaDB, 另外一个低版本的博客,迁移后没问题,wordpress3.9.2这个版本迁移后前台查看文章也没有异常,但是登录的时候报错

Status Code:500 hphp_invoke

阅读全文…

分类: WordPress 标签: , , ,
Ubuntu14.04上安装HHVM+MariaDB+WordPress
2014年9月14日 3,670 浏览数 2 条评论

Centos6 平台安装请看-> Centos6 下安装HHVM3.x+MariaDB5.x代替php+mysql

转载请注明出处:本文来自钿畑的博客

Nginx安装

sudo apt-get install nginx

MariaDB安装

阅读全文…

分类: HHVM 标签: , ,
cloudstack Unable to start a VM due to insufficient capacity
2014年9月1日 6,527 浏览数 没有评论

背景:

公司内机房停电(物业没通知,小公司也没有UPS)都是坑点,猜到开头,猜不到结尾,最后是被自己坑。在公司内网服役的2台cloudstack服务器重启后,一台节点上的虚拟机无法启动(上面20多个虚拟机,又跑了各项目应用,鸭梨很大,初生牛犊不怕虎啊,cloudstack都没玩熟就敢让人家用),现象如下,启动虚拟机节点报 Unable to start a VM due to insufficient capacity 阅读全文…

分类: cloudstack 标签:
zabbix监控报错zabbix server is not running: the information displayed may not be current的解决办法
2014年8月22日 9,354 浏览数 没有评论

 

zabbix 遇到上面的问题

可以从以下几个方面入手检查,当然先查日志,如果不想查日志,先检查下面几项是否正常

1. selinux是否关闭。

2. zabbix web目录下面  $ZBX_SERVER 是否为ip,如果是localhost,ping下localhost是否能解析。

3.查看php的fsockopen模块是否启用。

分类: zabbix 标签:
ZABBIX API使用 PHP版本
2014年8月22日 19,406 浏览数 5 条评论

先去官网了解下zabbix api文档,很详细,要发送什么数据过去,收到哪些数据。我是php新手,很搓,高手看到代码后勿喷。

zabbix 官网api地址,https://www.zabbix.com/documentation/2.2/manual/api  我这里主要介绍下登录和获取主机列表,其他的思路一样

登录    https://www.zabbix.com/documentation/2.2/manual/api/reference/user/get

获取主机列表  https://www.zabbix.com/documentation/2.2/manual/api/reference/host/get 阅读全文…

分类: zabbix 标签: ,
[转]Ext4,Ext3的特点和区别
2014年7月16日 2,181 浏览数 没有评论

 

Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:

1. 与 Ext3 兼容。 执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。

2. 更大的文件系统和更大的文件。 较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。

3. 无限数量的子目录。 Ext3 目前只支持 32,000 个子目录,而 Ext4 支持无限数量的子目录。

4. Extents。 Ext3 采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在 Ext3 中要建立 25,600 个数据块(每个数据块大小为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的 25,600 个数据块中”,提高了不少效率。

5. 多块分配。 当 写入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用 25,600 次数据块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc) 支持一次调用分配多个数据块。

6. 延迟分配。 Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。

7. 快速 fsck。 以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。

8. 日志校验。 日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4 的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。

9. “无日志”(No Journaling)模式。 日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。

10. 在线碎片整理。 尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。

11. inode 相关特性。 Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展属性(如纳秒时间戳或 inode 版本),默认 inode 大小为 256 字节。Ext4 还支持快速扩展属性(fast extended attributes)和 inode 保留(inodes reservation)。

12. 持久预分配(Persistent preallocation)。 P2P 软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。 Ext4 在文件系统层面实现了持久预分配并提供相应的 API(libc 中的 posix_fallocate()),比应用软件自己实现更有效率。

13. 默认启用 barrier。 磁 盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit 记录,若 commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当 barrier 之前的数据全部写入磁盘,才能写 barrier 之后的数据。(可通过 “mount -o barrier=0” 命令禁用该特性。)

分类: linux 标签: ,
redis绑定多个监听IP
2014年7月16日 8,507 浏览数 1 条评论

有时候为了安全起见,redis一般都是监听127.0.0.1 但是有时候又有同网段能连接的需求,当然可以绑定0.0.0.0 用iptables来控制访问权限,或者设置redis访问密码来保证数据安全

这里说下,怎么基于redis配置文件绑定多个ip,该特性redis2.8.x版本开始支持

首先安装redis2.8

1. 下载软件包 阅读全文…

分类: Redis 标签: ,
手把手教你配置苹果APNS推送服务
2014年7月9日 32,315 浏览数 5 条评论
 

1. 什么是推送通知

 

消息通知分本地通知和远程推送通知,是没有运行在前台的应用程序可以让它们的用户获得相关消息通知的方式。消息通知可能是一条消息,即将发生的日历事件,或远程服务器的新数据。当被操作系统显示时,本地通知和推送通知看起来一样。它们可以显示一个警告信息或在应用程序的图标上面显示一个徽标。它们也可以在警告窗或徽标显示时播放一段声音。推送通知是在 iOS 3.0 和 Mac OS X v7.0 之后引入的。本地通知是在 iOS 4.0 之后引入的。它们都不支持 Mac OS X,当用户被通知相应的应用程序有消息,事件,或其他数据时,他们可以启动该应用程序并查看详情。他们也可以选择忽略通知,此时应用程序没有被激活。

本地通知和推送通知为不同的需求而设计的。本地通知是本地 iPhone、iPad、或iPod touch 上面的应用发起的。相反推送通知(又称远程通知)是从其他设备上面到达的。它来自一个远程设备——应用程序的提供者——并在有新的消息需要查看或新的数据需要下载的时候被推送到本地设备上面的应用,常见的本地通知像iphone的日历,微信或者qq这些都是本地推送,比如还安装了优酷,qq视频这些软件,允许推送后,每天会给你发些新的视频消息,这些就是远程推送。

 

2. 什么是APNS?

 

苹果推送通知服务(APNs)是推送通知的网关,iPhone ipad 对于应用程序在后台运行有诸多限制,考虑到手机电池电量,应用不允许在后台进行过多的操作。因此,当用户切换到其他程序后,原先的程序无法保持运行状态。对于那些需要保持持续连接状态的应用程序(比如社区网络应用),将不能收到实时的信息。推送是解决轮询所造成的流量消耗和电量消耗的一个比较好的解决方案

阅读全文…

分类: IOS 标签: , , , ,
redmine配置openldap认证
2014年7月2日 4,891 浏览数 没有评论

前段时间弄了openldap,这几天部署了redmine,然后配置redmine采用openldap认证

openldap安装部署可以参照:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%85%8D%E7%BD%AE.html

如果是使用微软的域控来提供认证,可以参考 http://54im.com/redmine/redmine-ldap%E9%AA%8C%E8%AF%81.html 其实就是登录名那里不一样,原理是一样的。

 

redmine安装可参考我同事的一篇文章 http://www.julyin.com/archives/redmine1.html

这里先用管理员登录redmine,然后点最上面的管理,然后点LDAP认证,安装如下配置

下面的属性,就是在openldap中新建用户的时候属性,可以对照下面的图看看,填写好后,可以测试下是否能连接openldap

 

测试是否连接正常

最后登录试试

 

分类: redmine 标签: ,
Sublime Text 3 (Build 3059) license
2014年6月25日 9,647 浏览数 1 条评论
 

今天在新装系统的电脑上安装了submit 3,遇到些问题记录下

这里有篇破解文档,有兴趣同学可以看看

10分钟破解Sublime Text 3 Build 3059/3061/306

 

license

 

下面直接给个license,用网上sublime text v2.x.keygen-lz0.exe 这个激活没搞成功,软件运行框没弹出来。

 

Package Control安装

sublime 3的package control的安装方式和sublime 2版本不同了,如果按老方法安装会提示

Traceback (most recent call last):
File “<string>”, line 1, in <module>
ImportError: No module named ‘urllib2’

打开命令执行面板输入(菜单栏-查看-显示面板)(快捷键 ctrl+`)

import urllib.request,os,hashlib; h = ‘7183a2d3e96f11eeadd761d777e62404’ + ‘e330c659d4bb41d3bdf022e94cab3cd0’; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( ‘http://sublime.wbond.net/’ + pf.replace(‘ ‘, ‘%20’)).read(); dh = hashlib.sha256(by).hexdigest(); print(‘Error validating download (got %s instead of %s), please try manual install’ % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ‘wb’ ).write(by)

 

如果是sublime2 版本是输入

import urllib2,os,hashlib; h = ‘7183a2d3e96f11eeadd761d777e62404’ + ‘e330c659d4bb41d3bdf022e94cab3cd0’; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( ‘http://sublime.wbond.net/’ + pf.replace(‘ ‘, ‘%20’)).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), ‘wb’ ).write(by) if dh == h else None; print(‘Error validating download (got %s instead of %s), please try manual install’ % (dh, h) if dh != h else ‘Please restart Sublime Text to finish installation’)

 

 

sublime插件安装

以Zen Coding为例,点击快捷键 Ctrl + Shift + P 输入 Install 点击回车, 输入 Emmet 再点击回车.

 

常用配置

3059的光标变得很粗的问题

将下列配置放在用户设置文件的最后面——记得给原来的最后一行末尾添加一个半角逗号。

“caret_extra_top”: 1,
“caret_extra_bottom”: 1,
“caret_extra_width”: 1,

 

Sublime Text快捷键:

  • Ctrl+Shift+P:打开命令面板
  • Ctrl+P:搜索项目中的文件
  • Ctrl+G:跳转到第几行
  • Ctrl+W:关闭当前打开文件
  • Ctrl+Shift+W:关闭所有打开文件
  • Ctrl+Shift+V:粘贴并格式化
  • Ctrl+D:选择单词,重复可增加选择下一个相同的单词
  • Ctrl+L:选择行,重复可依次增加选择下一行
  • Ctrl+Shift+L:选择多行
  • Ctrl+Shift+Enter:在当前行前插入新行
  • Ctrl+X:删除当前行
  • Ctrl+M:跳转到对应括号
  • Ctrl+U:软撤销,撤销光标位置
  • Ctrl+J:选择标签内容
  • Ctrl+F:查找内容
  • Ctrl+Shift+F:查找并替换
  • Ctrl+H:替换
  • Ctrl+R:前往 method
  • Ctrl+N:新建窗口
  • Ctrl+K+B:开关侧栏
  • Ctrl+Shift+M:选中当前括号内容,重复可选着括号本身
  • Ctrl+F2:设置/删除标记
  • Ctrl+/:注释当前行
  • Ctrl+Shift+/:当前位置插入注释
  • Ctrl+Alt+/:块注释,并Focus到首行,写注释说明用的
  • Ctrl+Shift+A:选择当前标签前后,修改标签用的
  • F11:全屏
  • Shift+F11:全屏免打扰模式,只编辑当前文件
  • Alt+F3:选择所有相同的词
  • Alt+.:闭合标签
  • Alt+Shift+数字:分屏显示
  • Alt+数字:切换打开第N个文件
  • Shift+右键拖动:光标多不,用来更改或插入列内容
  • 鼠标的前进后退键可切换Tab文件
  • 按Ctrl,依次点击或选取,可需要编辑的多个位置
  • 按Ctrl+Shift+上下键,可替换行

 

插件推荐

Sublime CodeIntel

代码自动提示

Bracket Highlighter

类似于代码匹配,可以匹配括号,引号等符号内的范围。

附录:

按住电脑键盘的 alt键, 即可出现菜单栏,不过再按一下alt键它又消失了,所以在它出现时 选择 view – show menu 即可将其固定住

再推荐一篇介绍插件的文章 http://www.oschina.net/translate/20-powerful-sublimetext-plugins

 

分类: linux 标签: ,
Centos6安装gitlab+ldap认证
2014年5月27日 15,119 浏览数 3 条评论
 

 

1.环境介绍

 

系统:centos 6.5 x64

git要求 1.7.10+

ruby要求1.93+,我这里用的2.1.2版本

redis要求2.0+

 

GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库

 

2.添加EPEL安装源

 

 

3.安装GitLab所需依赖包和工具

 

4.安装ruby2.1

 

Gitlab 是基于 Ruby on Rails 开发的工具,要跑起来的话自然少不了安装 Ruby

查看下ruby是否安装正确

国外的gem源太慢了,这里用taobao的源  http://ruby.taobao.org/

安装bundle:

所有有bundle命令的执行都要注意
在执行目录下,要修改Gemfile文件头的rubygems.org到ruby.taobao.org,否则是不工作的

 

5.安装 Git 和 Gitolite

 

由于gitlab对git版本要1.7.10+,而默认centos 6 yum源里面的git是1.7.1版本,所以这里我们要选择另外的源

 

yum配置好后,这里开始安装

 

6.安装nginx mysql redis

 

软件安装

 创建gitlab 数据库用户

 添加git账户

这里就不设置密码,git帐号不用登录系统

 

7.安装GitLab-shell

 

软件下载

 修改配置文件

注意:如果gitlab是使用https访问,则需将http替换成https,配置文件中的self_signed_cert要修改成true,否则gitlab shell在通过api和gitlab进行通信的时候就会出现错误,导致项目push出错。因为后面配置web服务器的时候是使用ssl,所以这里要按照ssl的方式配置。

Tips: 另外如果使用的域名是测试域名,不要忘记在系统的/etc/hosts做域名映射。

安装

8. 安装GitLab

 

软件下载

 配置

一些全局配置

配置数据库访问文件

编辑config/database.yml,设置其中连接数据库的账号密码,笔者的配置部分如下:

修改其中username和password就可以了,其中密码就是上面数据库步骤中创建gitlab用户的密码。

确保该文件只有git账号有权限读取。

 

9.安装Gems

这里要用root安装

安装必需的 Ruby Gems

 

初始化数据库数据(执行输入 Yes 继续创建)

检查应用程序状态

启动gitlab服务

检查配置(要所有选项都通过)

有个权限提示

这里修改下权限

 

10.nginx配置

 

之前已经yum安装过了,这里修改下配置。

 

 

11.web访问

 

访问http://gitlab.54im.com报502,群里大神曹岩帮忙指导,没下载静态资源。

nginx日志中报

Error: upstream prematurely closed connection while reading response header from upstream

执行下面这个初始化下gitlab的资源

 

继续访问,还是502,nginx日志里面

2014/05/28 08:56:10 [crit] 9288#0: *24 connect() to unix:/home/git/gitlab/tmp/sockets/gitlab.socket failed (13: Permission denied) while connecting to upstream, client: 192.168.1.4, server: gitlab.54im.com, request: “GET /favicon.ico HTTP/1.1”, upstream: “http://unix:/home/git/gitlab/tmp/sockets/gitlab.socket:/favicon.ico”, host: “gitlab.54im.com”

 

想起来,刚刚我没有su – git用户下拉取资源,这里chown -R git.git /home/git/gitlab

nginx的运行用户是nginx,gitlab用户运行的用户是git,这里将nginx加入git组

上面解决好后,再次访问  http://gitlab.54im.com

这里默认的帐号密码就是之前初始化的时候,给你的帐号密码

Administrator account created:

login………admin@local.host
password……5iveL!fe

登录后界面是这样的

12.邮件配置

 

Gitlab邮件提醒方便跟踪项目进度,我这里用GMAIL的stmp来发送邮件


 

#配置好你的邮箱和密码

 

这里我去新建个用户,测试下邮件发送功能
在163邮箱中收到gitlab用户发来的邮件
用帐号 ldtrain@163.com登录,密码  ouuNZdi7,第一次会让你重置密码的

13.ldap配置

 

cd /home/git/gitlab

vi config/gitlab.yml

port 这里填openldap端口,如果是用加密的话,端口是 636

method 这里是openldap认证方式,plain是简单认证,还有ssl 和tls,如果是加密的话选ssl或者tls,对应端口也是636

base:填自己的组织架构,当然也可以精确到OU, ou=People,dc=openldap,dc=54im,dc=com 这里有只有People这个OU下面的用户能登录到gitlab

user_filter 禁止某个用户登录

bind_dn 这个是指定连接openldap的帐号

password 这个是指定连接openldap的账户密码

 

登录

登录的时候报 Could not authorize you from LDAP because “(ldap) account must provide a dn,uid and email address”

感谢@张成 成爷指导 gitlab帐号必须要有邮件这个属性,我的openldap里面没有,这里我在openldap里面给ldapuser 这个帐号添加email属性。

 

14.gitlab使用

  • gitlab管理员新建用户组
  • gitlab管理员新建项目
选择该项目是公开还是私有项目
如果你想进行代码的上传与下载等操作,需要你把自己的ssh key导入到gitlab里
gitlab管理员添加成员

想让其他用户也能看到并下载上次这个项目,需要将用户加入到这个组

用户登录后就可以看到这个项目,想要上传下载代码,首先得让管理员开相关权限,然后把自己的ssh key加入到gitlab中

上面有5个权限,我们来看下具体有哪些区别

guest    (r-)

reporter    (r)

developer    (rw)

master      (rw)(member,proteted,branch)

owner     (rw)(rename,transfer)

 

  • git用户操作

在linux上使用

 

在windows上使用

 

附录:

  • 如果访问报500 We’re sorry, but something went wrong

 

发现redis端口连接不上,我这里确实忘记开redis了, /etc/init.d/redis start

 

  • 如果第一次登录报 invalid email or password

可能由于你数据库没有初始化好

如果在linux客户端提交的时候报

/usr/bin/env: ruby: No such file or directory
fatal: The remote end hung up unexpectedly

在gitlab服务器端做如下操作

$rubyhome=ruby安装目录

sudo ln -s $rubyhome/ruby /usr/bin/ruby
sudo ln -s $rubyhome/bin/gem /usr/bin/gem

 

本文参考:

http://www.01happy.com/centos-6-5-install-gitlab/

http://longgeek.com/2013/12/26/ci-system-structures-ii-gitlab-installation/

 

分类: git 标签: , , , ,