使用PUTTYGEN.exe 来转换rsa key为putty可以使用的。
Windows 平台
软件准备:
1. msysgit :windows 下的git运行环境。
2. tortoisegit :git的界面实现。
软件安装:
依次下载安装msysgit 和 tortoisegit。注意参考各个软件的注意说明。
msysgit安装结束后运行安装目录下的msys.bat,就会得到如下的命令行界面。 ![]()
软件配置:
msysGit:
这个运行环境完全模拟一个linux命令行,很好用。
TortoiseGit:
右键-》TortoiseGit-》Settings-》General:这里设置MSysGit的安装目录。 ![]()
右键-》TortoiseGit-》Settings-》Network :你可以设置SSH登录工具。 ![]()
右键-》TortoiseGit-》Settings-》Git-》Config:你可以设置你的工作用户名和邮件。 ![]()
当然,还有其他更多的设置,由你所爱了。
SSH免口令登录设置:msysGit环境下
$ ssh-keygen -t rsa –C "aa@cc.com" -f ~/.ssh/<filename>// email用你的email替换即可
默认会在 ~/.ssh 目录下生成一对key:filename/filename.pub. 将filename.pub文件发给你的服务器管理员,你就可以登录服务器了。更多请参考这里。
参考:Pro git
参考:http://www.vpsee.com/2009/11/centos-install-redmine-git/
http://www.redmine.org/wiki/redmine/RedmineInstall
首先安装必要的库和软件包:
yum install zlib-devel curl-devel expat-devel gettext-devel yum install mysql-server mysql-devel openssl-devel gcc make
下载 ruby 和 rubygems:
wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.gz wget http://rubyforge.vm.bytemark.co.uk/files/rubygems/rubygems-1.3.5.tgz
编译和安装 ruby:
tar zxvf ruby-1.8.7.tar.gz cd ruby-1.8.7 ./configure make make install cd ext/zlib ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib cd ../../ make make install
编译和安装 rubygems,安装 ruby mysql 支持:
tar zxvf rubygems-1.3.5.tgz cd rubygems-1.3.5 ruby setup.rb gem update –system gem install mysql
安装 ruby on rails,指定版本号因为 redmine 需要这个版本:
gem install rails -v=2.3.5gem install rack -v=1.0.1
安装完以后检查一下是否都正确装上:
gem list
下载 redmine 并增加一个 redmine 用户:
wget http://rubyforge.org/frs/download.php/72201/redmine-1.0.1.tar.gz /usr/sbin/adduser redmine
创建 redmine 需要的数据库:
# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 50 Server version: 5.1.40 MySQL Community Server (GPL) by Remi Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> create database redmine character set utf8; mysql> grant all on redmine.* to 'redmine'@'localhost' identified by 'yourpassword'; mysql> flush privileges;
配制 redmine 环境和数据库:
rm -rf /home/redmine mv redmine-1.0.1 /home/redmine cd /home/redmine/config cp database.yml.example database.yml vi database.yml production: adapter: mysql database: redmine host: localhost username: redmine password: yourpassword encoding: utf8 cd /home/redminerake generate_session_storeRAILS_ENV=production rake db:migrateRAILS_ENV=production rake redmine:load_default_datachown -R redmine:redmine /home/redmine chmod -R o-rwx,g-rwx /home/redmine
启动 redmine:
su - redmine -c "ruby script/server webrick -e production"
访问 redmine,打开浏览器访问 http://your-server-ip-address:3000,输入默认用户名密码登陆:admin/admin
安装 Git,默认 respository 没有 git,需要先安装额外的源:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm yum update yum install git
配置和使用 Git,注意这里要修改 git_repositories 的权限,以便以 su – redmine 用户启动 redmine server 的时候有权限访问到 git_repositories 目录,所以最好把 git_repositories 建在 redmine 的下面:
git config --global user.name "windkoo" git config --global user.email "admin@gufeng.net" mkdir -p /home/redmine/git_repositories/project1 cd /home/redmine/git_repositories/project1 git init git add . git commit chown -R redmine:redmine /home/redmine/git_repositories
安装完 Git 和 Redmine 后,需要集成 Git 到 Redmine,登陆 redmine 后,新建一个 project,在 “settings->respository->SCM” 选择 git,在 “Path to .git directory” 加上 git 路径就可以了,而且还需要让 redmine 知道有 git repository 加进来。
su - redmine -c "ruby script/runner "Repository.fetch_changesets" -e production"
http://hi.baidu.com/billdkj/blog/item/48985ca4ee3613f09052ee8b.html
RHEL 5(centos 5):
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
安装完毕之后,即可使用 yum 来安装软件,比如 Nagios:
yum install nagios
若要查看 EPEL Repo 中是否存在某个软件包:
yum search package-name
话不多说,上实战:
准备资料:OpenVZ网站上的用户指南pdf就是很好的指导教程了,照着上面的做,就可以顺利成功。需要特别记录的以下是因为这里是64位的,所以有几个工具就没办法安装了,比如vzpkg,vzyum等,其实不安装这些,也不影响的。
在OS模板里面下载对应的linux发行版吧。将下载的模板OS 放至 /vz/template/cache 就好了,不要解压哦!
先准备基本模板:
cp /etc/vz/conf/ve-basic.conf-sample /etc/vz/conf/ve-basic.conf
然后运行命令:
vzctl create 101 –ostemplate centos-5-x86_64 –config basic
// 101 指的是VPS的唯一标识ID,务必唯一,运行
vzlist -a 查看当前所有VPS
// centos-5-x86_64 是模板的名称
// basic 就是你的配置模板
这样一个新的VPS就创建出来啦,这里有个小技巧,如果,你要创建很多VPS,并且配置都一样的话,就可以直接运行:
vzctl create 102
但是有个前提条件就是修改文件 /etc/vz/vz.conf 成这样:
vi /etc/vz/vz.conf
CONFIGFILE="basic"
DEF_OSTEMPLATE="centos-5-x86_64"
好了现在虚拟机是建好了,还需要进行些配置
vzctl set 101 –onboot yes –save // 设置开机启动
vzctl set 101 –hostname 101.smilonet.org –save // 修改hostname
vzctl set 101 –ipadd 192.168.1.101 –save // 设置IP
vzctl set 101 –nameserver 192.168.1.1 –save // 设置DNS server
vzctl start 101 // 启动虚拟机
vzctl set 101 –userpasswd root:test // 设置根用户密码
好了,到此为止,一个基本的VPS就运行起来了。
从主机进入客户机的方法:
vzctl enter 101
// 101 是VPS 的唯一标识ID
接下来也可以ssh登录VPS把玩吧。
rpm –import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
vi /etc/yum.repos.d/CentOS-Base.repo 增加下面信息
[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
执行命令,自动升级。
yum update php -y
yum install libmcrypt -y
service httpd restart
搞定
1,首先需要安装Bind,
yum install bind*
yum install caching-nameserver
2,编辑 named.conf 文件,
cd /var/named/chroot/etc
cp -p named.caching-nameserver.conf named.conf
注:使用cp -p 参数在复制的时候文件的属性不会改变。如果直接 cp 则要修改此文件的属性
chown :named named.confvim named.conf
options {
listen-on port 53 { 127.0.0.1; }; //127.0.0.1 改为 any
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
query-source port 53;
query-source-v6 port 53;
allow-query { any; }; //localhost 改为 any
forwarders { 202.102.128.68; }; // 此行默认没有,如果内网使用此dns 服务器可以设置 dns 转发,这里一定是一个有效的 dns 服务器地址,则添加这两行 。
forward only;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; }; //localhost 改为 any
match-destinations { any; }; //localhost 改为 any
recursion yes;
include "/etc/named.rfc1912.zones";
};
3,编辑 /var/named/chroot/etc/named.rfc1912.zones
cd /var/named/chroot/etc
vi named.rfc1912.zones //dns 服务器的区域主配置文件
在最后添加自己的 dns 区域 如果有多个则类似添加
zone "smilonet.org" IN { // smilonet.org 我实验用的区域,正向解析区域
type master;
file "smilonet.org.zone"; // smilonet.org.zone本区域的配置文件
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN { //192.168.1.* 反向解析区域
type master;
file "1168.192.zone"; // 192.168.1.* 反向解析区域配置文件
allow-update { none; };
};
4,设置域配置文件,
cd /var/named/chroot/var/named/
cp -p localdomain.zone smilonet.org.zone
cp -p named.local 1.168.192.zonevi 1.168.192.zone
$TTL 86400
@ IN SOA localhost. root.localhost. (
2010082400 ; Serial // yyyymmddxx 做序列号
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS smilonet.org.
30 IN PTR dns.smilonet.org. // 我的dnsserver ip为192.168.1.30,所以前面是30
31 IN PTR www.smilonet.org.vi smilonet.org.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dns //添加域名服务器记录-NS记录(设置当前域的DNS服务器名称)
// IN MX 5 mail //添加邮件交换记录-MX记录(设置mail.annexmicro.com主机作为邮件服务器)
dns IN A 192.168.1.30 //添加正向解析
www IN A 192.168.1.31
5,添加新的DNS服务器,
vi /etc/resolv.conf
nameserver 192.168.1.30
6,设置服务及防火墙,
setup
开启named 服务添加tcp:53 udp:53 为端口通过条件
7,测试:
nslookup
>dns.smilonet.org
公司的PR1310D型服务器在我接近2周的折腾下,终于正常运行了。
本来是比较倾向用Ubuntu10.04的,但是,这款服务器的Raid类型属于HostRaid(fakeRaid)。 对于这个硬件,Ubuntu的支持不是太好,在翻遍网络,咨询达人之后,遂无奈放弃。
当弄到了CentOS5.5 64位的安装DVD时,我想这个应该是可以支持的吧。于是开始安装了,操作很顺利,顺利的认识的Raid,当然,还是有个小问题,不能选择LVM并加密,这样的话,也不会安装成功。具体原因,也暂时不想深究了。
安装完成了,进行些简单配置:
1,首先是设定更新源:sohu的源不错。
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
cp /etc/yum.repos.d/CentOS-Base.repo.sohu /etc/yum.repos.d/CentOS-Base.repo
yum update
2,设定防火墙,默认防火墙是开着的哦,80端口也封着,所以,需要改下防火墙设置,以下是一个示例
vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT – [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT
举例来说,如果你不希望开放80端口提供web服务,那么应该相应的删除这一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
全部修改完之后重启iptables:
service iptables restart
你可以验证一下是否规则都已经生效:iptables -L
这样,我们就完成了CentOS防火墙的设置修改。
3,修改IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST=192.168.0.255 #对应的子网广播地址
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
IPV6INIT=no
IPV6_AUTOCONF=no
NETMASK=255.255.255.0 #网卡对应的网络掩码
NETWORK=192.168.1.0 #网卡对应的网络地址
ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
4,修改网关
vi /etc/sysconfig/network
NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)
HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)
GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如,网关为10.0.0.2)
5,修改DNS
vi /etc/resolv.conf
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器重新启动网络配置
service network restart
公司新近购置了一台宝德PR1310D服务器,IntelE5405(2.0GHZ, 4Cores, 12M的L2),内存4G,硬盘SATA160G*2。
本来打算做Raid1,但是查了下这个好像是hostRaid,也称之为fakeRaid。数据的安全性当然是很重要的,但是目前,也不算太紧迫,所以就关了Raid。
顺利安装好Ubuntu 10.04 的64位版本之后,就准备做下虚拟化,给团队每人一个vps,都提升下linux下的操作水平。搜索了一下,OpenVZ 是最好的解决方案。随即,开始动工。
官方有参考,值得借鉴: https://help.ubuntu.com/community/OpenVZ#10.04 LTS (Lucid)
没关系,嫌麻烦或者嫌英文的话就参考下面我的具体说明吧。如果没有特别说明就是使用具有sudo的账户了。//之后是中文说明。
准备工作:先切换源至官方源,为什么要换源呢,因为有些软件国内的源可能不是最新的。电信的速度还是不错的,我2M的ADSL速度可以达到230kb/s。http://wiki.ubuntu.org.cn/index.php?title=Qref/Source&variant=zh-cn
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup //备份
copy 源:10.04的
deb http://archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
更新源:
sudo vi /etc/apt/sources.list //粘贴,保存退出
sudo apt-get update //刷新源
正式开工,建议直接切换到root,可能会省去一些小麻烦。
在开始之前,请牢记,openVZ并不为Ubuntu 10.04(Lucid)所原生支持,因此,才会有如下的设置介绍。
建立符号链接到 /bin/bash
sudo rm -f /bin/sh sudo ln -s /bin/bash /bin/sh
安装内核编译所需的包
sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 module-assistant debhelper sudo apt-get build-dep linux-image-2.6.32-22-server sudo wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2 sudo m-a prepare
配置内核包并且确定 “ONCURRENCY_LEVEL”后面的数字是你的CPU内核数目
sudo kernel-packageconfig sudo echo "CONCURRENCY_LEVEL := 12" >> /etc/kernel-pkg.conf //比如我的是4核的,就用4替换12
获取OpenVZ的内核补丁以及官方的OpenVZ内核配置
cd /usr/src sudo wget http://download.openvz.org/kernel/branches/2.6.32/2.6.32-belyayev.1/patches/patch-belyayev.1-combined.gz sudo wget http://download.openvz.org/kernel/branches/2.6.32/2.6.32-belyayev.1/configs/kernel-2.6.32-x86_64.config.ovz
解压内科源码准备构建
sudo tar -xpf linux-2.6.32.tar.bz2 sudo mv linux-2.6.32 linux-2.6.32-openvz sudo rm -f linux sudo ln -s linux-2.6.32-openvz linux cd linux sudo gunzip -dc ../patch-belyayev.1-combined.gz | patch -p1 sudo cp -rf ../kernel-2.6.32-x86_64.config.ovz .config sudo make oldconfig
构建内核,此处可以休息一下,喝杯茶吧
sudo fakeroot make-kpkg --initrd --append-to-version=-ovz32 --revision=1.0 kernel_image kernel_headers
安装内核
cd .. sudo ls -l *.deb sudo dpkg -i linux-image-2.6.32.14-ovz32_1.0_amd64.deb sudo dpkg -i linux-headers-2.6.32.14-ovz32_1.0_amd64.deb
创建根分区驻留位(Initramfs)和更新Grubs menu.lst / grub.cfg
sudo mkinitramfs -k 2.6.32.14-ovz32 -o /boot/initrd.img-2.6.32.14-ovz32 sudo update-grub
安装构建工具的相关依赖
sudo apt-get install git-core git-buildpackage automake autoconf libtool liblockfile-simple-perl cstream liblog-agent-perl ssl-cert exim4
从 git 构建 vzctl
cd sudo git clone git://git.openvz.org/pub/vzctl vzctl cd vzctl sudo ./autogen.sh sudo ./configure --enable-bashcomp --enable-logrotate sudo make sudo make install sudo make install-debian
从 git 构建 vzquota
cd sudo git clone git://git.openvz.org/pub/vzquota vzquota cd vzquota sudo make sudo make install
从 git 构建 vzpkg 并获取相关依赖
sudo apt-get install rpm yum alien cd sudo git clone git://git.openvz.org/pub/vzpkg vzpkg cd vzpkg sudo make instal
添加 vz 到启动自动流
sudo update-rc.d vz defaults
创建成为 FHS-compliant 的符号链接
sudo ln -s /var/lib/vz /vz
编辑你的 /etc/sysctl.conf 使之看起来像下面的
### Hetzner Online AG installimage # sysctl config #net.ipv4.ip_forward=1 net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.ip_forward=1 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key kernel.sysrq = 1 # TCP Explict Congestion Notification #net.ipv4.tcp_ecn = 0 # we do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0
重启你的新OpenVZ-Kernel
sudo reboot
检查你正在运行的内核
sudo uname –rvo
上面的命令应该显示类似如下:
2.6.32.14-ovz32 #1 SMP Tue Jun 8 13:07:07 CEST 2010 GNU/Linux
确保所有的都是OK的
sudo ps ax | grep vz
上面的应该显示类似如下
3890 ? S 0:00 [vzmond] 4066 pts/0 S+ 0:00 grep --color=auto vz
至此,恭喜你,你现在也在ubuntu 10.04 LTS上运行起了 OpenVZ。
上周收到了《架构实战-软件架构设计的过程》的样书。在此,先感谢下中国XML论坛提供的参与机会,也感谢主办方华章出版社。
先说一个个人觉得是不是打错字的地方,作者简介:… 他当过程序员、实时软件工程师和…应该是实施软件工程师吧。没有英文原著参考,仅凭行业认识。
这本书并不厚,甚至可以说有点薄。但是,它恰到好处。
记得大学快毕业那会儿,由于我是做Web开发的,所以,对互联网信息的爆炸有自己的看法,如何帮助我们每个人有效的组织对自己有用的信息,是一个当前也很迫切的课题。当时,我只是单纯的从信息的组织,架构,觉得架构是一门很有用的学问。
软件开发过程中有很多理论做指导:软件工程、项目管理,开发过程,一整套的方法论与实战工具。但是一个团队如何有效的开发一款优秀的软件作品,架构师本身是举足轻重的。很多架构哲学都来自于建筑的设计哲学。这一点也不无道理。现代的摩天大厦,历经考验,是稳固的。同样的方法运用在软件开发中,成功指日可待。
我一直很苦恼,找不到架构的一整套工作方式方法。因为架构本身对架构师的要求就很高。个人觉得,没有多年实际开发经验的浸淫,是无法掌握架构的精髓的。当然,按照书中的一套方法,提升自己的软件编程综合能力也是很有好处的。
《架构实战》从简单的概念入手,循序渐进,以一个小例子推进至结束,条例清晰,引导性强。个人建议,边读边拿一个自己的小项目来重构,效果估计会更好。
记得以前老师说过,厚书要能读薄,薄书要能读厚。书中谈及的参考书目,也是提升自我软件水平的极好参考。