1

ウェブアプリ用に Amazon Elastic Beanstalk をセットアップしています。Visual Studio Express を使用する AWS ツールキットを使用できないため、Web 配置パッケージとして発行してから、zip ファイルを EB にアップロードする必要があります。私が遭遇している問題は、デプロイでのファイル/フォルダーのアクセス許可に関するものです。書き込み権限が必要なフォルダーがありますが、アプリをデプロイすると、すべてのフォルダーに読み取り専用権限が付与されます。この記事に従って、setAcl を使用してフォルダーのアクセス許可を設定する展開用の .targets ファイルを作成しました。ただし、アプリをデプロイすると、権限が表示されず、アプリが壊れます。以下は私の.targetsファイルにあるものです

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
<PropertyGroup>
<IncludeCustomACLs>TRUE</IncludeCustomACLs>

<AfterAddIisSettingAndFileContentsToSourceManifest Condition="$(AfterAddIisSettingAndFileContentsToSourceManifest)==''">
  $(AfterAddIisSettingAndFileContentsToSourceManifest);
  SetCustomACLs;
  </AfterAddIisSettingAndFileContentsToSourceManifest>
</PropertyGroup>

<Target Name="SetCustomACLs" Condition="'$(IncludeCustomACLs)'=='TRUE'">
<Message Text="Adding Custom ACls" />
<ItemGroup>      
  <MsDeploySourceManifest Include="setAcl"
                           Condition="$(IncludeSetAclProviderOnDestination)">
    <Path>$(_MSDeployDirPath_FullPath)\Includes\Site</Path>
    <setAclAccess>Read,Write,Modify</setAclAccess>
    <setAclResourceType>Directory</setAclResourceType>
    <AdditionalProviderSettings>setAclResourceType;setAclAccess</AdditionalProviderSettings>
  </MsDeploySourceManifest>

</ItemGroup>

作成された zip ファイルを調べて archive.xml ファイルを開くと、そこにアクセス許可の設定が表示されます。

<setAcl path="C:\Users\Peuge\Documents\Visual Studio 2012\Projects\ProjectName\ProjectWebstie\obj\Release\Package\PackageTmp\Includes\Site" MSDeploy.path="2" isDest="AA==" MSDeploy.isDest.Type="Microsoft.Web.Deployment.DeploymentObjectBooleanAttributeValue" setAclUser="" MSDeploy.setAclUser="1" setAclAccess="Modify" MSDeploy.setAclAccess="1" MSDeploy.MSDeployLinkName="Child4" MSDeploy.MSDeployKeyAttributeName="path" MSDeploy.MSDeployProviderOptions="H4sIAAAAAAAEAE2PwU4CMRCGF4Uq6gWfYB+AbIAVNCYcCFyIQVdAPNhLtztgoWw3nRbdp9dWBJ3DP3+mnX5/g0oQBF+ufPd1deLkbSK4VqiWJvqANMqgkKrcQm6a4QI0CpX3b6N21IpazXBopbEa+jlYo5lsholNpeAPUM7VBvJ+3E6X8V23x7K4dwNxt+ZJnT/AqwOMjoB/NtFqJzLQT4VxQKz6cMXv7JFtoVow817LnUOyY9ICViqE+Pjk1AuCGXBJ/N7n8J6+oEtOE7AroCPFrUcgXQi0TIYzYzOhwk6r3aGOuwbuzp6t4Bswh+6CojBAVbqmU5DAEGjC+Iatjn2+Leg459JmgHTmLtdrjl4nThre/YQ78x/ZhxtwDojk3E2u95MpoLKaw7wsoEEOK3UvE5WJZUku/IsjoV1EpcvLb2s9SavBAQAA" />

ローカルディレクトリを持つパスと関係があるかどうかはわかりませんか?

どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

0

これを行うもう 1 つのはるかに簡単な方法は、App_Data.ebextensions\install.config で AWS 構成を使用することです。

例えば

commands:
  set_iis_log_acl:
    command: icacls "C:\inetpub\logs\LogFiles\W3SVC1" /grant IIS_IUSRS:(OI)(CI)R
    ignoreErrors: true

詳細はこちらhttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-windows-ec2.html

于 2015-04-14T04:17:18.527 に答える