Downloads:

29,449

Downloads of v 0.1.2:

2,632

Last Update:

17 Nov 2016

Package Maintainer(s):

Software Author(s):

  • Rob Reynolds

Tags:

nuget odata iis repository chocolatey

Chocolatey Server (Simple)

This is not the latest version of Chocolatey Server (Simple) available.

0.1.2 | Updated: 17 Nov 2016

Downloads:

29,449

Downloads of v 0.1.2:

2,632

Software Author(s):

  • Rob Reynolds

Chocolatey Server (Simple) 0.1.2

This is not the latest version of Chocolatey Server (Simple) available.

Some Checks Have Failed or Are Not Yet Complete

1 Test Failing and 1 Passing Test


Validation Testing Failed


Verification Testing Passed

Details

To install Chocolatey Server (Simple), run the following command from the command line or from PowerShell:

>

To upgrade Chocolatey Server (Simple), run the following command from the command line or from PowerShell:

>

To uninstall Chocolatey Server (Simple), run the following command from the command line or from PowerShell:

>

NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://chocolatey.org/api/v2. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Enter your internal repository url

(this should look similar to https://chocolatey.org/api/v2)

4. Choose your deployment method:


choco upgrade chocolatey.server -y --source="'STEP 3 URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade chocolatey.server -y --source="'STEP 3 URL'"
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Ensure chocolatey.server installed
  win_chocolatey:
    name: chocolatey.server
    state: present
    version: 0.1.2
    source: STEP 3 URL

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.

Coming early 2020! Central Managment Reporting available now! More information...


chocolatey_package 'chocolatey.server' do
  action    :install
  version  '0.1.2'
  source   'STEP 3 URL'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


Chocolatey::Ensure-Package
(
    Name: chocolatey.server,
    Version: 0.1.2,
    Source: STEP 3 URL
);

Requires Otter Chocolatey Extension. See docs at https://inedo.com/den/otter/chocolatey.


cChocoPackageInstaller chocolatey.server
{
   Name     = 'chocolatey.server'
   Ensure   = 'Present'
   Version  = '0.1.2'
   Source   = 'STEP 3 URL'
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'chocolatey.server':
  provider => 'chocolatey',
  ensure   => '0.1.2',
  source   => 'STEP 3 URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


salt '*' chocolatey.install chocolatey.server version="0.1.2" source="STEP 3 URL"

See docs at https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.chocolatey.html.

5. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package was approved by moderator gep13 on 17 Nov 2016.

Description

Chocolatey Server is a simple OData feed built on top of NuGet.Server.

Chocolatey Server builds on NuGet.Server with a few minor adjustments:

  • This is a packaged site, ready to deploy.
  • The apikey is already set.
  • There is more helpful information on the site when accessing locally:
    • There is a link to the Elmah logs
    • The api key is given on the page.
  • The location of packages defaults to a more secure location.

tools\chocolatey.server\App_Data\Packages\Readme.txt
To add packages to the feed put package files (.nupkg files) in this folder.
tools\chocolatey.server\bin\Elmah.dll
md5: 5F9FBA56E86C63D985C5108544EC5473 | sha1: 1C0452B49290CE5CC919CA18D76533B4C4267BDA | sha256: 24154C679DE6858BB53C03339FBBE275499280E7A6BC1F9E9586A72063EC6133 | sha512: 750344D705C99A18266F6C7CE21F38C4F42A1C25B9677FD7BB9009F7449CCE02F91033F9FF52AD9C1196C3B8053A42BFE1EB8DB61F755A20CECB3BEE33E7756F
tools\chocolatey.server\bin\Microsoft.Web.Infrastructure.dll
md5: 969D6CAF273394F064475292D549516E | sha1: 91F688C235388C8BCEE03FF20D0C8A90DBDD4E3E | sha256: FE18F4259C947C1FD6D74F1827370E72D7AD09AEFB4B720AF227333583E0169F | sha512: B4F6A614E5FC52850E3D02EBF7E85ABF1EBE3FB4EBD6B4F03EC9DC4989CCE88E44714CA2198DD7E632F5ED0F15225A68B31052DA33E5AC3CE48A1C91C3C04446
tools\chocolatey.server\bin\Microsoft.Web.XmlTransform.dll
md5: 6AD7D1E92C9833F4BDDE6A4BC84F2E1A | sha1: B38D23B6A960F5F07664565835137FE3C8FDB7ED | sha256: 13DCF5066E00152238191314D4A46605204FFABDBB830BDD0C97DF3027D1261D | sha512: 01C4ECC46576618394FBBEE701F5A726F97D31FB39D5F1C6305D21CA7AD0B0ABC09B69FB733C42D4D1203FCE78DD3F3D5129C21EA0BC9B92D0AB3A7BF09C006C
tools\chocolatey.server\bin\Ninject.dll
md5: E090F92DC731060146786220AF8A789E | sha1: 0C824A1F33A1B15D08D6A084CD20008340BFD66B | sha256: 833DE781870630530BAA1AC3D86B614923F19A2C8EFA28E27992BE95AB0D8FD9 | sha512: B894DD3A1EF719CAEC569E2BC5BECEA460E882D1893F278981832658A9B866EC04862FE01552F6DB8D68CBDB48CA41FECE727915D2DA8F6F192B48128FF5EEE0
tools\chocolatey.server\bin\NuGet.Core.dll
md5: 4F31C0446B134A09C81CA92AEC561C02 | sha1: 119D6A1586170A7A07826AFE52A507951DBBDDA3 | sha256: 26CF936D35F4C3B2519BB8DC169EB83CB889CA2057C0F3FA8F9D9FD13AD8F45C | sha512: 52C9B5E0358031537A16EC1DB87373AAC7821060482B56F0B0524FEF304F50B8F7D8C136DFA68927D541144E1403FFBAED7DFDCCE8BD18970D97919EC48275DB
tools\chocolatey.server\bin\NuGet.Server.dll
md5: FA1A0A2D6355B9148FCAAACE89F0F38F | sha1: 06ADCE1052073F44FD986DED74DF43355AE63F14 | sha256: 611CD76BB18BCECF2B78BA0094774AC97C2705A83648375533B0CCD9A968753B | sha512: A83C4A1E7E2202DF1684FA2E558B7D4C273D3392342F69CA36E90C3E8DB618D2E1EA98B7A2417F6BE45D470F48B5510BF9425D0EE2207BE956783F59AA0E2C00
tools\chocolatey.server\bin\RouteMagic.dll
md5: E1FF5F59A4721B3DD1DCCF881971C39E | sha1: A7D57795CF6548891A35F82AA4EFBD4A45722614 | sha256: 6E646D8751758596A9DFCC41DEF59E33460CB6AB517F3796ECBEF935A29EA723 | sha512: E5CDF30CBFC648AA5346AD76713B2CAEE49ED8C899AA1479921A80D4E1A1A5FC35C4CA3DFA98D441698E4D011B6CEC6CBED868C8E3596DAD0EC619A8AAB11C5D
tools\chocolatey.server\bin\SimpleChocolateyServer.dll
md5: 10063B115D41D442E6B77454D70E1540 | sha1: 7EE4AFCB17905579D54412DE52D316538C0840DB | sha256: 29E7C73CD1A5C35E2EF6E7909BA09129EEDA1AF940D36CF0C08BEE72C9AE154A | sha512: 376F43B6747D05ABB2B6084B0DC45A458AF925145051791EC8B1D67840DF0617C93CF7F1BA63FDFC3B2B81709DB2C6A45821A9ECEE0C828DA1BD49F5E4871A18
tools\chocolatey.server\bin\WebActivatorEx.dll
md5: 916E94AAF17B27760C8A0FC6F1516730 | sha1: 4BE79FEB2A84C0F0F715ECED1844B28442D5C7B1 | sha256: 169F8A911A7921AF0387588AEA98F939C23A5BF14CA6AA2E3CAD7FBC5DCC077F | sha512: 7474B55A1603D0BC1500C71CC155CFC8864B3880D1834C01BBB2EC4F56FE2FBC912FE7AE68F7E8FD97052BFFAF980F411F0F83BEA37CA50338B0AF937BCEA170
tools\chocolatey.server\Content\images\chocolatey.png
 
tools\chocolatey.server\Content\images\MarksUsePolicy.pdf
 
tools\chocolatey.server\DataServices\Packages.svc
 
tools\chocolatey.server\Default.aspx
 
tools\chocolatey.server\favicon.ico
 
tools\chocolatey.server\packages.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="elmah" version="1.2.2" targetFramework="net40" />
  <package id="elmah.corelibrary" version="1.2.2" targetFramework="net40" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net40" />
  <package id="Microsoft.Web.Xdt" version="2.1.1" targetFramework="net40" />
  <package id="Ninject" version="3.0.1.10" targetFramework="net40" />
  <package id="RouteMagic" version="1.2" targetFramework="net40" />
  <package id="WebActivatorEx" version="2.0.2" targetFramework="net40" />
</packages>
tools\chocolatey.server\Web.config
<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <configSections>
    <sectionGroup name="elmah">
      <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
      <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/>
      <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/>
      <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
    </sectionGroup>
  </configSections>
  <system.web>
    <compilation debug="false" targetFramework="4.0"/>
    <httpModules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
    </httpModules>
    <httpRuntime maxRequestLength="2147482548"/>
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="2147482548" />
      </requestFiltering>
    </security>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler"/>
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler"/>
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler"/>
    </modules>
    <staticContent>
      <mimeMap fileExtension=".nupkg" mimeType="application/zip"/>
    </staticContent>
  </system.webServer>
  <elmah>
    <!--
        See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for 
        more information on remote access and securing ELMAH.
    -->
    <security allowRemoteAccess="false"/>
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/Logs"/>
  </elmah>
  <location path="elmah.axd" inheritInChildApplications="false">
    <system.web>
      <httpHandlers>
        <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
      </httpHandlers>
      <!-- 
        See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for 
        more information on using ASP.NET authorization securing ELMAH.

      <authorization>
        <allow roles="admin" />
        <deny users="*" />  
      </authorization>
      -->
    </system.web>
    <system.webServer>
      <handlers>
        <add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode"/>
      </handlers>
    </system.webServer>
  </location>
  <appSettings>
    <!--
            Determines if an Api Key is required to push\delete packages from the server. 
    -->
    <add key="requireApiKey" value="true"/>
    <!-- 
            Set the value here to allow people to push/delete packages from the server.
            NOTE: This is a shared key (password) for all users.
    -->
    <add key="apiKey" value="chocolateyrocks"/>
    <!--
            Change the path to the packages folder. Default is ~/Packages.
            This can be a virtual or physical path.
        -->
    <add key="packagesPath" value="~/App_Data/Packages"/>
    <!--
            Set allowOverrideExistingPackageOnPush to false if attempts to upload a package that already exists
            (same id and same version) should fail.
    -->
    <add key="allowOverrideExistingPackageOnPush" value="false"/>
    <!--
            Set enableDelisting to true to enable delist instead of delete as a result of a "nuget delete" command.
            - delete: package is deleted from the repository's local filesystem.
            - delist: 
              - "nuget delete": the "hidden" file attribute of the corresponding nupkg on the repository local filesystem is turned on instead of deleting the file.
              - "nuget list" skips delisted packages, i.e. those that have the hidden attribute set on their nupkg.
              - "nuget install packageid -version version" command will succeed for both listed and delisted packages.
                 e.g. delisted packages can still be downloaded by clients that explicitly specify their version.
    -->
    <add key="enableDelisting" value="true"/>
    <!--
      Set enableFrameworkFiltering to true to enable filtering packages by their supported frameworks during search.
    -->
    <add key="enableFrameworkFiltering" value="false"/>
  </appSettings>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
  </system.serviceModel>
</configuration>
tools\chocolateyInstall.ps1
$packageName = 'chocolatey.server'

try { 
  $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
  $webToolsDir = Join-Path $toolsDir $packageName
  $installDir = Get-BinRoot
  $webInstallDir = Join-Path $installDir $packageName
  
  #Enable Web Services
  #cinst IIS-WebServerRole -source WindowsFeatures
  #cinst IIS-ISAPIFilter -source WindowsFeatures
  #cinst IIS-ISAPIExtensions -source WindowsFeatures
  
  # https://github.com/chocolatey/chocolatey/wiki/DevelopmentEnvironmentSetup
  # cinst ASPNET -source webpi
  # cinst ASPNET_REGIIS -source webpi
  # cinst DefaultDocument -source webpi
  # cinst DynamicContentCompression -source webpi
  # cinst HTTPRedirection -source webpi
  # cinst IIS7_ExtensionLessURLs -source webpi
  # cinst IISManagementConsole -source webpi
  # cinst ISAPIExtensions -source webpi
  # cinst ISAPIFilters -source webpi
  # cinst NETExtensibility -source webpi
  # cinst RequestFiltering -source webpi
  # cinst StaticContent -source webpi
  # cinst StaticContentCompression -source webpi
  # cinst UrlRewrite2 -source webpi

  # W3SVC should be running
  
  # http://msdn.microsoft.com/en-us/library/windows/desktop/ms724832.aspx
  $osVersion = [Environment]::OSVersion.Version
  if ($osVersion -ge [Version]'6.2') #8/2012+
  {
    #cinst IIS-NetFxExtensibility45 -source WindowsFeatures
    #cinst NetFx4Extended-ASPNET45 -source WindowsFeatures
    #cinst IIS-ASPNet45 -source WindowsFeatures
   
  } else { #Windows 7/2008 and below
    ."$env:windir\microsoft.net\framework\v4.0.30319\aspnet_regiis.exe" -i
  }
  
  #TODO: if exists, copy the App_Data folder somewhere else for a moment so stuff doesn't get deleted
  
  Copy-Item $webToolsDir $webInstallDir -recurse -force
 
 
  #Import-Module WebAdministration
  #Remove-WebSite -Name "Default Web Site" -ErrorAction SilentlyContinue
  #Remove-WebSite -Name "ChocolateyServer" -ErrorAction SilentlyContinue
  #New-WebSite -ID 1 -Name "ChocolateyServer" -Port 80 -PhysicalPath "$webInstallDir" -Force

  # $networkSvc = 'NT AUTHORITY\NETWORK SERVICE'
  # Write-Host "Setting folder permissions on `'$webInstallDir`' to 'Read' for user $networkSvc"
  # $acl = Get-Acl $webInstallDir
  # $acl.SetAccessRuleProtection($False, $True)
  # $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$networkSvc","Read", "ContainerInherit, ObjectInherit", "None", "Allow");
  # $acl.AddAccessRule($rule);
  # Set-Acl $webInstallDir $acl  
  
  # $webInstallAppDataDir = Join-Path $webInstallDir 'App_Data'
  # Write-Host "Setting folder permissions on `'$webInstallAppDataDir`' to 'Modify' for user $networkSvc"
  # $acl = Get-Acl $webInstallAppDataDir
  # $acl.SetAccessRuleProtection($False, $True)
  # $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$networkSvc","Modify", "ContainerInherit, ObjectInherit", "None", "Allow");
  # $acl.AddAccessRule($rule);
  # Set-Acl $webInstallAppDataDir $acl
  # 
  # Import-Module WebAdministration
  # $appPoolPath = "IIS:\AppPools\$projectName"
  # #$pool = new-object
  # Write-Warning "You can safely ignore the next error if it occurs related to getting an app pool that doesn't exist"
  # $pool = Get-Item $appPoolPath
  # if ($pool -eq $null) {
  #   Write-Host "Creating the app pool `'$appPoolPath`'"
  #   $pool = New-Item $appPoolPath 
  # }
  # 
  # $pool.processModel.identityType = "NetworkService" 
  # $pool | Set-Item
  # Set-itemproperty $appPoolPath -Name "managedRuntimeVersion" -Value "v4.0"
  # #Set-itemproperty $appPoolPath -Name "managedPipelineMode" -Value "Integrated"
  # Start-WebAppPool "$projectName"
  # Write-Host "Creating the site `'$projectName`' with appPool `'$projectName`'"
  # New-WebApplication "$projectName" -Site "Default Web Site" -PhysicalPath $srcDir -ApplicationPool "$projectName" -Force

  #Client SKUs need to enable firewall
  #netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80

  Write-ChocolateySuccess "$packageName"
} catch {
  Write-ChocolateyFailure "$packageName" "$($_.Exception.Message)"
  throw
}

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Version Downloads Last Updated Status
Chocolatey Server (Simple) 0.2.5-beta-20180418 351 Wednesday, April 18, 2018 Approved
Chocolatey Server (Simple) 0.2.4 2189 Monday, February 26, 2018 Approved
Chocolatey Server (Simple) 0.2.3 511 Sunday, February 11, 2018 Approved
Chocolatey Server (Simple) 0.2.2 771 Thursday, January 11, 2018 Approved
Chocolatey Server (Simple) 0.2.1 330 Monday, January 8, 2018 Approved
Chocolatey Server (Simple) 0.2.0 386 Thursday, January 4, 2018 Approved
Chocolatey Server (Simple) 0.1.4 346 Tuesday, January 2, 2018 Approved
Chocolatey Server (Simple) 0.1.3 1264 Friday, October 6, 2017 Approved
Chocolatey Server (Simple) 0.1.2 2632 Thursday, November 17, 2016 Approved

v0.1.2

  • Package size allows for 2GB
  • Uses same NuGet enhancements that Chocolatey uses.

v0.1.1

  • Small fix to not do anything with respect to making changes.
  • Cleaned up files

v0.1.0:

  • Initial Release
Discussion for the Chocolatey Server (Simple) Package

Ground Rules:

  • This discussion is only about Chocolatey Server (Simple) and the Chocolatey Server (Simple) package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Chocolatey Server (Simple), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus