在过去的两天里,我尝试在Debian 7 x64虚拟机上安装 Nginx 的两个模块,使用 Vagrant 创建。现在我有这个清单:
package { 'nginx':
ensure => 'present',
install_options => [ '--with-http_secure_link_module', '--with-http_image_filter_module' ],
}
include '::apt'
apt::source { 'nginx':
location => "http://nginx.org/packages/debian",
repos => 'nginx',
key => '7BD9BF62',
key_source => 'http://nginx.org/keys/nginx_signing.key',
before => Package['nginx'],
}
#import 'nodes/*.pp'
运行vagrant provision
后,我通过带vagrant ssh
的ssh进入VM,这就是我所看到的:
vagrant@packer-virtualbox-iso:~$ sudo nginx -V
nginx version: nginx/1.6.2
built by gcc 4.7.2 (Debian 4.7.2-5)
TLS SNI support enabled
configure arguments:
--prefix=/etc/nginx
--sbin-path=/usr/sbin/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--pid-path=/var/run/nginx.pid
--lock-path=/var/run/nginx.lock
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp
--user=nginx
--group=nginx
--with-http_ssl_module
--with-http_realip_module
--with-http_addition_module
--with-http_sub_module
--with-http_dav_module
--with-http_flv_module
--with-http_mp4_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_random_index_module
--with-http_secure_link_module
--with-http_stub_status_module
--with-http_auth_request_module
--with-mail
--with-mail_ssl_module
--with-file-aio
--with-http_spdy_module
--with-cc-opt='-g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2'
--with-ld-opt='-Wl,-z,relro -Wl,--as-needed'
--with-ipv6**
image_filter 模块尚未安装,但 secure_link 正常(我认为没关系,因为它是默认安装的)。
那么我做错了什么?
答案 0 :(得分:0)
正如Felix所说,Puppet中的package
资源不是用于编译软件包,而是用于管理安装和卸载软件包。
如果您想编译nginx Debian软件包特定选项或添加项,我建议使用fpm-cookery。可能对您有用example nginx recipe。