<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Common webfarm configuration questions</title><link>https://community.telligent.com/community/11/w/user-documentation/67612/common-webfarm-configuration-questions</link><description /><dc:language>en-US</dc:language><generator>14.0.0.586 14</generator><item><title>Common webfarm configuration questions</title><link>https://community.telligent.com/community/11/w/user-documentation/67612/common-webfarm-configuration-questions</link><pubDate>Wed, 09 Dec 2020 21:51:05 GMT</pubDate><guid isPermaLink="false">c64312e7-be4f-4e0e-98f0-d8f98f23b4b9</guid><dc:creator>Michael Kelley</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/67612/common-webfarm-configuration-questions#comments</comments><description>Current Revision posted to User Documentation by Michael Kelley on 12/09/2020 21:51:05&lt;br /&gt;
&lt;p id="how_should_i_store_user_contributed_media"&gt;[toc]&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color:#ffff00;"&gt;The CFS is configurable via a plugin. Is it&amp;nbsp;&lt;strong&gt;Cfs Scripted Content Fragment Extension (core_v2_cfs) in core functionality?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="how_should_i_store_user_contributed_media"&gt;&lt;a name="StoreMedia"&gt;&lt;/a&gt;How should I store user contributed media?&lt;/h3&gt;
&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: You should make any changes referenced in this section&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;before&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;you upgrade your Telligent Community Server site.&lt;/p&gt;
&lt;p&gt;Community Server makes use of a Centralized File Storage&amp;nbsp;(CFS) provider. CFS provides a great deal of flexibility to the [[http://telligent.com/community/developers/w/developer9/|developer]] or system administrator because it is relatively straightforward to configure Community Server to use any number of external file storage systems (Amazon&amp;#39;s S3, UNC path, etc.). Community Server supports the concept of an overriding configuration file, so rather than changing the default install you can create an overrides file -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;communityserver_override.config&lt;/span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is an example that overrides the CFS to use a UNC path:&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre class="brush: bash;fontsize: 100; first-line: 1; "&gt;&amp;lt;Override
     xpath=&amp;quot;/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Components.PostAttachments']&amp;quot;
     mode=&amp;quot;change&amp;quot;
     name=&amp;quot;basePath&amp;quot;
     value=&amp;quot;\\CSFiles&amp;quot;&amp;gt;
&amp;lt;/Override&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: The value for the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;xpath&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;element should be on one line. Also, to properly override CFS, you would need to provide an override value for all of the CFS entries (of which the above is one example).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In this configuration, at least one of the nodes is accessing a resource (files) on another system (the one that hosts the UNC share). The security implications of cross-machine resource requests can be complicated. You can configure security parameters for your application a number of ways and each operating system uses a different account to run the ASP.NET process. There is a&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa302377.aspx"&gt;great matrix&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;that shows you the various security contexts in which your resource request will leave the server.&lt;/p&gt;
&lt;p&gt;Because many of these options are environment-specific, we encourage you to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998351.aspx#paght000023_impersonatingafixedidentity" rel="noopener noreferrer" target="_blank"&gt;read&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;about the various configurations that allow for impersonation and delegation in Community Server or any ASP.NET application. If you are switching from local file share to remote file share, you need to move all of the files and folders to the remote file share. You also need to review the file permissions once they are moved to the remote file share to ensure they are still accessible.&lt;/p&gt;
&lt;p&gt;Understanding how the underlying ASP.NET security model works is critical to understanding how you must configure remote network file requests from within your application.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In the event centralized storage is undesirable, local storage on the Web nodes can be used. Available storage should be monitored closely. DFS can maintain file synchronization and should be monitored closely to ensure its health. To minimize the complexity of maintaining your communities Web nodes, the best practice is&amp;nbsp;to ensure the local paths are identical across all nodes.&lt;/p&gt;
&lt;h3 id="do_i_need_to_do_anything_with_the_authentication_authorization_roles_or_profile_settings"&gt;&lt;a name="security"&gt;&lt;/a&gt;Do I need to do anything with the authentication, authorization, roles or profile settings?&lt;/h3&gt;
&lt;p&gt;There are two keys to keeping authentication, authorization, roles and profile settings working correctly in a webfarm environment:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Cookie names: Ensure that cookie names set in the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;web.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file are the same on each node in the webfarm.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Machine keys: Ensure that the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;validationKey&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;decryptionKey&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;values are&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998288.aspx#paght000007_webfarmdeploymentconsiderations" rel="noopener noreferrer" target="_blank"&gt;the same&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;on all nodes in the webfarm.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="do_i_need_to_install_telligent_evolution_on_the_solr_server"&gt;&lt;a name="EnterpriseSearchSolr"&gt;&lt;/a&gt;Do I need to install Community Server on the Solr server?&lt;/h3&gt;
&lt;p&gt;No. Solr runs independently from Community Server.&lt;/p&gt;
&lt;h3 id="do_i_need_to_install_solr_on_all_web_servers_in_the_web_farm"&gt;&lt;a name="EnterpriseSearch"&gt;&lt;/a&gt;Do I need to install Solr on all web servers in the webfarm?&lt;/h3&gt;
&lt;p&gt;No. Solr only needs to be installed on one server. You can run Solr on a server that runs Community Server on a dedicated server. For Solr, if you have a large number of documents (&amp;gt; 1M documents) you should consider allocating a larger amount of RAM (2GB+) to Solr.&lt;/p&gt;
&lt;p&gt;All web servers in the webfarm should be configured to point to the Solr instance. Edit the host attribute for the the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;Solr&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;element of the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;communityserver_override.config&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file for all web servers. Example:&lt;/p&gt;
&lt;div class="code"&gt;
&lt;pre class="brush: bash;fontsize: 100; first-line: 1; "&gt;&amp;lt;Solr host=&amp;quot;http://[yourSolrHost]:8080/solr&amp;quot; simpleSearchQueryType=&amp;quot;dismax&amp;quot; enableFieldCollapsing=&amp;quot;true&amp;quot; enableHighlighting=&amp;quot;true&amp;quot;&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Important:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;The Solr instance should&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;not&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;be accessible by the public and ideally only accessible by your web servers (and admins as necessary).&lt;/p&gt;
&lt;h3 id="do_i_need_to_enable_the_search_indexing_tasks_on_all_web_servers_in_the_web_farm"&gt;&lt;a name="EnterpriseSearchIndexing"&gt;&lt;/a&gt;Do I need to enable the search indexing tasks on all web servers in the webfarm?&lt;/h3&gt;
&lt;p&gt;No.&amp;nbsp; Indexing should be done in one of two ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Select one web server to run the indexing tasks. The&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;SearchDeleteQueue&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:courier new,courier;"&gt;SearchIndex&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;tasks should be enabled on this server and removed from all other web servers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Run indexing using Job Service.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>