(R)?ex 是一个不需要在受控主机运行客户端的服务器流程工具。它采用 ssh 方式来执行指定的命令。
开始使用 (R)?ex 并不需要 Perl 基础。(R)?ex 提供了简单的 DSL 来描述你的服务器。甚至,你可以在你的 shell 脚本里使用 (R)?ex,完全不需要使用 perl。
当然,如果你稍微懂 一点点 perl,就更好了。
每个 (R)?ex 项目的起始点都是一个叫做 Rexfile 的文件。你可以理解他类似 Makefile。在这个文件里你定义各种任务。
一个 任务 是相关的命令的集合。比如安装一个软件包,上传配置文件,然后启动服务。你也可以在任务中调用其他任务,或者创建 rollback szenarios 来回滚执行出错的任务。
要求
运行 (R)?ex 不要太多预备。
一台中心机器
你会从自己的工作电脑或一台单独的中心机器上运行 (R)?ex。
你的中心 (R)?ex 机器上需要至少有个 Perl 5.8。最好是能有 Perl 5.10.1 以上的版本。
机器上还需要安装一些 Perl 模块。你可以通过自己发行版的仓库,或者我们的 (R)?ex 仓库来安装这些模块:
- Net::SSH2
- YAML
- LWP
- DBI(如果你想要数据库访问的话)
- JSON::XS(如果你想要使用Jiffybox云主机的话)
- XML::Simple(如果你想要用 FusionInventory 来采集系统信息,亚马逊云以及一些虚拟化命令的话)
- String::Escape (如果你想在 ini 文件里定义服务器组的话)
受控端主机
受控端上只需要一个 Perl5 解释器和一个可用的 SSH 账户。如果要做一些管理任务,你可能需要 root 或者 sudo 权限。
1、安装openssl
wget http://www.openssl.org/source/openssl-1.0.0l.tar.gz
tar zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config –prefix=/home/ylong/Perl/openssl
make depend
make
make test
make install
centos 6.5 下直接yum安装
yum install openssl-devel
2、安装libssh
可以到http://www.libssh2.org/download/下载任选择一个版本的libssh2
wget http://www.libssh2.org/download/libssh2-1.3.0.tar.gz
执行以下步骤进行安装:
tar zxvf libssh2-1.2.9.tar.gz
cd libssh2-1.2.9
./configure –prefix=/home/ylong/Perl/libssh2 [–with-libssl-prefix=/usr/lib/openssl]
如果是x86_64:
CFLAGS=”-O3 -fPIC” ./configure –prefix=/home/ylong/Perl/libssh2 –with-libssl-prefix=/home/ylong/Perl/openssl/lib
make
make install
4、安装net-ssh
wget http://www.cpan.org/authors/id/R/RK/RKITOVER/Net-SSH2-0.53.tar.gz
cd Net-SSH2-0.53
perl Makefile.PL lib=/home/ylong/Perl/libssh2/lib inc=/home/ylong/Perl/libssh2/include
make
make test
make intall
4、yum安装expat-devel
yum install expat-devel
大功告成—
最后执行
curl -L get.rexify.org | perl – –sudo -n Rex 即可完成rex的安装。