Puppet es un gran módulo para automatizar Windows de forma eficaz. Puede automatizar casi cualquier cosa, incluidas Chocolatey, Azure Virtual Machines y ACL del sistema de archivos.

Necesita definir una serie de reglas para su entorno de servidor. Cada 30 minutos, Puppet verifica que se hayan seguido las reglas y qué intentos se han hecho para realizar cambios no deseados. Este artículo le muestra cómo implementar IIS y ASP.NET usando el módulo Puppet. Ahora vamos a sumergirnos.

Implemente IIS y ASP.NET con el módulo Puppet

1. En primer lugar, debe definir una serie de reglas. Luego, debe aplicarlo al servidor de Windows. Puede hacer esto con los siguientes códigos:

class widemo::iis_enable {
    Include windemo::dotnet_enable
    Windowsfeature{'IIS_NET45':
        feature_name => [
            'Web-WebServer',
            'Web-Http-Errors',
            'Web-Http-Logging',
'Web-Asp-Net45',
'NET-Framework-45-ASPNET',
],
installmanagementtools => true, 
} ~>
# Remove default binding by removing default website
# (so it can be used by something else)
Iis::manage_site {'Default Web Site':
    ensure => absent,
site_path => 'any',
    app_pool => 'DefaultAppPool',
}
}

Aquí activa .NET Framework 4.5 con el módulo de funciones de Windows. También habilitan IIS, junto con los errores HTTP y el registro. Para eliminar el enlace predeterminado, elimine el sitio web predeterminado con el módulo IIS de voxopopuli.

2. Puppet le proporciona un informe sobre varios eventos y registros. Se parece a esto:

Implemente IIS y ASP.NET con el módulo Puppet

Aquí Puppet muestra que lograron configurar una aplicación básica ejecutando los comandos requeridos. También muestra que las herramientas de administración de IIS se instalaron correctamente. Se ejecutaron códigos de Powershell para eliminar el sitio web predeterminado.

3. Ahora necesita instalar SQL Server Compact Edition. Solo usa estos códigos:

classwindemo::sqlce {
    $installer = 'SSCERuntime_x64-ENU.exe'
    package { 'Microsoft SQL Server Compact 4.0 SP1 x64 ENU':
        ensure => '4.0.8876.1',
        provider => 'windows',
        # NOTE: would like to use this Puppet style, but must have file
        # source => "puppet:///modules/widemo/${installer}",
        source => "C:/vagrant/modules/windemo/files/${installer]",
        Install_options => [  '/1',  '/passive' ] # [ '/qn' ] #/l*v install
    }
}

4. A continuación, debe instalar una aplicación exclusiva, como Razor C, que utilizará el servidor SQL que acaba de instalar.

# == Class: mvcapp
#
# This class installs the razorC MVC application
#
classwindemo::mvcapp {
    $app_zip = 'razorC_v1.1.1.zip'
    $app_zip_path = "C: WindowsTemp${app_zip}"
    $app_pool - 'mvc'
    $app_location = 'C:inetpubwwwrootrazorC'
    file { "${app_zip_path}":
        ensure => file,
        source => "puppet:///modules/windemo/${app_zip}",
        source_permissions => ignore,
    } ~>
    iis::manage_app_pool {"$app_pool":
ensure => present,
enable_32_bit => true,
managed_runtime_version => 'v4.0',
managed_pipeline_mode => 'Integrated',
} ~>
#NOTE: IIS is very touchy around extra slashes
Iis::manage_site {'razorC':
ensure => present,
site_path => "${app_location},
port => '80',
Ip_address => '*',

Aquí le indica a Puppet que copie un archivo zip que contiene la distribución completa de la aplicación. También le ordenan que extraiga el archivo comprimido en c: inetpubwwwroot. Esta es la ruta estándar para las aplicaciones ASP.NET. Además, el grupo de aplicaciones se creó junto con un sitio asignado al puerto 80.

5. Ahora puede ver la aplicación ASP.NET implementada utilizando su navegador preferido. Se parece a esto:

Implemente IIS y ASP.NET con el módulo Puppet

Conclusión

En este artículo, aprendió cómo implementar IIS y ASP.NET usando el módulo Puppet. También aprendió a configurar Windows para ejecutar IIS. Finalmente, ha pasado por el proceso de instalación de una aplicación CMS. Esta es una de las cosas más fáciles de hacer con Puppet.

Hay muchas cosas que puede hacer con el módulo en el servidor de Windows. Mantente en contacto con nosotros para conocerlos.