下面我们来拓展一下,比如:我们想为tengine增加控制脚本,可以通过start|stop控制,我们还想更换一下默认的首页index.html,默认的fastcgi_params是不能直接连接php的,所以我们替换为新的配置文件,我们也可以用设置好的nginx.conf替换原来的nginx.conf。基于上述步骤下面继续
1.把修改后的首页文件index.html,控制脚本init.nginx,fastCGI配置文件fastcgi_params,Nginx配置文件nginx.conf 放到SOURCES中 。
[ibuler@ng1 rpmbuild]$ ls SOURCES/
fastcgi_params index.html init.nginx nginx.conf tengine-1.4.2.tar.gz
2 编辑tengine.spec,修改
2.1 介绍区域的SOURCE0下增加如下
Source0: %{name}-%{version}.tar.gz
Source1: index.html
Source2: init.nginx
Source3: fastcgi_params
Source4: nginx.conf
2.2 安装区域增加如下
make install DESTDIR=%{buildroot}
%{__install} -p -D %{SOURCE1} %{buildroot}/usr/html/index.html #%{__install}这个宏代表install命令
%{__install} -p -D -m 0755 %{SOURCE2} %{buildroot}/etc/rc.d/init.d/nginx
%{__install} -p -D %{SOURCE3} %{buildroot}/etc/nginx/fastcgi_params
%{__install} -p -D %{SOURCE4} %{buildroot}/etc/nginx/nginx.conf
2.3 脚本区域增加如下
%post
if [ $1 == 1 ];then
/sbin/chkconfig --add nginx
fi
2.4 %file区域增加如下
%files
%defattr (-,root,root,0755)
/etc/
/usr/
/var/
%config(noreplace) /etc/nginx/nginx.conf #%config表明这是个配置文件noplace表明不能替换
%config(noreplace) /etc/nginx/fastcgi_params
%doc /usr/html/index.html #%doc表明这个是文档
%attr(0755,root,root) /etc/rc.d/init.d/nginx #%attr后面的是权限,属主,属组
3. 生成rpm文件测试
rpmbuild -ba tengine.spec
4. 安装测试
到此RPM包制作完毕,你可以根据你的需求制作RPM包吧。
四.RPM包签名
1.生成GPG签名密钥,我用的是root用户
gpg --gen-key
Your selection?1<Enter> ##默认即可
What keysize do you want? (2048) 1024<Enter> ##密钥长度
Key is valid for? (0) 1y<Enter> ##有效期
Is this correct? (y/N) y<Enter> ##确认
Real name: LaoGuang<Enter> ##密钥名称
Email address: ibuler@qq.com<Enter> ##邮件
Comment: GPG-RPM-KEY<Enter> ##备注
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O<ENTER>