Ubuntu12.04 root用户登录桌面设置

ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,
普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo  -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式. Continue reading

linux根分区扩容

今天网站上传图片出问题了,一开始还以为是程序问题,后来发现原来是服务器存储空间不够,明明有200G的磁盘空间,没理由这么快就用完,查了一下分区情况,原来有两块磁盘,根分区只挂载在大少只有10g那块磁盘上面,而且已使用了100%了!接着就要为根分区扩容了:(环境:redhat 5.2 x64)

1:查看分区情况

shell>fdisk -l

Disk /dev/sda doesn't contain a valid partition table, 这句说明了190g的磁盘没分区

2:磁盘分区

shell>fdisk /dev/sda  (过程略,这里只建了一个分区) Continue reading

git下添加新项目及用户

我们在上一节(http://blog.haohtml.com/archives/12658)配置成功了git-server。这里我们新创建一个git项目并允许开者使用.

1. 生成密钥与公钥

[dev1@bogon ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dev1/.ssh/id_rsa):
Created directory '/home/dev1/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/dev1/.ssh/id_rsa.
Your public key has been saved in /home/dev1/.ssh/id_rsa.pub.
The key fingerprint is:
99:4c:e4:00:56:a9:a2:e2:68:20:8c:60:90:2e:b9:b8 dev1@bogon
The key's randomart image is:
+--[ RSA 2048]----+
| . ooo.. |
|o . .+ |
|o. . o |
|+o. . o o |
|Bo . S |
|O. |
|*. |
|Eo |
|. |
+-----------------+

[dev1@bogon ~]$ ls .ssh
id_rsa id_rsa.pub

2.将公钥上传到git server的gitosis-admin/keydir/ 目录里,文件名就是是用户名(这里文件名必须与客户端的用户名一致,否则无法使用.不知道同名的情况下如何处理?)
注意:我这里是在同一台机器上测试的,不同的机器可以用scp命令来实现上传文件,主要pub文件上传到keydir目录下才可以(scp ~/.ssh/id_rsa.pub root@192.168.0.77:/tmp/sxf.pub) 

cd /root/gitosis-admin/keydir/
cp /home/dev1/.ssh/id_rsa.pub ./dev1.pub

3.创建新项目,将dev1用户添加进去

cd /home/gitosis-admin/

vi gitosis.conf
[group project2]
writable = project2
members = dev1

4.保存修改,并将修改提交到git server上

git add .
git commit -a -m 'add new user dev1'
git push

5.在客户端测试(用户为dev1)
创建项目project2目录(一定要和项目名称一样)

mkdir /data/project2
cd /data/project2
git init
touch test.txt
git add .

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

git commit -a -m 'init project2'
git remote add origin git@xxx:project2.git
git push origin master

git pull

可以看到已经提交成功了!

如果客户端为Linux的话,在执行git pull的时候,出现

 Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open.

等错误显示了,只要把权限降到0600就ok了.这种情况下一般是属于将另其它地方的公钥直接放在其它客户端用的原因。

输入命令

chmod 0600 ~/.ssh/id_rsa

然后再执行相应的命令即可.这样就可以密钥登陆了.

相关教程:
git remote 常用命令总结

Git中gitignore失效的问题

使用git来管理代码,但发现仓库中加入了.gitignore文件,但并不能解除对.gitignore文件中指定的路径及文件进行忽略。是因为加入.gitignore的之前已经进行过提交,提交中含有要忽略的文件,而这个时候.gitignore 对这些文件是失效的,为了解决这个问题,需要先删除这些中间文件,然后进行一次提交就可以解决这些问题了。

在本地仓库将.gitgnore文件里指定的相关文件及路径全部删除,再commit到本机一下。然后执行push到git Server就可以了。这样就可以将git sever上的那些临时文件删除掉。以后再使用的话,产生的文件就不会在提交到git server上去了。

redmine使用nginx提供服务

上一节http://blog.haohtml.com/archives/13282 我们介绍了在centos下安装redmine软件的方法,但使用时候需要使用ip:3000 的形式才可以访问,不是太方便,我们习惯使用域名的形式来处理的。这里我们直接使用域名redmine.haohtml.com 来访问. 我们使用的是web server 为 nginx 。

我们使用虚拟主机配置文件redmine.conf.内容如下:

upstream mongrel{
server 127.0.0.1:3000;
}

server {

listen 80;
server_name redmine.haohtml.com;
root /data/wwwroot/redmine/redmine-2.0.3/public;
location / {
index index.php index.html index.shtml;
proxy_pass http://mongrel;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

#log...

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
{
expires 30d;
}

}

然后执行命令

#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload

这里通过域名 redmine.haohtml.com 就可以访问到redmine了。

注意:

由于以前启动过redmine,使用的端口为3000.在操作以前需要将ruby进程结束一下,不然会提示tcp server已经被使用了。然后再执行

ruby script/rails server webrick -e production

就可以了。

不过这里并没有限制直接通过ip:3000 的访问方法的。如果限制,可以使用iptables来实现。

相关教程:

centos安装redmine项目管理系统[教程]: http://blog.haohtml.com/archives/13282
Redmine局域网访问缓慢问题解决: http://blog.haohtml.com/archives/13272

centos安装redmine项目管理系统[教程]

这里操作系统为Linux Centos5,参考文档:http://www.redmine.org/projects/redmine/wiki/HowTo_install_Redmine_on_CentOS_5

另外网上也有一键安装的软件,官方网站为:http://bitnami.org/stack/redmine

Ruby & Ruby on Rails & Rack

The required Ruby and Ruby on Rails versions for a given Redmine version is:

Redmine version Supported Ruby versions Required Rails version Supported RubyGems versions
current trunk ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7 Rails 3.2.6 RubyGems <= 1.8
2.0.3 ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7 Rails 3.2.6 RubyGems <= 1.8
2.0.2 ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7 Rails 3.2.5 RubyGems <= 1.8
2.0.0, 2.0.1 ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7 Rails 3.2.3 RubyGems <= 1.8
1.4.x ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7 Rails 2.3.14 RubyGems <= 1.8

这里我们已经安装好了nginx,mysql环境了。

一. 安装依赖包

yum -y install zlib-devel curl-devel openssl-devel apr-devel apr-util-devel

在做Ruby on rail开发环境的时候,发现ruby有了yaml库需求,如果不进行前置安装yaml库,那么在进行接下来的rubygems和rails的时候就会出现如下错误: Continue reading

Redmine局域网访问缓慢问题解决

笔者查阅网上意见,发现是由于Redmine自带的WebrickWeb发布的问题,需要使用Mongrel组件来替换Webrick。在此放在这里方便大家,形成一套完整的Redmine搭建方案。

1.  替换其自带的服务器webrick 为mongrel,方法:

gem install mongrel

如果提示类似“

http11.c: In function ‘header_done’:
http11.c:172:13: error: ‘struct RString’ has no member named ‘ptr’
http11.c:172:13: error: ‘struct RString’ has no member named ‘ptr’
http11.c:172:13: error: ‘struct RString’ has no member named ‘ptr’
http11.c:174:89: error: ‘struct RString’ has no member named ‘ptr’
http11.c:176:52: error: ‘struct RString’ has no member named ‘ptr’
http11.c:177:26: error: ‘struct RString’ has no member named ‘len’
http11.c: In function ‘HttpParser_execute’:
http11.c:298:23: error: ‘struct RString’ has no member named ‘ptr’
http11.c:299:23: error: ‘struct RString’ has no member named ‘len’
http11.c:307:5: warning: format not a string literal and no format arguments [-Wformat-security]
make: *** [http11.o] Error 1

之类的错误的话,需要先执行一下

 sudo gem install mongrel --pre

2. 运行

ruby script/rails server -e production

浏览器中输入http://localhost:3000进入系统主页面,是不是感觉快了很多.

如果要安装成系统服务的话,只需要在后面加上 -d 参数就可以了。

ruby script/rails server -e production -d

 

incorrect MySQL client library version! This gem was compiled for 6.0.0 but the client library is 5.5.20. 的解决办法

从mysql官方http://dev.mysql.com/downloads/mysql下载 mysql-connector-c-noinstall-6.0.2-win32 解压到e:/。注意根据自己的实际情况下载相对应的版本,这里使用非安装版。

or Ruby 1.9.2:

gem install mysql --platform=ruby -- --with-mysql-dir=e:/mysql-connector-c-noinstall-6.0.2-win32

for Ruby 1.9.3: (showing mysql2 variant)

gem pristine mysql2 -- --with-mysql-config=e:\mysql-connector-c-noinstall-6.0.2-win32 

这里我用64位的win7系统.

然后将 E:\mysql-connector-c-noinstall-6.0.2-win32\lib 目录下的 libmysql.lib 文件复制到 E:\RailsInstaller\Ruby1.9.3\bin 目录下。

重新执行刚才的命令即可。

Windows下安装Redmine教程

windows下的一键安装有:http://bitnami.org/stack/redmine

参考网址:http://www.redmine.org/projects/redmine/wiki/RedmineInstall

Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如SVN、CVS、TD等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。

我们这里使用RailsInstaller,Ruby和Rails都集成集中。

网址是:http://railsinstaller.org/下载 http://rubyforge.org/frs/download.php/75894/railsinstaller-2.1.0.exe

安装在e:/盘根目录下。安装成功后目录如下图所示:

1.下载 redmine(http://www.redmine.org/projects/redmine/wiki/Download)

解压放在 E:\RailsInstaller\apps 目录里(apps是我自己创建的)。 Continue reading