Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

iis (107) Versions 7.3.1

Installs/Configures Windows IIS

Policyfile
Berkshelf
Knife
cookbook 'iis', '= 7.3.1', :supermarket
cookbook 'iis', '= 7.3.1'
knife supermarket install iis
knife supermarket download iis
README
Dependencies
Changelog
Quality 100%

iis Cookbook

Build status Cookbook Version

Installs and configures Microsoft Internet Information Services (IIS) 7.0 and later

Contents

Requirements

Platforms

  • Windows Server 2008 R2
  • Windows Server 2012 (R1, R2)
  • Windows Server 2016

Chef

  • Chef 12.14+

Cookbooks

  • windows

Attributes

  • node['iis']['home'] - IIS main home directory. default is %WINDIR%\System32\inetsrv
  • node['iis']['conf_dir'] - location where main IIS configs lives. default is %WINDIR%\System32\inetsrv\config
  • node['iis']['pubroot'] - . default is %SYSTEMDRIVE%\inetpub
  • node['iis']['docroot'] - IIS web site home directory. default is %SYSTEMDRIVE%\inetpub\wwwroot
  • node['iis']['cache_dir'] - location of cached data. default is %SYSTEMDRIVE%\inetpub\temp

Resources

iis_install

Simple resource to install the IIS feature

Actions

  • :install

Properties

  • source - Optional source to install the features from (String)
  • additional_components - Optional features of IIS to install (Array)

iis_root

Allows for easy management of the IIS Root Machine settings

Actions

default = :config

  • :add - only does addition operations will not delete anything to an Array object
  • :delete - only does deletion operations will not add anything to an Array object
  • :config - does both addition and deletion make sure your Array objects contain everything you want

Properties

  • default_documents_enabled - Enables or disables default_documents for the root machine, Valid Values: true, false default: true
  • default_documents - The items you want to set as the default document collection, only used during :config. Array of strings, default: ['Default.htm', 'Default.asp', 'index.htm', 'index.html', 'iisstart.htm', 'default.aspx']
  • mime_maps - The items you want to set as the mime-maps or mime-types collection, only used during :config. Array of strings, default:
  ["fileExtension='.323',mimeType='text/h323'", "fileExtension='.3g2',mimeType='video/3gpp2'", "fileExtension='.3gp2',mimeType='video/3gpp2'", "fileExtension='.3gp',mimeType='video/3gpp'", "fileExtension='.3gpp',mimeType='video/3gpp'", "fileExtension='.aaf',mimeType='application/octet-stream'", "fileExtension='.aac',mimeType='audio/aac'", "fileExtension='.aca',mimeType='application/octet-stream'", "fileExtension='.accdb',mimeType='application/msaccess'", "fileExtension='.accde',mimeType='application/msaccess'", "fileExtension='.accdt',mimeType='application/msaccess'", "fileExtension='.acx',mimeType='application/internet-property-stream'", "fileExtension='.adt',mimeType='audio/vnd.dlna.adts'", "fileExtension='.adts',mimeType='audio/vnd.dlna.adts'", "fileExtension='.afm',mimeType='application/octet-stream'", "fileExtension='.ai',mimeType='application/postscript'", "fileExtension='.aif',mimeType='audio/x-aiff'", "fileExtension='.aifc',mimeType='audio/aiff'", "fileExtension='.aiff',mimeType='audio/aiff'", "fileExtension='.application',mimeType='application/x-ms-application'", "fileExtension='.art',mimeType='image/x-jg'", "fileExtension='.asd',mimeType='application/octet-stream'", "fileExtension='.asf',mimeType='video/x-ms-asf'", "fileExtension='.asi',mimeType='application/octet-stream'", "fileExtension='.asm',mimeType='text/plain'", "fileExtension='.asr',mimeType='video/x-ms-asf'", "fileExtension='.asx',mimeType='video/x-ms-asf'", "fileExtension='.atom',mimeType='application/atom+xml'", "fileExtension='.au',mimeType='audio/basic'", "fileExtension='.avi',mimeType='video/avi'", "fileExtension='.axs',mimeType='application/olescript'", "fileExtension='.bas',mimeType='text/plain'", "fileExtension='.bcpio',mimeType='application/x-bcpio'", "fileExtension='.bin',mimeType='application/octet-stream'", "fileExtension='.bmp',mimeType='image/bmp'", "fileExtension='.c',mimeType='text/plain'", "fileExtension='.cab',mimeType='application/vnd.ms-cab-compressed'", "fileExtension='.calx',mimeType='application/vnd.ms-office.calx'", "fileExtension='.cat',mimeType='application/vnd.ms-pki.seccat'", "fileExtension='.cdf',mimeType='application/x-cdf'", "fileExtension='.chm',mimeType='application/octet-stream'", "fileExtension='.class',mimeType='application/x-java-applet'", "fileExtension='.clp',mimeType='application/x-msclip'", "fileExtension='.cmx',mimeType='image/x-cmx'", "fileExtension='.cnf',mimeType='text/plain'", "fileExtension='.cod',mimeType='image/cis-cod'", "fileExtension='.cpio',mimeType='application/x-cpio'", "fileExtension='.cpp',mimeType='text/plain'", "fileExtension='.crd',mimeType='application/x-mscardfile'", "fileExtension='.crl',mimeType='application/pkix-crl'", "fileExtension='.crt',mimeType='application/x-x509-ca-cert'", "fileExtension='.csh',mimeType='application/x-csh'", "fileExtension='.css',mimeType='text/css'", "fileExtension='.csv',mimeType='application/octet-stream'", "fileExtension='.cur',mimeType='application/octet-stream'", "fileExtension='.dcr',mimeType='application/x-director'", "fileExtension='.deploy',mimeType='application/octet-stream'", "fileExtension='.der',mimeType='application/x-x509-ca-cert'", "fileExtension='.dib',mimeType='image/bmp'", "fileExtension='.dir',mimeType='application/x-director'", "fileExtension='.disco',mimeType='text/xml'", "fileExtension='.dll',mimeType='application/x-msdownload'", "fileExtension='.dll.config',mimeType='text/xml'", "fileExtension='.dlm',mimeType='text/dlm'", "fileExtension='.doc',mimeType='application/msword'", "fileExtension='.docm',mimeType='application/vnd.ms-word.document.macroEnabled.12'", "fileExtension='.docx',mimeType='application/vnd.openxmlformats-officedocument.wordprocessingml.document'", "fileExtension='.dot',mimeType='application/msword'", "fileExtension='.dotm',mimeType='application/vnd.ms-word.template.macroEnabled.12'", "fileExtension='.dotx',mimeType='application/vnd.openxmlformats-officedocument.wordprocessingml.template'", "fileExtension='.dsp',mimeType='application/octet-stream'", "fileExtension='.dtd',mimeType='text/xml'", "fileExtension='.dvi',mimeType='application/x-dvi'", "fileExtension='.dvr-ms',mimeType='video/x-ms-dvr'", "fileExtension='.dwf',mimeType='drawing/x-dwf'", "fileExtension='.dwp',mimeType='application/octet-stream'", "fileExtension='.dxr',mimeType='application/x-director'", "fileExtension='.eml',mimeType='message/rfc822'", "fileExtension='.emz',mimeType='application/octet-stream'", "fileExtension='.eot',mimeType='application/vnd.ms-fontobject'", "fileExtension='.eps',mimeType='application/postscript'", "fileExtension='.etx',mimeType='text/x-setext'", "fileExtension='.evy',mimeType='application/envoy'", "fileExtension='.exe',mimeType='application/octet-stream'", "fileExtension='.exe.config',mimeType='text/xml'", "fileExtension='.fdf',mimeType='application/vnd.fdf'", "fileExtension='.fif',mimeType='application/fractals'", "fileExtension='.fla',mimeType='application/octet-stream'", "fileExtension='.flr',mimeType='x-world/x-vrml'", "fileExtension='.flv',mimeType='video/x-flv'", "fileExtension='.gif',mimeType='image/gif'", "fileExtension='.gtar',mimeType='application/x-gtar'", "fileExtension='.gz',mimeType='application/x-gzip'", "fileExtension='.h',mimeType='text/plain'", "fileExtension='.hdf',mimeType='application/x-hdf'", "fileExtension='.hdml',mimeType='text/x-hdml'", "fileExtension='.hhc',mimeType='application/x-oleobject'", "fileExtension='.hhk',mimeType='application/octet-stream'", "fileExtension='.hhp',mimeType='application/octet-stream'", "fileExtension='.hlp',mimeType='application/winhlp'", "fileExtension='.hqx',mimeType='application/mac-binhex40'", "fileExtension='.hta',mimeType='application/hta'", "fileExtension='.htc',mimeType='text/x-component'", "fileExtension='.htm',mimeType='text/html'", "fileExtension='.html',mimeType='text/html'", "fileExtension='.htt',mimeType='text/webviewhtml'", "fileExtension='.hxt',mimeType='text/html'", "fileExtension='.ico',mimeType='image/x-icon'", "fileExtension='.ics',mimeType='text/calendar'", "fileExtension='.ief',mimeType='image/ief'", "fileExtension='.iii',mimeType='application/x-iphone'", "fileExtension='.inf',mimeType='application/octet-stream'", "fileExtension='.ins',mimeType='application/x-internet-signup'", "fileExtension='.isp',mimeType='application/x-internet-signup'", "fileExtension='.IVF',mimeType='video/x-ivf'", "fileExtension='.jar',mimeType='application/java-archive'", "fileExtension='.java',mimeType='application/octet-stream'", "fileExtension='.jck',mimeType='application/liquidmotion'", "fileExtension='.jcz',mimeType='application/liquidmotion'", "fileExtension='.jfif',mimeType='image/pjpeg'", "fileExtension='.jpb',mimeType='application/octet-stream'", "fileExtension='.jpe',mimeType='image/jpeg'", "fileExtension='.jpeg',mimeType='image/jpeg'", "fileExtension='.jpg',mimeType='image/jpeg'", "fileExtension='.js',mimeType='application/javascript'", "fileExtension='.json',mimeType='application/json'", "fileExtension='.jsx',mimeType='text/jscript'", "fileExtension='.latex',mimeType='application/x-latex'", "fileExtension='.lit',mimeType='application/x-ms-reader'", "fileExtension='.lpk',mimeType='application/octet-stream'", "fileExtension='.lsf',mimeType='video/x-la-asf'", "fileExtension='.lsx',mimeType='video/x-la-asf'", "fileExtension='.lzh',mimeType='application/octet-stream'", "fileExtension='.m13',mimeType='application/x-msmediaview'", "fileExtension='.m14',mimeType='application/x-msmediaview'", "fileExtension='.m1v',mimeType='video/mpeg'", "fileExtension='.m2ts',mimeType='video/vnd.dlna.mpeg-tts'", "fileExtension='.m3u',mimeType='audio/x-mpegurl'", "fileExtension='.m4a',mimeType='audio/mp4'", "fileExtension='.m4v',mimeType='video/mp4'", "fileExtension='.man',mimeType='application/x-troff-man'", "fileExtension='.manifest',mimeType='application/x-ms-manifest'", "fileExtension='.map',mimeType='text/plain'", "fileExtension='.mdb',mimeType='application/x-msaccess'", "fileExtension='.mdp',mimeType='application/octet-stream'", "fileExtension='.me',mimeType='application/x-troff-me'", "fileExtension='.mht',mimeType='message/rfc822'", "fileExtension='.mhtml',mimeType='message/rfc822'", "fileExtension='.mid',mimeType='audio/mid'", "fileExtension='.midi',mimeType='audio/mid'", "fileExtension='.mix',mimeType='application/octet-stream'", "fileExtension='.mmf',mimeType='application/x-smaf'", "fileExtension='.mno',mimeType='text/xml'", "fileExtension='.mny',mimeType='application/x-msmoney'", "fileExtension='.mov',mimeType='video/quicktime'", "fileExtension='.movie',mimeType='video/x-sgi-movie'", "fileExtension='.mp2',mimeType='video/mpeg'", "fileExtension='.mp3',mimeType='audio/mpeg'", "fileExtension='.mp4',mimeType='video/mp4'", "fileExtension='.mp4v',mimeType='video/mp4'", "fileExtension='.mpa',mimeType='video/mpeg'", "fileExtension='.mpe',mimeType='video/mpeg'", "fileExtension='.mpeg',mimeType='video/mpeg'", "fileExtension='.mpg',mimeType='video/mpeg'", "fileExtension='.mpp',mimeType='application/vnd.ms-project'", "fileExtension='.mpv2',mimeType='video/mpeg'", "fileExtension='.ms',mimeType='application/x-troff-ms'", "fileExtension='.msi',mimeType='application/octet-stream'", "fileExtension='.mso',mimeType='application/octet-stream'", "fileExtension='.mvb',mimeType='application/x-msmediaview'", "fileExtension='.mvc',mimeType='application/x-miva-compiled'", "fileExtension='.nc',mimeType='application/x-netcdf'", "fileExtension='.nsc',mimeType='video/x-ms-asf'", "fileExtension='.nws',mimeType='message/rfc822'", "fileExtension='.ocx',mimeType='application/octet-stream'", "fileExtension='.oda',mimeType='application/oda'", "fileExtension='.odc',mimeType='text/x-ms-odc'", "fileExtension='.ods',mimeType='application/oleobject'", "fileExtension='.oga',mimeType='audio/ogg'", "fileExtension='.ogg',mimeType='video/ogg'", "fileExtension='.ogv',mimeType='video/ogg'", "fileExtension='.one',mimeType='application/onenote'", "fileExtension='.onea',mimeType='application/onenote'", "fileExtension='.onetoc',mimeType='application/onenote'", "fileExtension='.onetoc2',mimeType='application/onenote'", "fileExtension='.onetmp',mimeType='application/onenote'", "fileExtension='.onepkg',mimeType='application/onenote'", "fileExtension='.osdx',mimeType='application/opensearchdescription+xml'", "fileExtension='.otf',mimeType='font/otf'", "fileExtension='.p10',mimeType='application/pkcs10'", "fileExtension='.p12',mimeType='application/x-pkcs12'", "fileExtension='.p7b',mimeType='application/x-pkcs7-certificates'", "fileExtension='.p7c',mimeType='application/pkcs7-mime'", "fileExtension='.p7m',mimeType='application/pkcs7-mime'", "fileExtension='.p7r',mimeType='application/x-pkcs7-certreqresp'", "fileExtension='.p7s',mimeType='application/pkcs7-signature'", "fileExtension='.pbm',mimeType='image/x-portable-bitmap'", "fileExtension='.pcx',mimeType='application/octet-stream'", "fileExtension='.pcz',mimeType='application/octet-stream'", "fileExtension='.pdf',mimeType='application/pdf'", "fileExtension='.pfb',mimeType='application/octet-stream'", "fileExtension='.pfm',mimeType='application/octet-stream'", "fileExtension='.pfx',mimeType='application/x-pkcs12'", "fileExtension='.pgm',mimeType='image/x-portable-graymap'", "fileExtension='.pko',mimeType='application/vnd.ms-pki.pko'", "fileExtension='.pma',mimeType='application/x-perfmon'", "fileExtension='.pmc',mimeType='application/x-perfmon'", "fileExtension='.pml',mimeType='application/x-perfmon'", "fileExtension='.pmr',mimeType='application/x-perfmon'", "fileExtension='.pmw',mimeType='application/x-perfmon'", "fileExtension='.png',mimeType='image/png'", "fileExtension='.pnm',mimeType='image/x-portable-anymap'", "fileExtension='.pnz',mimeType='image/png'", "fileExtension='.pot',mimeType='application/vnd.ms-powerpoint'", "fileExtension='.potm',mimeType='application/vnd.ms-powerpoint.template.macroEnabled.12'", "fileExtension='.potx',mimeType='application/vnd.openxmlformats-officedocument.presentationml.template'", "fileExtension='.ppam',mimeType='application/vnd.ms-powerpoint.addin.macroEnabled.12'", "fileExtension='.ppm',mimeType='image/x-portable-pixmap'", "fileExtension='.pps',mimeType='application/vnd.ms-powerpoint'", "fileExtension='.ppsm',mimeType='application/vnd.ms-powerpoint.slideshow.macroEnabled.12'", "fileExtension='.ppsx',mimeType='application/vnd.openxmlformats-officedocument.presentationml.slideshow'", "fileExtension='.ppt',mimeType='application/vnd.ms-powerpoint'", "fileExtension='.pptm',mimeType='application/vnd.ms-powerpoint.presentation.macroEnabled.12'", "fileExtension='.pptx',mimeType='application/vnd.openxmlformats-officedocument.presentationml.presentation'", "fileExtension='.prf',mimeType='application/pics-rules'", "fileExtension='.prm',mimeType='application/octet-stream'", "fileExtension='.prx',mimeType='application/octet-stream'", "fileExtension='.ps',mimeType='application/postscript'", "fileExtension='.psd',mimeType='application/octet-stream'", "fileExtension='.psm',mimeType='application/octet-stream'", "fileExtension='.psp',mimeType='application/octet-stream'", "fileExtension='.pub',mimeType='application/x-mspublisher'", "fileExtension='.qt',mimeType='video/quicktime'", "fileExtension='.qtl',mimeType='application/x-quicktimeplayer'", "fileExtension='.qxd',mimeType='application/octet-stream'", "fileExtension='.ra',mimeType='audio/x-pn-realaudio'", "fileExtension='.ram',mimeType='audio/x-pn-realaudio'", "fileExtension='.rar',mimeType='application/octet-stream'", "fileExtension='.ras',mimeType='image/x-cmu-raster'", "fileExtension='.rf',mimeType='image/vnd.rn-realflash'", "fileExtension='.rgb',mimeType='image/x-rgb'", "fileExtension='.rm',mimeType='application/vnd.rn-realmedia'", "fileExtension='.rmi',mimeType='audio/mid'", "fileExtension='.roff',mimeType='application/x-troff'", "fileExtension='.rpm',mimeType='audio/x-pn-realaudio-plugin'", "fileExtension='.rtf',mimeType='application/rtf'", "fileExtension='.rtx',mimeType='text/richtext'", "fileExtension='.scd',mimeType='application/x-msschedule'", "fileExtension='.sct',mimeType='text/scriptlet'", "fileExtension='.sea',mimeType='application/octet-stream'", "fileExtension='.setpay',mimeType='application/set-payment-initiation'", "fileExtension='.setreg',mimeType='application/set-registration-initiation'", "fileExtension='.sgml',mimeType='text/sgml'", "fileExtension='.sh',mimeType='application/x-sh'", "fileExtension='.shar',mimeType='application/x-shar'", "fileExtension='.sit',mimeType='application/x-stuffit'", "fileExtension='.sldm',mimeType='application/vnd.ms-powerpoint.slide.macroEnabled.12'", "fileExtension='.sldx',mimeType='application/vnd.openxmlformats-officedocument.presentationml.slide'", "fileExtension='.smd',mimeType='audio/x-smd'", "fileExtension='.smi',mimeType='application/octet-stream'", "fileExtension='.smx',mimeType='audio/x-smd'", "fileExtension='.smz',mimeType='audio/x-smd'", "fileExtension='.snd',mimeType='audio/basic'", "fileExtension='.snp',mimeType='application/octet-stream'", "fileExtension='.spc',mimeType='application/x-pkcs7-certificates'", "fileExtension='.spl',mimeType='application/futuresplash'", "fileExtension='.spx',mimeType='audio/ogg'", "fileExtension='.src',mimeType='application/x-wais-source'", "fileExtension='.ssm',mimeType='application/streamingmedia'", "fileExtension='.sst',mimeType='application/vnd.ms-pki.certstore'", "fileExtension='.stl',mimeType='application/vnd.ms-pki.stl'", "fileExtension='.sv4cpio',mimeType='application/x-sv4cpio'", "fileExtension='.sv4crc',mimeType='application/x-sv4crc'", "fileExtension='.svg',mimeType='image/svg+xml'", "fileExtension='.svgz',mimeType='image/svg+xml'", "fileExtension='.swf',mimeType='application/x-shockwave-flash'", "fileExtension='.t',mimeType='application/x-troff'", "fileExtension='.tar',mimeType='application/x-tar'", "fileExtension='.tcl',mimeType='application/x-tcl'", "fileExtension='.tex',mimeType='application/x-tex'", "fileExtension='.texi',mimeType='application/x-texinfo'", "fileExtension='.texinfo',mimeType='application/x-texinfo'", "fileExtension='.tgz',mimeType='application/x-compressed'", "fileExtension='.thmx',mimeType='application/vnd.ms-officetheme'", "fileExtension='.thn',mimeType='application/octet-stream'", "fileExtension='.tif',mimeType='image/tiff'", "fileExtension='.tiff',mimeType='image/tiff'", "fileExtension='.toc',mimeType='application/octet-stream'", "fileExtension='.tr',mimeType='application/x-troff'", "fileExtension='.trm',mimeType='application/x-msterminal'", "fileExtension='.ts',mimeType='video/vnd.dlna.mpeg-tts'", "fileExtension='.tsv',mimeType='text/tab-separated-values'", "fileExtension='.ttf',mimeType='application/octet-stream'", "fileExtension='.tts',mimeType='video/vnd.dlna.mpeg-tts'", "fileExtension='.txt',mimeType='text/plain'", "fileExtension='.u32',mimeType='application/octet-stream'", "fileExtension='.uls',mimeType='text/iuls'", "fileExtension='.ustar',mimeType='application/x-ustar'", "fileExtension='.vbs',mimeType='text/vbscript'", "fileExtension='.vcf',mimeType='text/x-vcard'", "fileExtension='.vcs',mimeType='text/plain'", "fileExtension='.vdx',mimeType='application/vnd.ms-visio.viewer'", "fileExtension='.vml',mimeType='text/xml'", "fileExtension='.vsd',mimeType='application/vnd.visio'", "fileExtension='.vss',mimeType='application/vnd.visio'", "fileExtension='.vst',mimeType='application/vnd.visio'", "fileExtension='.vsto',mimeType='application/x-ms-vsto'", "fileExtension='.vsw',mimeType='application/vnd.visio'", "fileExtension='.vsx',mimeType='application/vnd.visio'", "fileExtension='.vtx',mimeType='application/vnd.visio'", "fileExtension='.wav',mimeType='audio/wav'", "fileExtension='.wax',mimeType='audio/x-ms-wax'", "fileExtension='.wbmp',mimeType='image/vnd.wap.wbmp'", "fileExtension='.wcm',mimeType='application/vnd.ms-works'", "fileExtension='.wdb',mimeType='application/vnd.ms-works'", "fileExtension='.webm',mimeType='video/webm'", "fileExtension='.wks',mimeType='application/vnd.ms-works'", "fileExtension='.wm',mimeType='video/x-ms-wm'", "fileExtension='.wma',mimeType='audio/x-ms-wma'", "fileExtension='.wmd',mimeType='application/x-ms-wmd'", "fileExtension='.wmf',mimeType='application/x-msmetafile'", "fileExtension='.wml',mimeType='text/vnd.wap.wml'", "fileExtension='.wmlc',mimeType='application/vnd.wap.wmlc'", "fileExtension='.wmls',mimeType='text/vnd.wap.wmlscript'", "fileExtension='.wmlsc',mimeType='application/vnd.wap.wmlscriptc'", "fileExtension='.wmp',mimeType='video/x-ms-wmp'", "fileExtension='.wmv',mimeType='video/x-ms-wmv'", "fileExtension='.wmx',mimeType='video/x-ms-wmx'", "fileExtension='.wmz',mimeType='application/x-ms-wmz'", "fileExtension='.woff',mimeType='font/x-woff'", "fileExtension='.wps',mimeType='application/vnd.ms-works'", "fileExtension='.wri',mimeType='application/x-mswrite'", "fileExtension='.wrl',mimeType='x-world/x-vrml'", "fileExtension='.wrz',mimeType='x-world/x-vrml'", "fileExtension='.wsdl',mimeType='text/xml'", "fileExtension='.wtv',mimeType='video/x-ms-wtv'", "fileExtension='.wvx',mimeType='video/x-ms-wvx'", "fileExtension='.x',mimeType='application/directx'", "fileExtension='.xaf',mimeType='x-world/x-vrml'", "fileExtension='.xaml',mimeType='application/xaml+xml'", "fileExtension='.xap',mimeType='application/x-silverlight-app'", "fileExtension='.xbap',mimeType='application/x-ms-xbap'", "fileExtension='.xbm',mimeType='image/x-xbitmap'", "fileExtension='.xdr',mimeType='text/plain'", "fileExtension='.xht',mimeType='application/xhtml+xml'", "fileExtension='.xhtml',mimeType='application/xhtml+xml'", "fileExtension='.xla',mimeType='application/vnd.ms-excel'", "fileExtension='.xlam',mimeType='application/vnd.ms-excel.addin.macroEnabled.12'", "fileExtension='.xlc',mimeType='application/vnd.ms-excel'", "fileExtension='.xlm',mimeType='application/vnd.ms-excel'", "fileExtension='.xls',mimeType='application/vnd.ms-excel'", "fileExtension='.xlsb',mimeType='application/vnd.ms-excel.sheet.binary.macroEnabled.12'", "fileExtension='.xlsm',mimeType='application/vnd.ms-excel.sheet.macroEnabled.12'", "fileExtension='.xlsx',mimeType='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'", "fileExtension='.xlt',mimeType='application/vnd.ms-excel'", "fileExtension='.xltm',mimeType='application/vnd.ms-excel.template.macroEnabled.12'", "fileExtension='.xltx',mimeType='application/vnd.openxmlformats-officedocument.spreadsheetml.template'", "fileExtension='.xlw',mimeType='application/vnd.ms-excel'", "fileExtension='.xml',mimeType='text/xml'", "fileExtension='.xof',mimeType='x-world/x-vrml'", "fileExtension='.xpm',mimeType='image/x-xpixmap'", "fileExtension='.xps',mimeType='application/vnd.ms-xpsdocument'", "fileExtension='.xsd',mimeType='text/xml'", "fileExtension='.xsf',mimeType='text/xml'", "fileExtension='.xsl',mimeType='text/xml'", "fileExtension='.xslt',mimeType='text/xml'", "fileExtension='.xsn',mimeType='application/octet-stream'", "fileExtension='.xtp',mimeType='application/octet-stream'", "fileExtension='.xwd',mimeType='image/x-xwindowdump'", "fileExtension='.z',mimeType='application/x-compress'", "fileExtension='.zip',mimeType='application/x-zip-compressed'"]
  • add_default_documents - The items you want to add to the default document collection, only used during :add. Array of strings, default: []

  • add_mime_maps - The items you want to add to the mime-map/mime-type collection, only used during :add. Array of strings, default: []

  • delete_default_documents - The items you want to delete from the default document collection, only used during :delete. Array of strings, default: []

  • delete_mime_maps - The items you want to delete from the mime-map/mime-type collection, only used during :delete. Array of strings, default: []

Examples

# Add foo.html to default documents, and add '.dmg' as mime type extension at root level
iis_root 'add stuff' do
  add_default_documents ['foo.html']
  add_mime_maps ["fileExtension='.dmg',mimeType='application/octet-stream'"]
  action :add
end
# Remove index.html from default document and .323 as a mime type at root level
iis_root 'delete stuff' do
  delete_default_documents ['index.html']
  delete_mime_maps ["fileExtension='.323',mimeType='text/h323'"]
  action :delete
end

iis_site

Allows for easy management of IIS virtual sites (ie vhosts).

Actions

  • :add - add a new virtual site
  • :config - apply configuration to an existing virtual site
  • :delete - delete an existing virtual site
  • :start - start a virtual site
  • :stop - stop a virtual site
  • :restart - restart a virtual site

Properties

  • site_name - specify the name of the site. Unless specified we use the name of the resource instead.
  • site_id - if not given IIS generates a unique ID for the site
  • path - IIS will create a root application and a root virtual directory mapped to this specified local path
  • protocol - http protocol type the site should respond to. valid values are :http, :https. default is :http
  • port - port site will listen on. default is 80
  • host_header - host header (also known as domains or host names) the site should map to. default is all host headers
  • bindings - Advanced options to configure the information required for requests to communicate with a Web site. See http://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding for parameter format. When binding is used, port protocol and host_header should not be used.
  • application_pool - set the application pool of the site
  • options - additional options to configure the site. Such as "-logDir", "-limits", "-ftpServer", "-applicationDefaults.preloadEnabled:True". This can be anything that you would normally add to a appcmd, so if you want to find out the possible values google "appcmd iis site <enter thing you want>". This only runs during add since it isn't idempotent.
  • log_directory - specifies the logging directory, where the log file and logging-related support files are stored.
  • log_period - specifies how often iis creates a new log file
  • log_truncsize - specifies the maximum size of the log file (in bytes) after which to create a new log file.

Examples

# stop and delete the default site
iis_site 'Default Web Site' do
  action [:stop, :delete]
end
# create and start a new site that maps to
# the physical location C:\inetpub\wwwroot\testfu
# first the physical location must exist
directory "#{node['iis']['docroot']}/testfu" do
  action :create
end

# now create and start the site (note this will use the default application pool which must exist)
iis_site 'Testfu Site' do
  protocol :http
  port 80
  path "#{node['iis']['docroot']}/testfu"
  action [:add,:start]
end
# do the same but map to testfu.chef.io domain
# first the physical location must exist
directory "#{node['iis']['docroot']}/testfu" do
  action :create
end

# now create and start the site (note this will use the default application pool which must exist)
iis_site 'Testfu Site' do
  protocol :http
  port 80
  path "#{node['iis']['docroot']}/testfu"
  host_header "testfu.chef.io"
  action [:add,:start]
end
# create and start a new site that maps to
# the physical C:\inetpub\wwwroot\testfu
# first the physical location must exist
directory "#{node['iis']['docroot']}/testfu" do
  action :create
end

# also adds bindings to http and https
# binding http to the ip address 10.12.0.136,
# the port 80, and the host header www.domain.com
# also binding https to any ip address,
# the port 443, and the host header www.domain.com
# now create and start the site (note this will use the default application pool which must exist)
iis_site 'FooBar Site' do
  bindings "http/10.12.0.136:80:www.domain.com,https/*:443:www.domain.com
  path "#{node['iis']['docroot']}/testfu"
  action [:add,:start]
end
# create a site with preloadEnabled enabled
iis_site 'mysite.com' do
  protocol :http
  port 80
  path "#{node['iis']['docroot']}\dataverify"
  application_pool 'dataverify.com'
  options "-applicationDefaults.preloadEnabled:True"
  action [:add, :start, :config]
end

iis_config

Runs a config command on your IIS instance.

Actions

  • :set - Edit configuration section (appcmd set config)
  • :clear - Clear the section configuration (appcmd clear config)

Properties

  • cfg_cmd - name property. What ever command you would pass in after "appcmd.exe set config" We use the resource name if this isn't specified here.

Example

# Sets up logging
iis_config "/section:system.applicationHost/sites /siteDefaults.logfile.directory:\"D:\\logs\"" do
    action :set
end
# Increase file upload size for 'MySite'
iis_config "\"MySite\" /section:requestfiltering /requestlimits.maxallowedcontentlength:50000000" do
  action :set
end
# Set IUSR username and password authentication
iis_config "\"MyWebsite/aSite\" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:\"True\" /userName:\"IUSR_foobar\" /password:\"p@assword\" /commit:apphost" do
  action :set
end
# Authenticate with application pool
iis_config "\"MyWebsite/aSite\" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:\"True\" /userName:\"\" /commit:apphost" do
   action :set
end
# Loads an array of commands from the node
cfg_cmds = node['iis']['cfg_cmd']
cfg_cmds.each do |cmd|
    iis_config "#{cmd}" do
        action :set
    end
end
# Add static machine key at site level
iis_config "MySite /commit:site /section:machineKey /validation:AES /validationKey:AAAAAA /decryptionKey:ZZZZZ" do
  action :set
end
# Remove machine key
iis_config "MySite /commit:site /section:machineKey" do
  action :clear
end

iis_config_property

Sets an IIS configuration property. Idempotent. Uses Powershell Set-WebConfigurationProperty rather than appcmd.

Actions

  • :set : Sets the property to the given value if it is not already set.
  • :add : Adds an item to a collection if one doesn't already exist. filter should define a collection element. An item will be added if there is no member with a property value of value.
  • :remove : Removes a item from a collection if it already exists. filter should define a collection element. The item will be removed if there is a member with a property value of value.

Properties

  • property : The property to be set. Defaults from name.
  • ps_path : Specifies the configuration path. This can be either an IIS configuration path in the format computer name/webroot/apphost, or the IIS module path in this format IIS:\sites\Default Web Site.
  • location : Optional. The location of the configuration setting. Location tags are frequently used for configuration settings that must be set more precisely than per application or per virtual directory. For example, a setting for a particular file or directory could use a location tag. Location tags are also used if a particular section is locked. In such an instance, the configuration system would have to use a location tag in one of the parent configuration files.
  • filter : Specifies the IIS configuration section or an XPath query that returns a configuration element.
  • value : The value to set the property to. Either a string or an integer.
  • extra_add_values : Optional. If the add action requires additional values to be set at creation then supply them in this hash. This property is not idempotent. It is only used when the configuration is created.

Example

# Sets up logging
iis_config_property 'directory' do
  ps_path   'MACHINE/WEBROOT/APPHOST'
  filter    'system.applicationHost/sites/siteDefaults/logfile'
  value     'D:\\logs'
end
# Set XSS-Protection header on all sites
iis_config_property 'Add X-Xss-Protection' do
  ps_path   'MACHINE/WEBROOT/APPHOST'
  filter    'system.webServer/httpProtocol/customHeaders'
  property  'name'
  value     'X-Xss-Protection'
  action    :add
end
iis_config_property 'Set X-Xss-Protection' do
  ps_path   'MACHINE/WEBROOT/APPHOST'
  filter    "system.webServer/httpProtocol/customHeaders/add[@name='X-Xss-Protection']"
  property  'value'
  value     '1; mode=block'
end
# Set environment variable ASPNETCORE_ENVIRONMENT to Test
# Note we still need to maintain the value via a Set resource
iis_config_property 'Add login/ASPNETCORE_ENVIRONMENT' do
  ps_path           'MACHINE/WEBROOT/APPHOST'
  location          'Default Web site'
  filter            'system.webServer/aspNetCore/environmentVariables'
  property          'name'
  value             'ASPNETCORE_ENVIRONMENT'
  extra_add_values  value: 'Test'
  action            :add
end
iis_config_property 'Set login/ASPNETCORE_ENVIRONMENT' do
  ps_path   'MACHINE/WEBROOT/APPHOST'
  location  'Default Web site'
  filter    "system.webServer/aspNetCore/environmentVariables/environmentVariable[@name='ASPNETCORE_ENVIRONMENT']"
  property  'value'
  value     'Test'
end

iis_manager

Configures the IIS Manager service

Actions

  • :config - Change the configuration of the service. Restarts as necessary and sets the service to be automatic and running.

Properties

  • port : The port the service listens on. Default is 8172
  • enable_remote_management : If remote access allowed. Default true
  • log_directory : Optional. The directory to write log files to.

Example

iis_manager 'IIS Manager' do
  port                      9090
  enable_remote_management  true
  log_directory             "C:\\CustomPath"
end

iis_manager_permission

Requires: Server 2016+

Set the permissions for user access to the IIS Manager

Actions

  • config : Configure the given path to allow only the defined users and groups access. Removes any other principals. This is an idempotent action.

Properties

  • config_path : The IIS Manager path to be configured. Usually just the site name. Taken from the name attribute if not set, The config_path takes the form of site_name/application/application (where applications are optional)
  • users : Optional. Array of users to be allowed access
  • groups : Optional. Array of groups to be allowed access

iis_pool

Creates an application pool in IIS.

Actions

  • :add - add a new application pool
  • :config - apply configuration to an existing application pool
  • :delete - delete an existing application pool
  • :start - start a application pool
  • :stop - stop a application pool
  • :restart - restart a application pool
  • :recycle - recycle an application pool

Properties

Root Items
  • pool_name - name property. Specifies the name of the pool to create. We use the resource name if this isn't specified here.
  • runtime_version - specifies what .NET version of the runtime to use.
  • pipeline_mode - specifies what pipeline mode to create the pool with, valid values are :Integrated or :Classic, the default is :Integrated
  • no_managed_code - allow Unmanaged Code in setting up IIS app pools is shutting down. - default is true - optional
Add Items
  • start_mode - Specifies the startup type for the application pool - default :OnDemand (:OnDemand, :AlwaysRunning) - optional
  • auto_start - When true, indicates to the World Wide Web Publishing Service (W3SVC) that the application pool should be automatically started when it is created or when IIS is started. - boolean: default true - optional
  • queue_length - Indicates to HTTP.sys how many requests to queue for an application pool before rejecting future requests. - default is 1000 - optional
  • thirty_two_bit - set the pool to run in 32 bit mode, valid values are true or false, default is false - optional
Process Model Items
  • max_processes - specifies the number of worker processes associated with the pool.
  • load_user_profile - This property is used only when a service starts in a named user account. - Default is false - optional
  • identity_type - the account identity that they app pool will run as, valid values are :SpecificUser, :NetworkService, :LocalService, :LocalSystem, :ApplicationPoolIdentity
  • username - username for the identity for the application pool
  • password password for the identity for the application pool is started. Default is true - optional
  • logon_type - Specifies the logon type for the process identity. (For additional information about logon types, see the LogonUser Function topic on Microsoft's MSDN Web site.) - Available [:LogonBatch, :LogonService] - default is :LogonBatch - optional
  • manual_group_membership - Specifies whether the IIS_IUSRS group Security Identifier (SID) is added to the worker process token. When false, IIS automatically uses an application pool identity as though it were a member of the built-in IIS_IUSRS group, which has access to necessary file and system resources. When true, an application pool identity must be explicitly added to all resources that a worker process requires at runtime. - default is false - optional
  • idle_timeout - Specifies how long (in minutes) a worker process should run idle if no new requests are received and the worker process is not processing requests. After the allocated time passes, the worker process should request that it be shut down by the WWW service. - default is '00:20:00' - optional
  • idle_timeout_action - Specifies the option of suspending an idle worker process rather than terminating it. Valid values are :Terminate and :Suspend - optional
  • shutdown_time_limit - Specifies the time that the W3SVC service waits after it initiated a recycle. If the worker process does not shut down within the shutdownTimeLimit, it will be terminated by the W3SVC service. - default is '00:01:30' - optional
  • startup_time_limit - Specifies the time that IIS waits for an application pool to start. If the application pool does not startup within the startupTimeLimit, the worker process is terminated and the rapid-fail protection count is incremented. - default is '00:01:30' - optional
  • pinging_enabled - Specifies whether pinging is enabled for the worker process. - default is true - optional
  • ping_interval - Specifies the time between health-monitoring pings that the WWW service sends to a worker process - default is '00:00:30' - optional
  • ping_response_time - Specifies the time that a worker process is given to respond to a health-monitoring ping. After the time limit is exceeded, the WWW service terminates the worker process - default is '00:01:30' - optional
Recycling Items
  • disallow_rotation_on_config_change - The DisallowRotationOnConfigChange property specifies whether or not the World Wide Web Publishing Service (WWW Service) should rotate worker processes in an application pool when the configuration has changed. - Default is false - optional
  • disallow_overlapping_rotation - Specifies whether the WWW Service should start another worker process to replace the existing worker process while that process
  • log_event_on_recycle - configure IIS to log an event when one or more of the following configured events cause an application pool to recycle (for additional information about logging events. - default is 'Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory' - optional
  • recycle_schedule_clear - specifies a pool to clear all scheduled recycle times, [true,false] Default is false - optional
  • recycle_after_time - specifies a pool to recycle at regular time intervals, d.hh:mm:ss, d optional
  • periodic_restart_schedule - schedule a pool to recycle at specific times. Single value or array accepted. hh:mm:ss or ['hh:mm:ss','hh:mm:ss'], optional
  • private_memory - specifies the amount of private memory (in kilobytes) after which you want the pool to recycle
  • virtual_memory - specifies the amount of virtual memory (in kilobytes) after which you want the pool to recycle

Failure Items

  • load_balancer_capabilities - Specifies behavior when a worker process cannot be started, such as when the request queue is full or an application pool is in rapid-fail protection. - default is :HttpLevel - optional
  • orphan_worker_process - Specifies whether to assign a worker process to an orphan state instead of terminating it when an application pool fails. - default is false - optional
  • orphan_action_exe - Specifies an executable to run when the WWW service orphans a worker process (if the orphanWorkerProcess attribute is set to true). You can use the orphanActionParams attribute to send parameters to the executable. - optional
  • orphan_action_params - Indicates command-line parameters for the executable named by the orphanActionExe attribute. To specify the process ID of the orphaned process, use %1%. - optional
  • rapid_fail_protection - Setting to true instructs the WWW service to remove from service all applications that are in an application pool - default is true - optional
  • rapid_fail_protection_interval - Specifies the number of minutes before the failure count for a process is reset. - default is '00:05:00' - optional
  • rapid_fail_protection_max_crashes - Specifies the maximum number of failures that are allowed within the number of minutes specified by the rapidFailProtectionInterval attribute. - default is 5 - optional
  • auto_shutdown_exe - Specifies an executable to run when the WWW service shuts down an application pool. - optional
  • auto_shutdown_params - Specifies command-line parameters for the executable that is specified in the autoShutdownExe attribute. - optional
CPU Items
  • cpu_action - Configures the action that IIS takes when a worker process exceeds its configured CPU limit. The action attribute is configured on a per-application pool basis. - Available options [:NoAction, :KillW3wp, :Throttle, :ThrottleUnderLoad] - default is :NoAction - optional
  • cpu_limit - Configures the maximum percentage of CPU time (in 1/1000ths of one percent) that the worker processes in an application pool are allowed to consume over a period of time as indicated by the resetInterval attribute. If the limit set by the limit attribute is exceeded, an event is written to the event log and an optional set of events can be triggered. These optional events are determined by the action attribute. - default is 0 - optional
  • cpu_reset_interval - Specifies the reset period (in minutes) for CPU monitoring and throttling limits on an application pool. When the number of minutes elapsed since the last process accounting reset equals the number specified by this property, IIS resets the CPU timers for both the logging and limit intervals. - default is '00:05:00' - optional
  • cpu_smp_affinitized - Specifies whether a particular worker process assigned to an application pool should also be assigned to a given CPU. - default is false - optional
  • smp_processor_affinity_mask - Specifies the hexadecimal processor mask for multi-processor computers, which indicates to which CPU the worker processes in an application pool should be bound. Before this property takes effect, the smpAffinitized attribute must be set to true for the application pool. - default is 4294967295 - optional
  • smp_processor_affinity_mask_2 - Specifies the high-order DWORD hexadecimal processor mask for 64-bit multi-processor computers, which indicates to which CPU the worker processes in an application pool should be bound. Before this property takes effect, the smpAffinitized attribute must be set to true for the application pool. - default is 4294967295 - optional
Environment Variables
  • environment_variables - Specifies a list of environment variables that will be passed to a worker process when an application is launched. Single value or array accepted. FOO=BAR or ['FOO=BAR','HELLO=WORLD'], optional

Example

# creates a new app pool
iis_pool 'myAppPool_v1_1' do
  runtime_version "2.0"
  pipeline_mode :Classic
  action :add
end

iis_app

Creates an application in IIS.

Actions

  • :add - add a new application pool
  • :delete - delete an existing application pool
  • :config - configures an existing application pool

Properties

  • site_name - name property. The name of the site to add this app to. We use the resource name if this isn't specified here.
  • path -The virtual path for this application
  • application_pool - The pool this application belongs to
  • physical_path - The physical path where this app resides.
  • enabled_protocols - The enabled protocols that this app provides (http, https, net.pipe, net.tcp, etc)

Example

# creates a new app
iis_app 'myApp' do
  path '/v1_1'
  application_pool 'myAppPool_v1_1'
  physical_path "#{node['iis']['docroot']}/testfu/v1_1"
  enabled_protocols 'http,net.pipe'
  action :add
end

iis_vdir

Allows easy management of IIS virtual directories (i.e. vdirs).

Actions

  • :add: - add a new virtual directory
  • :delete: - delete an existing virtual directory
  • :config: - configure a virtual directory

Properties

  • application_name: name property. This is the name of the website or site + application you are adding it to. We use the resource name if this isn't specified here.
  • path: The virtual directory path on the site.
  • physical_path: The physical path of the virtual directory on the disk.
  • username: (optional) The username required to logon to the physical_path. If set to "" will clear username and password.
  • password: (optional) The password required to logon to the physical_path
  • logon_method: (optional, default: :ClearText) The method used to logon (:Interactive, :Batch, :Network, :ClearText). For more information on these types, see "LogonUser Function", Read more at MSDN
  • allow_sub_dir_config: (optional, default: true) Boolean that specifies whether or not the Web server will look for configuration files located in the subdirectories of this virtual directory. Setting this to false can improve performance on servers with very large numbers of web.config files, but doing so prevents IIS configuration from being read in subdirectories.

Examples

# add a virtual directory to default application
iis_vdir 'Default Web Site/' do
  action :add
  path '/Content/Test'
  physical_path 'C:\wwwroot\shared\test'
end
# add a virtual directory to an application under a site
iis_vdir 'Default Web Site/my application' do
  action :add
  path '/Content/Test'
  physical_path 'C:\wwwroot\shared\test'
end
# adds a virtual directory to default application which points to a smb share. (Remember to escape the "\"'s)
iis_vdir 'Default Web Site/' do
  action :add
  path '/Content/Test'
  physical_path '\\\\sharename\\sharefolder\\1'
end
# configure a virtual directory to have a username and password
iis_vdir 'Default Web Site/' do
  action :config
  path '/Content/Test'
  username 'domain\myspecialuser'
  password 'myspecialpassword'
end
# delete a virtual directory from the default application
iis_vdir 'Default Web Site/' do
  action :delete
  path '/Content/Test'
end

iis_section

Allows for the locking/unlocking of sections (listed here or via the command appcmd list config \"\" /config:* /xml)

This is valuable to allow the web.config of an individual application/website control it's own settings.

Actions

  • :lock: - locks the section passed
  • :unlock: - unlocks the section passed

Properties

  • section: The name of the section to lock.
  • site: The name of the site you want to lock or unlock a section for.
  • application_path: The path to the application you want to lock or unlock a section for.
  • returns: The result of the shell_out command.

Examples

# Sets the IIS global windows authentication to be locked globally
iis_section 'locks global configuration of windows auth' do
  section 'system.webServer/security/authentication/windowsAuthentication'
  action :lock
end
# Sets the IIS global Basic authentication to be locked globally
iis_section 'locks global configuration of Basic auth' do
  section 'system.webServer/security/authentication/basicAuthentication'
  action :lock
end
# Sets the IIS global windows authentication to be unlocked globally
iis_section 'unlocked web.config globally for windows auth' do
  action :unlock
  section 'system.webServer/security/authentication/windowsAuthentication'
end
# Sets the IIS global Basic authentication to be unlocked globally
iis_section 'unlocked web.config globally for Basic auth' do
  action :unlock
  section 'system.webServer/security/authentication/basicAuthentication'
end
# Sets the static content section for default web site and root to unlocked
iis_section 'unlock staticContent of default web site' do
  section 'system.webServer/staticContent'
  site 'Default Web Site'
  action :unlock
end
# Sets the static content section for test_app under default website and root to be unlocked
iis_section 'unlock staticContent of default web site' do
  section 'system.webServer/staticContent'
  site 'Default Web Site'
  application_path '/test_app'
  action :unlock
end

iis_module

Manages modules globally or on a per site basis.

Actions

  • :add - add a new module
  • :delete - delete a module
  • :install - install a native module from the filesystem (.dll)
  • :uninstall - uninstall a native module

Properties

  • module_name - The name of the module to add or delete
  • type - The type of module
  • precondition - precondition for module
  • application - The application or site to add the module to
  • add - Whether the module you install has to be globally added
  • image - Location of the DLL of the module to install

Example

# Adds a module called "My 3rd Party Module" to mySite/
iis_module "My 3rd Party Module" do
  application "mySite/"
  precondition "bitness64"
  action :add
end
# Adds a module called "MyModule" to all IIS sites on the server
iis_module "MyModule"

Usage

default recipe

Installs and configures IIS 7.0/7.5/8.0 using the default configuration.

mod_* recipes

This cookbook also contains recipes for installing individual IIS modules (extensions). These recipes can be included in a node's run_list to build the minimal desired custom IIS installation.

  • mod_aspnet - installs ASP.NET runtime components
  • mod_aspnet45 - installs ASP.NET 4.5 runtime components
  • mod_auth_basic - installs Basic Authentication support
  • mod_auth_windows - installs Windows Authentication (authenticate clients by using NTLM or Kerberos) support
  • mod_compress_dynamic - installs dynamic content compression support. PLEASE NOTE - enabling dynamic compression always gives you more efficient use of bandwidth, but if your server's processor utilization is already very high, the CPU load imposed by dynamic compression might make your site perform more slowly.
  • mod_compress_static - installs static content compression support
  • mod_ftp - installs FTP service
  • mod_iis6_metabase_compat - installs IIS 6 Metabase Compatibility component.
  • mod_isapi - installs ISAPI (Internet Server Application Programming Interface) extension and filter support.
  • mod_logging - installs and enables HTTP Logging (logging of Web site activity), Logging Tools (logging tools and scripts) and Custom Logging (log any of the HTTP request/response headers, IIS server variables, and client-side fields with simple configuration) support
  • mod_management - installs Web server Management Console which supports management of local and remote Web servers
  • mod_security - installs URL Authorization (Authorizes client access to the URLs that comprise a Web application), Request Filtering (configures rules to block selected client requests) and IP Security (allows or denies content access based on IP address or domain name) support.
  • mod_tracing - installs support for tracing ASP.NET applications and failed requests.

Note: Not every possible IIS module has a corresponding recipe. The foregoing recipes are included for convenience, but users may also place additional IIS modules that are installable as Windows features into the node['iis']['components'] array.

Alternative Cookbooks

License and Author

Copyright 2011-2016, Chef Software, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

windows >= 4.1.0

Contingent cookbooks

asp_core Applicable Versions
certificate_services Applicable Versions
iis-lb Applicable Versions
iis-packages-server Applicable Versions
iis_urlrewrite Applicable Versions
nopcommerce Applicable Versions
php Applicable Versions
proget Applicable Versions
sitecore Applicable Versions
tfs Applicable Versions
tfs 1.20160723.8
tfs 1.20160723.9
tfs 1.20160723.10
tfs 1.20160723.11
tfs 1.20160724.1
tfs 1.20160731.1
tfs 1.20160801.1
tfs 1.20160802.1
tfs 1.20160824.1
tfs 1.20160825.1
tfs 1.20160825.2
tfs 1.20160826.1
tfs 1.20160826.2
tfs 1.20160826.3
tfs 1.20160826.4
tfs 1.20160826.5
tfs 1.20160826.6
tfs 1.20160826.7
tfs 1.20160826.8
tfs 1.20160826.9
tfs 1.20160826.10
tfs 1.20160827.1
tfs 1.20160828.1
tfs 1.20160828.2
tfs 1.20160828.3
tfs 1.20160828.4
tfs 1.20160828.5
tfs 1.20160828.6
tfs 1.20160828.7
tfs 1.20160828.8
tfs 1.20160830.1
tfs 1.20160830.2
tfs 1.20160831.1
tfs 1.20160831.2
tfs 1.20160831.3
tfs 1.20160831.4
tfs 1.20160831.5
tfs 1.20160831.6
tfs 1.20160831.7
tfs 1.20160831.8
tfs 1.20160831.9
tfs 1.20160831.10
tfs 1.20160831.11
tfs 1.20160903.1
tfs 1.20160903.2
tfs 1.20160903.3
tfs 1.20160903.4
tfs 1.20160903.5
tfs 1.20160903.6
tfs 1.20160903.7
tfs 1.20160903.8
tfs 1.20160904.1
tfs 1.20160904.2
tfs 1.20160904.3
tfs 1.20160904.4
tfs 1.20160904.5
tfs 1.20160904.6
tfs 1.20160904.7
tfs 1.20160904.8
tfs 1.20160907.1
tfs 1.20160910.1
tfs 1.20160910.2
tfs 1.20160911.1
tfs 1.20160920.1
tfs 1.20161023.1
tfs 1.20161023.2
tfs 1.20161103.1
tfs 1.20161103.2
tfs 1.20161104.1
tfs 1.20161106.1
tfs 1.20161112.2
tfs 1.20161112.3
tfs 1.20161113.1
tfs 1.20161118.1
tfs 1.20161118.2
tfs 1.20161120.1
tfs 1.20161120.2
tfs 1.20161122.1
tfs 1.20161122.2
tfs 1.20161122.3
tfs 1.20161122.4
tfs 1.20161123.1
tfs 1.20161123.2
tfs 1.20161123.3
tfs 1.20161123.4
tfs 1.20161123.5
tfs 1.20161123.6
tfs 1.20161123.7
tfs 1.20161123.8
tfs 1.20161123.9
tfs 1.20161123.10
tfs 1.20161124.1
tfs 1.20161126.1
tfs 1.20161126.2
tfs 1.20161126.3
tfs 1.20161127.1
tfs 1.20161127.2
tfs 1.20161127.3
tfs 1.20161130.1
tfs 1.20161130.2
tfs 1.20161201.1
tfs 1.20161202.1
tfs 1.20161202.2
tfs 1.20161202.3
tfs 1.20161202.4
tfs 1.20161203.1
tfs 1.20161203.2
tfs 1.20161203.3
tfs 1.20161204.1
tfs 1.20170204.3
tfs 1.20170205.1
tfs 1.20170224.1
tfs 1.20170224.2
tfs 1.20170304.1
tfs 1.20170304.2
tfs 1.20170304.3
tfs 1.20170305.1
tfs 1.20170313.1
tfs 1.20170313.2
tfs 1.20170314.1
tfs 1.20170314.2
tfs 1.20170314.3
tfs 1.20170314.4
tfs 1.20170314.5
tfs 1.20170315.1
tfs 1.20170315.2
tfs 1.20170321.1
tfs 1.20170321.2
tfs 1.20170321.3
tfs 1.20170324.1
tfs 1.20170324.2
tfs 1.20170325.1
tfs 1.20170325.2
tfs 1.20170325.3
tfs 1.20170327.1
tfs 1.20170327.2
tfs 1.20170327.3
tfs 1.20170408.1
tfs 1.20170409.1
tfs 1.20170409.2
tfs 1.20170409.3
tfs 1.20170409.4
tfs 1.20170409.5
tfs 1.20170409.6
tfs 1.20170409.7
tfs 1.20170411.1
tfs 1.20170422.1
tfs 1.20170423.1
tfs 1.20170423.2
tfs 1.20170517.1
tfs 1.20170527.1
tfs 1.20170527.2
tfs 1.20170527.3
tfs 1.20170527.4
tfs 1.20170527.5
tfs 1.20170527.6
webdeploy Applicable Versions
wordpress Applicable Versions
wsus-server Applicable Versions

iis Cookbook CHANGELOG

This file is used to list changes made in each version of the iis cookbook.

7.3.1 (2020-09-15)

  • Property of pool resource that uses a node attribute value now evaluated lazily - @dave-q
  • Cookstyle 6.15.3 Fixes - @xorimabot
  • Standardise files with files in chef-cookbooks/repo-management - @xorimabot

Unreleased

  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:114:5 convention: Style/RedundantAssignment
  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:121:1 convention: Layout/EmptyLinesAroundMethodBody
  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:122:1 convention: Layout/EmptyLines
  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:122:1 convention: Layout/EmptyLinesAroundMethodBody
  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:122:1 convention: Layout/TrailingWhitespace

7.3.0 (2020-03-06)

  • Cookstyle fixes - @tas50
  • extend config_property to support setting multiple values - @rlaveycal
  • Remove deprecated metadata - @tas50
  • Don't use node.normal in the specs - @tas50
  • Adds support for configuring environment variables on app pools on IIS 10+ - @jakauppila

7.2.0 (2019-01-02)

  • Add a new iis_manager resource to enable users to set permissions for remote management of IIS
  • Resolve a deprecation warning in config_property

7.1.1 (2018-10-25)

  • Fix password containing xml entities like & are set every run
  • Fix passwords with quotation marks do not get set correctly
  • Renamed the kitchen files and use non-private boxes

7.1.0 (2018-07-19)

  • iis_pool: Updated cmd to clear out username and password when changing to a different Identity Type
  • Added new config_property resource which uses powershell and is fully idempotent.

7.0.0 (2018-05-29)

Breaking Changes

  • Removed support for Windows 2008 R1 as this is no longer supported by Microsoft or Chef
  • We now require Chef 12.14 or later as we are specifying sensitive on password properties so these aren't sent to Chef Analytics or Automate
  • Removed ChefSpec matchers that are autogenerated by ChefSpec now
  • Increased the Windows cookbook requirement to version 4.1+ which fixed many bugs in feature installation and matches the code in Chef 14
  • All helper methods have been moved from Opscode::IIS to IISCookbook

Other Changes

  • Added a new resource to install IIS: iis_install. This makes writing your own resource driven cookbooks just a tiny bit easier
  • Added a name property :pool_name to the pool resource to allow you to use friendly resource names and avoid resource cloning
  • Added testing on Windows 2016
  • Removed unused new_value? and new_or_empty_value? helpers methods
  • Fixed a bug in iis_site that stopped site from being updated on port update
  • Fixed site resource defaulting the log_directory when not specified, thus no longer inheriting the server default
  • Removed checks for EOL platforms to speed up runs
  • Removed some Chef 11-isms from the readme
  • Added tests that installs and adds an HTTP Module (#410)
  • Resolved a new FC118 foodcritic warning
  • Fixed the installation of HTTP Tracing in the mod_tracing recipe
  • Updated .rubocop.yml file for the new Cookstyle in DK 3.0
  • Updated the maintainers list for the current maintainers

6.8.1 (2018-04-03)

  • Fixed site resource defaulting the log_directory when not specified, thus no longer inheriting the server default

6.8.0 (2017-10-18)

6.7.3 (2017-09-08)

  • Add better documentation for the options parameter (#383)
  • Resolve a Chef 14 deprecation warning

6.7.2 (2017-06-21)

  • Fix FTP issue with iis_site resource

6.7.1 (2017-06-09)

6.7.0 (2017-06-09)

6.6.0 (2017-06-01)

  • Convert iis_module to a custom resource

6.5.3 (2017-05-17)

  • Refactor iis_vdir name property to application_name
  • Resolves a bug in iis_vdir also adds more liberty in config

6.5.2 (2017-05-15)

6.5.1 (2017-05-12)

6.5.0 (2017-05-10)

6.4.1 (2017-05-05)

6.4.0 (2017-05-04)

  • Convert iis_section to a custom resource
  • Resolve issue with iis_pool

6.3.1 (2017-04-26)

6.3.0 (2017-04-24)

  • Convert iis_pool to a custom resource
  • Convert iis_vdir to a custom resource
  • Bug fix for log function change to Chef::Log

6.2.0 (2017-04-18)

  • Convert iis_site to a custom resource

6.1.0 (2017-04-14)

  • Convert iis_config to a custom resource

6.0.1 (2017-04-07)

  • Fix undefined method site_identifier with iis_app resource.

6.0.0 (2017-04-06)

  • Rewrite of iis_app resource to use custom resources.
  • Addition of testing for iis_app resource.

5.1.0 (2017-03-20)

  • Require at least windows 2.0 cookbook
  • Run integration testing in Appveyer
  • Switched testing to Inspec from pester/ServerSpec combo
  • Removed the empty iis_test cookbook

5.0.8 (2017-03-13)

5.0.7 (2017-03-07)

5.0.6 (2017-02-24)

5.0.5 (2016-11-21)

5.0.4 (2016-10-11)

  • fixed adding an app pool to a site - This fixes a bug where adding an app pool to a site causes an error. This was using the 'add app' where we are working with a site and the syntax is slightly different according to this documentation.

5.0.3 (2016-10-10)

  • Log event on recycle - This allows you to specify which events you want to log on recycle. This also changes this so that it defaults to the standard nothing, which means you will need to add this attribute if you are depending on it.

5.0.2 (2016-10-07)

5.0.1 (2016-09-21)

  • Fix mod_management to include dependencies (#293)

5.0.0 (2016-09-06)

  • Adding 2k12 version flag to the windows_feature resource (#291)
  • Testing updates
  • Avoid deprecation warnings in the specs
  • Require Chef 12+

4.2.0 (2016-08-09)

  • Feature pool recycle virtual memory (#288)

v4.1.10 (2016-06-29)

v4.1.9 (2016-06-26)

v4.1.8 (2016-04-15)

  • Fixed smp_processor_affinity_mask throwing deprecation warnings
  • Added additional chefspec tests
  • Updated testing dependencies to the latests
  • Disabled FC059 rule for now

v4.1.7 (2016-03-25)

v4.1.6 (2016-02-01)

v4.1.5 (2015-11-18)

  • Resolves issues with iis_root #222

v4.1.4 (2015-11-2)

  • Re-added functionality for iis_pool auto_start, this was a breaking change

v4.1.3 (2015-10-30)

  • Resolves Robucop issues
  • Bug Fix for #217

v4.1.2 (2015-10-21)

  • Bug fixes for application pool provider and site provider
  • Added the ability to detect the IIS Version, allowing for some properties to only exist for specific IIS versions
  • Fixed issue with Win32 being required on linux
  • Added support for mimeTypes and defaultDocuments on iis_sites
  • Added iis config set and clear abilities

v4.1.1 (2015-05-07)

  • Detects changes in the physical path of apps.
  • Adds support for gMSA identity.
  • Performing add on a site will now reconfigure it if necessary.
  • Lock and unlock commands on configuration sections now use -commit:apphost.
  • Fix issue where popeline_mode was ignored during configuration of a pool.

v4.1.0 (2015-03-04)

  • Removed iis_pool attribute 'set_profile_environment' incompatible with < IIS-8.
  • Added pester test framework.
  • Condensed and fixed change-log to show public releases only.
  • Fixed bug where bindings were being overwritten by :config.
  • Code-cleanup and cosmetic fixes.

v4.0.0 (2015-02-12)

  • #91 - bulk addition of new features

    • Virtual Directory Support (allows virtual directories to be added to both websites and to webapplications under sites).
    • section unlock and lock support (this is used to allow for the web.config of a site to define the authentication methods).
    • fixed issue with :add on pool provider not running all config (this was a known issue and is now resolved).
    • fixed issue with :config on all providers causing application pool recycles (every chef-client run).
    • moved to better method for XML checking of previous settings to detect changes (changed all check to use xml searching with appcmd instead of the previous method [none]).
  • Improved pool resource with many more apppool properties that can be set.

  • Fixed bug with default attribute inheritance.

  • New recipe to enable ASP.NET 4.5.

  • Skeleton serverspec+test-kitchen framework.

  • Added Berksfile, Gemfile and .kitchen.yml to assist developers.

  • Fixed issue [#107] function is_new_or_empty was returning reverse results.

  • Removed dependency on "chef-client", ">= 3.7.0".

  • Changed all files to UTF-8 file format.

  • Fixed issue with iis_pool not putting ApplicationPoolIdentity and username/password.

  • [#98] Fixed issues with bindings.

  • added backwards compatibility for chef-client < 12.x.x Chef::Util::PathHelper.

v2.1.6 (2014-11-12)

  • [#78] Adds new_resource.updated_by_last_action calls

v2.1.5 (2014-09-15)

  • [#68] Add win_friendly_path to all appcmd.exe /physicalPath arguments

v2.1.4 (2014-09-13)

  • [#72] Adds chefspec matchers
  • [#57] Fixes site_id not being updated on a :config action

v2.1.2 (2014-04-23)

  • [COOK-4559] Remove invalid UTF-8 characters

v2.1.0 (2014-03-25)

[COOK-4426] - feature order correction for proper installation [COOK-4428] - Add IIS FTP Feature Installation

v2.0.4 (2014-03-18)

  • [COOK-4420] Corrected incorrect feature names for mod_security

v2.0.2 (2014-02-25)

  • [COOK-4108] - Add documentation for the 'bindings' attribute in 'iis_site' LWRP

v2.0.0 (2014-01-03)

Major version bump

v1.6.6

Adding extra windows platform checks to helper library

v1.6.4

Bug

  • COOK-4138 - iis cookbook won't load on non-Windows platforms

v1.6.2

Improvement

  • COOK-3634 - provide ability to set app pool managedRuntimeVersion to "No Managed Code"

v1.6.0

Improvement

  • COOK-3922 - refactor IIS cookbook to not require WebPI

v1.5.6

Improvement

  • COOK-3770 - Add Enabled Protocols to IIS App Recipe

v1.5.4

New Feature

v1.5.2

Bug

  • COOK-3232 - Allow iis_app resource :config action with a virtual path

v1.5.0

Improvement

  • [COOK-2370]: add MVC2, escape application_pool and add options for
  • recycling
  • [COOK-2694]: update iis documentation to show that Windows 2012 and
  • Windows 8 are supported

Bug

  • [COOK-2325]: load_current_resource does not load state of pool
  • correctly, always sets running to false
  • [COOK-2526]: Installing IIS after .NET framework will leave
  • installation in non-working state
  • [COOK-2596]: iis cookbook fails with indecipherable error if EULA
  • not accepted

v1.4.0

  • [COOK-2181] -Adding full module support to iis cookbook

v1.3.6

  • [COOK-2084] - Add support for additional options during site creation
  • [COOK-2152] - Add recipe for IIS6 metabase compatibility

v1.3.4

  • [COOK-2050] - IIS cookbook does not have returns resource defined

v1.3.2

  • [COOK-1251] - Fix LWRP "NotImplementedError"

v1.3.0

  • [COOK-1301] - Add a recycle action to the iis_pool resource
  • [COOK-1665] - app pool identity and new node[iis][component] attribute
  • [COOK-1666] - Recipe to remove default site and app pool
  • [COOK-1858] - Recipe misspelled

v1.2.0

  • [COOK-1061] - iis_site doesn't allow setting the pool
  • [COOK-1078] - handle advanced bindings
  • [COOK-1283] - typo on pool
  • [COOK-1284] - install iis application initialization
  • [COOK-1285] - allow multiple host_header, port and protocol
  • [COOK-1286] - allow directly setting which app pool on site creation
  • [COOK-1449] - iis pool regex returns true if similar site exists
  • [COOK-1647] - mod_ApplicationInitialization isn't RC

v1.1.0

  • [COOK-1012] - support adding apps
  • [COOK-1028] - support for config command
  • [COOK-1041] - fix removal in app pools
  • [COOK-835] - add app pool management
  • [COOK-950] - documentation correction for version of IIS/OS

v1.0.2

  • Ruby 1.9 compat fixes
  • ensure carriage returns are removed before applying regex

v1.0.0

  • [COOK-718] initial release

Collaborator Number Metric
            

7.3.1 passed this metric

Contributing File Metric
            

7.3.1 passed this metric

Foodcritic Metric
            

7.3.1 passed this metric

No Binaries Metric
            

7.3.1 passed this metric

Testing File Metric
            

7.3.1 passed this metric

Version Tag Metric
            

7.3.1 passed this metric