Difference between revisions of "Retain Exchange Install"
(→Preparing the Retain Server) |
(→DNS Server Prerequisites) |
||
(90 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
=How to Setup Retain with Exchange 2013= | =How to Setup Retain with Exchange 2013= | ||
+ | |||
+ | Now that you have set up [[Exchange 2013]] | ||
Exchange and Retain out of the box are not really set up to do true archiving. Exchange does not have a simple system to indicate that a message has been archived or not. So we need to do a few things to give Retain a chance to archive all the messages. | Exchange and Retain out of the box are not really set up to do true archiving. Exchange does not have a simple system to indicate that a message has been archived or not. So we need to do a few things to give Retain a chance to archive all the messages. | ||
+ | While Retain will certainly dredge Exchange for messages and Exchange will serve them. If a user receives a message, deletes it and then purges it from Recoverable Items, Retain will never see it for archiving. So in this case we would only get a snapshot backup of Exchange and not a true archive. | ||
− | |||
So we have to make sure that Exchange is set up so it will not allow messages to be permanently deleted before Retain has a chance to archive them. | So we have to make sure that Exchange is set up so it will not allow messages to be permanently deleted before Retain has a chance to archive them. | ||
Line 10: | Line 12: | ||
The CAS, AD, Exchange and Retain servers should all be pointing to the DNS server, if they must point to different DNS see link below. | The CAS, AD, Exchange and Retain servers should all be pointing to the DNS server, if they must point to different DNS see link below. | ||
− | |||
− | Creating a DNS SRV record for Exchange | + | Retain expects a URL along the lines of: |
− | http://support.gwava.com/kb/?View=entry&EntryID=2402 | + | <nowiki>http://autodiscover.<smtpdomain>/Autodiscover/Autodiscover.xml </nowiki> |
+ | Which can be found in the worker log as it attempts to login by searching for "Discovered endpoint:" or "AutoDiscover" | ||
+ | |||
+ | Relevant kb articles: | ||
+ | Creating a DNS SRV record for Exchange http://support.gwava.com/kb/?View=entry&EntryID=2402 | ||
+ | In simple terms: | ||
+ | #Go to the DNS Manager | ||
+ | #Expand Forward Lookup Zones | ||
+ | #Locate and right-click on the external DNS zone and choose Other New Records | ||
+ | #Click Service Location (SRV) and enter: | ||
+ | *Service: _autodiscover | ||
+ | *Protocol: _tcp | ||
+ | *Port Number: 443 | ||
+ | *Host: [your mail host, e.g. mail.gwava.net, usually the AD domain forest found in AD Domains and Trusts on the MS AD server] | ||
+ | *Click OK | ||
+ | |||
+ | * How to Make Exchange's Autodiscover Work When Retain and Exchange Point to Different DNS Servers http://support.gwava.com/kb/?View=entry&EntryID=2233 | ||
− | |||
==CAS Server Prerequisites== | ==CAS Server Prerequisites== | ||
+ | |||
+ | By going into Exchange Admin Center:Server/Virtual directories | ||
+ | Edit Autodiscover and EWS, select authentication and enable basic authentication, which will propagate to all CAS servers. | ||
+ | |||
+ | ===Verifying Basic Authentication is Enabled=== | ||
+ | Check that all CAS servers have successfully been updated. Bring up the Exchange Management Shell and run: | ||
+ | |||
+ | <code>Get-WebServicesVirtualDirectory | fl</code> | ||
+ | |||
+ | Make sure that you find the following line under each server: | ||
+ | <nowiki>BasicAuthentication : True</nowiki> | ||
+ | |||
+ | A simpler method which will only show the server name and the status of basicauthentication: | ||
+ | |||
+ | <code>Get-WebServicesVirtualDirectory | ft server,basicauthentication</code> | ||
+ | |||
+ | Relevant kb articles: | ||
+ | * Determining if Basic Authentication is enabled on your network http://support.gwava.com/kb/?View=entry&EntryID=2395 | ||
+ | |||
+ | ===Enabling Basic Authentication=== | ||
Go to IIS Manager on each of your CAS servers and enable Basic Authentication for EWS and Autodiscover | Go to IIS Manager on each of your CAS servers and enable Basic Authentication for EWS and Autodiscover | ||
Line 25: | Line 61: | ||
If you change the DNS make sure to run "ipconfig /flushdns" from the command line to update the new setting immediately. | If you change the DNS make sure to run "ipconfig /flushdns" from the command line to update the new setting immediately. | ||
− | Firewall/proxy exceptions: Retain needs to be able to connect to Exchange's EWS service. Make sure that your firewalls and proxies contain an exception to allow TCP traffic to and from the Retain server. | + | Firewall/proxy exceptions: Retain needs to be able to connect to Exchange's EWS service. Make sure that your firewalls and proxies contain an exception to allow TCP traffic to and from the Retain server. Retain uses the Global Catalog port (Microsoft default is 3268 for plain text and 3269 for SSL). |
EWS throttling: It is recommended to create a throttling policy specifically for Retain, which allows for large attachments. After creating the policy, you can use the following command to apply the policy to the impersonation account used by Retain. See "Retain and Exchange Server 2010 Throttling Policies" for more information. http://support.gwava.com/kb/?View=entry&EntryID=2343 | EWS throttling: It is recommended to create a throttling policy specifically for Retain, which allows for large attachments. After creating the policy, you can use the following command to apply the policy to the impersonation account used by Retain. See "Retain and Exchange Server 2010 Throttling Policies" for more information. http://support.gwava.com/kb/?View=entry&EntryID=2343 | ||
+ | |||
+ | Alternatively you can use an EMS script | ||
+ | |||
+ | For EWS, use the command: [https://technet.microsoft.com/en-us/library/aa998005(v=exchg.140).aspx] | ||
+ | [https://technet.microsoft.com/en-us/library/aa997233(v=exchg.140).aspx] | ||
+ | |||
+ | <code>Set-WebServicesVirtualDirectory -Identity <VirtualDirectoryIdParameter> [-BasicAuthentication <$true | $false>]</code> | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <code>Set-WebServicesVirtualDirectory -Identity "EWS (Default Web Site)" -BasicAuthentication $true</code> | ||
+ | |||
+ | For autodiscover, use the command: [https://technet.microsoft.com/en-us/library/aa997233(v=exchg.140).aspx] | ||
+ | [https://technet.microsoft.com/en-us/library/aa998601(v=exchg.140).aspx] | ||
+ | |||
+ | <code>Set-AutodiscoverVirtualDirectory -Identity <VirtualDirectoryIdParameter> [-BasicAuthentication <$true | $false>]</code> | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <code>Set-AutodiscoverVirtualDirectory -Identity 'autodiscover (Default Web Site)' -BasicAuthentication $true</code> | ||
+ | |||
Backup the IIS config file. http://technet.microsoft.com/en-us/library/cc754617(v=ws.10).aspx | Backup the IIS config file. http://technet.microsoft.com/en-us/library/cc754617(v=ws.10).aspx | ||
+ | |||
==Active Directory Prerequisites== | ==Active Directory Prerequisites== | ||
Log into your Active Directory server | Log into your Active Directory server | ||
Check that the DNS server is the one configured above. | Check that the DNS server is the one configured above. | ||
− | ===Multiple Domains (if applicable)=== | + | |
+ | ===Create Retain User Account=== | ||
+ | Go into Server Manager/Tools/Active Directory Users and Groups. | ||
+ | Create a user for Retain to log into Exchange with. Note the user logon name and password. | ||
+ | Go to the Account tab, then set in the Account Options: | ||
+ | * User cannot change password | ||
+ | * Password never expires | ||
+ | * Account expires never | ||
+ | |||
+ | ===Determining Global Catalog Host=== | ||
+ | Run the PowerShell command: | ||
+ | |||
+ | <code>Get-ADDomainController -Discover -Service "GlobalCatalog"</code> | ||
+ | |||
+ | ====Multiple Domains (if applicable)==== | ||
If you have multiple domains in your active directory tree or you have a different internal domain from your email domain you can change the LDAP login that your users use to log into Retain. | If you have multiple domains in your active directory tree or you have a different internal domain from your email domain you can change the LDAP login that your users use to log into Retain. | ||
In Active Directory Domains and Trusts: | In Active Directory Domains and Trusts: | ||
− | Right-click on the top container called "Active Directory Domains and Trusts" and select Properties | + | * Right-click on the top container called "Active Directory Domains and Trusts" and select Properties |
− | Here you can add Alternative UPN suffixes. | + | * Here you can add Alternative UPN suffixes. |
− | Click Apply, then OK. | + | * Click Apply, then OK. |
− | Then you can go into the Exchange Admin Center | + | Then you can go into the Exchange Admin Center: |
− | In Recipients/Mailboxes choose a user and edit them. | + | * In Recipients/Mailboxes choose a user and edit them. |
− | Here you can change the User logon name: and from the drop down choose the domain you want them to login with. | + | * Here you can change the User logon name: and from the drop down choose the domain you want them to login with. |
Finally you can attempt logging in as a user with that new domain into Retain. This will not create a new mailbox in Retain as the user is also identified by their GUID which is unique. | Finally you can attempt logging in as a user with that new domain into Retain. This will not create a new mailbox in Retain as the user is also identified by their GUID which is unique. | ||
Line 49: | Line 121: | ||
Look at the worker log to determine which autodiscover URL Exchange is returning to Retain. Make sure there is a record for the autodiscover server in the Exchange system. | Look at the worker log to determine which autodiscover URL Exchange is returning to Retain. Make sure there is a record for the autodiscover server in the Exchange system. | ||
The default port for autodiscover is 443. | The default port for autodiscover is 443. | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
==Exchange Prerequisites== | ==Exchange Prerequisites== | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
===Retain User Setup=== | ===Retain User Setup=== | ||
Browse to the Exchange Admin Center https://[yourExchangeServerURL]/ecp | Browse to the Exchange Admin Center https://[yourExchangeServerURL]/ecp | ||
− | Create a retain user account using the existing user you created in Active Directory and give it ImpersonationApplication rights. see | + | Create a retain user account using the existing user you created in Active Directory and give it ImpersonationApplication rights. see Appendix G of the Admin Guide (get pictures from EX13) |
===In-Place Holds=== | ===In-Place Holds=== | ||
− | To properly archive your Exchange system you will need to setup In-Place Holds so they cannot delete messages before they have had a chance to be archived by Retain. | + | To properly archive your Exchange system you will need to setup In-Place Holds so they cannot delete messages before they have had a chance to be archived by Retain. Since there is no flag that can be set to mark that a particular message has been archived, we are hoping everything works. A 90-day hold is a good amount of time to have a hold in place to catch any failures in the system and repair them. |
− | + | ||
− | + | ||
− | Since there is no flag that can be set to mark that a particular message has been archived, we are hoping everything works. A 90-day hold is a good amount of time to have a hold in place to catch any failures in the system and repair them. | + | |
− | ===IIS settings=== | + | Relevant kb articles: |
+ | * In-Place Holds http://technet.microsoft.com/en-us/library/ff637980%28v=exchg.150%29.aspx | ||
+ | * To set a hold on all mailboxes http://technet.microsoft.com/en-us/library/dn767952(v=exchg.150).aspx | ||
+ | |||
+ | ===IIS Throttling Policy settings=== | ||
Make sure that IIS on the Exchange server is throttled and configured appropriately for use with Retain. Attachment size limits are a common problem. The changes you'll want to consider making will be to the Exchange Web Services. | Make sure that IIS on the Exchange server is throttled and configured appropriately for use with Retain. Attachment size limits are a common problem. The changes you'll want to consider making will be to the Exchange Web Services. | ||
− | http://technet.microsoft.com/en-us/library/hh529949(v=exchg.150).aspx | + | * Open Exchange Management Console |
+ | |||
+ | Enter the following commands: | ||
+ | |||
+ | <code>New-ThrottlingPolicy RetainThrottlingPolicy</code> | ||
+ | |||
+ | This command is a single line, if you copy and paste you will need to remove spaces and returns: | ||
+ | |||
+ | <code>Set-ThrottlingPolicy RetainThrottlingPolicy -RCAMaxConcurrency Unlimited -EWSMaxConcurrency Unlimited -EWSMaxSubscriptions Unlimited -CPAMaxConcurrency Unlimited -EwsCutoffBalance Unlimited -EwsMaxBurst Unlimited -EwsRechargeRate Unlimited</code> | ||
+ | |||
+ | Then | ||
+ | |||
+ | <code>Set-Mailbox <ApplicationImpersonation_user_name> -ThrottlingPolicy RetainThrottlingPolicy</code> | ||
+ | |||
+ | Relevant kb articles: | ||
+ | * Configure client-specific message size limits http://technet.microsoft.com/en-us/library/hh529949(v=exchg.150).aspx | ||
+ | |||
+ | * Retain and Exchange Server 2013 Throttling Policies http://support.gwava.com/kb/?View=entry&EntryID=2343 | ||
+ | |||
+ | * Backup the IIS config file. http://technet.microsoft.com/en-us/library/cc754617(v=ws.10).aspx | ||
− | |||
==Prerequisites to Installing Retain== | ==Prerequisites to Installing Retain== | ||
===Preparing the Retain Server=== | ===Preparing the Retain Server=== | ||
− | Retain is quite comfortable running in a VM. It is recommended to use a VM because it is much easier to backup | + | Retain is quite comfortable running in a VM. It is recommended to use a VM because it is much easier to backup, restore and reconfigure the server. |
+ | |||
+ | *Install the OS. | ||
+ | *Install Acrobat Reader [https://get.adobe.com/reader/] | ||
+ | *Get Retain Windows Install Manual [http://support.gwava.com/wiki/index.php/Retain/2/Manual] | ||
+ | |||
+ | *Create 5 disks and make sure that they will be extensible: | ||
+ | ** OS: so the operating system is safe from disk full errors. | ||
+ | ** DATABASE: for the database | ||
+ | ** STORAGE: for the storage directory | ||
+ | ** INDEX: for the indexes, their backups | ||
+ | ** LOGS: for the logs of the system (This can be up to 30GB/day/worker during large migrations, usually it will be much lower) | ||
+ | |||
+ | *Create a directory off the root called /software. | ||
− | Install the | + | *Install Java 1.6 aka Java 6. [http://download.gwava.com/download.php?product=jvm6&version=win64] (Retain 3.5.1 asks to download/install) |
+ | **System/Change settings/Advanced/Environmental Variables (new system variable JAVA_HOME point to the installed directory c:\Program Files\Java\jdk1.6.0_38) | ||
− | + | *Install IIS by adding the role in Server Manager. | |
+ | **Add WebServer Role Services Application Development/ISAPI Extensions and ISAPI Filters | ||
+ | *Restart | ||
− | Install | + | ====MySQL==== |
− | http:// | + | # Install MySQL 5.5 [http://dev.mysql.com/downloads/mysql/], SQL Server 2008 R2, 2012, or 2014 preferably on a separate server with the following setting: |
− | Install | + | # Install as Typical, take defaults and allow to start MySQL Instance Configuration Wizard |
− | + | ## Detailed Configuration | |
− | + | ## Server Machine | |
+ | ## Transactional Database only | ||
+ | ## give it a storage path | ||
+ | ## Manual Setting (100) | ||
+ | ## Enable TCP/IP networking (port 3306) add firewall exception, Enable Strict mode | ||
+ | ## Best Support for Multilingualism | ||
+ | ## Install MySQL as a Service and select Include the Bin directory in the Windows PATH. | ||
+ | ## Enter root password | ||
+ | Create database and user | ||
+ | # Start the Command Line Client and login as root. | ||
+ | ## <code>CREATE DATABASE retain DEFAULT CHARACTER SET 'utf8' DEFAULT COLLATE 'utf8_bin';</code> | ||
+ | # add retain user to database | ||
+ | ## <code>GRANT ALL PRIVILEGES ON retain.* TO 'retain'@'%' IDENTIFIED BY 'password';</code> | ||
+ | ## <code>GRANT ALL PRIVILEGES ON retain.* TO 'retain'@'localhost' IDENTIFIED BY 'password';</code> | ||
− | + | ====MS SQL==== | |
− | + | # Install as default instance, with Unicode, UTF-8 or Latin 1_General_C1_AS as standard encoding. | |
− | # Install as default instance, with Latin 1_General_C1_AS as standard encoding. | + | |
# Enable SQL Server Authentication in addition to Windows Authentication | # Enable SQL Server Authentication in addition to Windows Authentication | ||
# Once installed, Verify server is listening on port 1433 (telnet [ip address]:1433) | # Once installed, Verify server is listening on port 1433 (telnet [ip address]:1433) | ||
Line 102: | Line 211: | ||
# Enable TCP/IP | # Enable TCP/IP | ||
# Run SQL Server Management Studio, connect to Server | # Run SQL Server Management Studio, connect to Server | ||
− | # Under Security/Logins, right click and select "create Login, (for example | + | # Under Security/Logins, right click and select "create Login, (for example retaindbuser) that uses SQL Server authentication. |
− | authentication. Assign a password. | + | # Assign a password. |
− | + | # Right click on Databases, and create a new database named retain and assign retaindbuser as the owner.(There are other ways to grant the permissions but this is easiest) | |
− | (There are other ways to grant the permissions but this is easiest) | + | |
− | Download and extract the latest version of Retain. | + | ====Retain==== |
− | http://download.gwava.com/download.php?product=Retain&version=versions | + | *Download and extract the latest version of Retain.[http://download.gwava.com/download.php?product=Retain&version=versions] |
− | + | ||
− | + | ||
You should have been emailed Validation Keys for Retain Server, Exchange module and any other modules you have bought. | You should have been emailed Validation Keys for Retain Server, Exchange module and any other modules you have bought. | ||
Browse to https://licenses.gwava.com/ to receive your license files. Save these to your Retain Server and back them up someplace safe. | Browse to https://licenses.gwava.com/ to receive your license files. Save these to your Retain Server and back them up someplace safe. | ||
− | =Install Retain= | + | =Install Retain 3.5.1= |
− | Launch the installer. | + | *Launch the installer. |
− | Install the Server, Worker and Reporting&Monitoring Server | + | *Install the Server, Worker and Reporting&Monitoring Server |
− | + | *Browse to http://localhost/RetainServer | |
+ | **Set the paths to the proper disks. | ||
+ | **Connect to the database. | ||
+ | **Load the licenses. | ||
− | + | *Set bookmark. | |
− | + | ||
− | + | ||
− | + | ||
− | Set bookmark. | + | |
=Post-Install Tasks= | =Post-Install Tasks= | ||
===Tune Tomcat Memory Setting=== | ===Tune Tomcat Memory Setting=== | ||
Windows Tomcat memory tuning: | Windows Tomcat memory tuning: | ||
− | + | #Go to the System Tray icon for Tomcat. | |
− | located in C:\Program Files\Apache Software Foundation\Tomcat\bin. Skip step 2. | + | #*If using the embedded Tomcat, launch tomcat.exe located in C:\Program Files\Apache Software Foundation\Tomcat\bin. Skip step 2. |
− | + | #Choose configure. | |
− | + | #Go to the Java tab. | |
− | + | #Set the Minimum Memory (always used), Maximum Memory, and Stack Size. | |
− | + | #*Tomcat is pre-tuned to 256MB initial and 1024MB max memory with a 160 stack size. For a typical 16GB system you will want to set Tomcat to 10240MB for initial and max memory size. | |
+ | #*Set 256kb for thread stack size. | ||
+ | |||
+ | ===Connect to the AD domain=== | ||
+ | move this to Exchange module | ||
+ | This assumes you have created an Exchange server to test against. If you are using a different email system to connect to you may ignore this section. | ||
+ | |||
+ | *Change the DNS to the one you created on your Exchange server | ||
+ | *Join the server to the domain created on your Exchange server | ||
+ | **In Server Manager click on Workgroup, which will take you to System Properties | ||
+ | **click on "Change" | ||
+ | **enter the domain under "Member of" | ||
+ | **Reboot | ||
+ | *Turn off domain firewall | ||
− | |||
− | |||
− | |||
===Setup Exchange Module=== | ===Setup Exchange Module=== | ||
Check that Core settings are enabled. | Check that Core settings are enabled. | ||
− | Set the Impersonation Account. (retain@company.com, password) | + | *Set the Impersonation Account. (retain@company.com, password) |
− | Set the Exchange forest: AD forest, 3268/plaintext || 3269/SSL | + | *Set the Exchange forest: (AD forest, 3268/plaintext || 3269/SSL) |
− | Create a Search Base: top level of their forest (dc=organizationDomain,dc=domainType). | + | *Create a Search Base: top level of their forest (dc=organizationDomain,dc=domainType). |
− | Save Changes. | + | *Save Changes. |
− | Refresh address book | + | *Refresh address book! |
+ | |||
===Setup Job=== | ===Setup Job=== | ||
Setup the Initial Dredge. | Setup the Initial Dredge. | ||
− | + | #Schedule | |
− | Create a SingleUse schedule. Used mainly for initial dredging and testing. | + | #* Create a SingleUse schedule. Used mainly for initial dredging and testing. |
− | A RecurringUse Schedule is for the daily archive dredge. | + | #* A RecurringUse Schedule is for the daily archive dredge. |
− | + | #* Note: Exchange runs daily maintenance tasks from 1-5am. | |
− | + | #Profile | |
− | Create a DredgeEverything Profile. All messages | + | #*Create a DredgeEverything Profile. |
− | + | #**All messages | |
− | A DailyProfile should be set to something more limited. | + | #**Set Item Store Flag |
− | + | #**Try to publish all messages | |
− | A TestProfile will be used for testing and generally would not have Item Store Flag set so messages are not lost, but would be if you are working on a single user that has issues. | + | #**Store/Index Internet headers, include archive mailbox and recoverable items |
− | + | #*A DailyProfile should be set to something more limited. | |
− | Create a worker for the mail server. The best practice is to have one worker for each mail server for best performance. | + | #** Ignore all messages older than item store flag (fast). |
− | + | #*A TestProfile will be used for testing and generally would not have Item Store Flag set so messages are not lost, but would be if you are working on a single user that has issues. | |
− | Create an InitialDredge Job. | + | #Worker |
− | + | #*Create a worker for the mail server. The best practice is to have one worker for each mail server for best performance. | |
− | This would apply for the DailyJob as well. This would be for each mail server. | + | #Job |
+ | #*Create an InitialDredge Job. | ||
+ | #*If possible select the AD container and not the mailserver, for better performance. Enter the Notification details. | ||
+ | #*This would apply for the DailyJob as well. This would be for each mail server. | ||
===Setup RetainWorker web console=== | ===Setup RetainWorker web console=== | ||
− | Log into worker console. (localhost/RetainWorker) | + | * Log into worker console. (localhost/RetainWorker) |
− | Upload bootstrap. | + | * Upload bootstrap. |
− | Set bookmark. | + | * Set bookmark. |
===Setup Reporting and Monitoring=== | ===Setup Reporting and Monitoring=== | ||
− | |||
− | |||
− | |||
− | |||
Monitoring shows stats about the server. | Monitoring shows stats about the server. | ||
Reporting can generate reports about many things in the system. | Reporting can generate reports about many things in the system. | ||
+ | |||
+ | * Have them enter details, then save and upload bootstrap. | ||
+ | * Log into R&M Server. (localhost/RetainStatsServer) | ||
+ | * Set bookmark. |
Latest revision as of 14:14, 3 August 2018
Contents |
[edit] How to Setup Retain with Exchange 2013
Now that you have set up Exchange 2013
Exchange and Retain out of the box are not really set up to do true archiving. Exchange does not have a simple system to indicate that a message has been archived or not. So we need to do a few things to give Retain a chance to archive all the messages.
While Retain will certainly dredge Exchange for messages and Exchange will serve them. If a user receives a message, deletes it and then purges it from Recoverable Items, Retain will never see it for archiving. So in this case we would only get a snapshot backup of Exchange and not a true archive.
So we have to make sure that Exchange is set up so it will not allow messages to be permanently deleted before Retain has a chance to archive them.
[edit] DNS Server Prerequisites
The CAS, AD, Exchange and Retain servers should all be pointing to the DNS server, if they must point to different DNS see link below.
Retain expects a URL along the lines of:
http://autodiscover.<smtpdomain>/Autodiscover/Autodiscover.xml
Which can be found in the worker log as it attempts to login by searching for "Discovered endpoint:" or "AutoDiscover"
Relevant kb articles: Creating a DNS SRV record for Exchange http://support.gwava.com/kb/?View=entry&EntryID=2402 In simple terms:
- Go to the DNS Manager
- Expand Forward Lookup Zones
- Locate and right-click on the external DNS zone and choose Other New Records
- Click Service Location (SRV) and enter:
- Service: _autodiscover
- Protocol: _tcp
- Port Number: 443
- Host: [your mail host, e.g. mail.gwava.net, usually the AD domain forest found in AD Domains and Trusts on the MS AD server]
- Click OK
- How to Make Exchange's Autodiscover Work When Retain and Exchange Point to Different DNS Servers http://support.gwava.com/kb/?View=entry&EntryID=2233
[edit] CAS Server Prerequisites
By going into Exchange Admin Center:Server/Virtual directories Edit Autodiscover and EWS, select authentication and enable basic authentication, which will propagate to all CAS servers.
[edit] Verifying Basic Authentication is Enabled
Check that all CAS servers have successfully been updated. Bring up the Exchange Management Shell and run:
Get-WebServicesVirtualDirectory | fl
Make sure that you find the following line under each server:
BasicAuthentication : True
A simpler method which will only show the server name and the status of basicauthentication:
Get-WebServicesVirtualDirectory | ft server,basicauthentication
Relevant kb articles:
- Determining if Basic Authentication is enabled on your network http://support.gwava.com/kb/?View=entry&EntryID=2395
[edit] Enabling Basic Authentication
Go to IIS Manager on each of your CAS servers and enable Basic Authentication for EWS and Autodiscover see page 229 in the Admin Guide (get pictures for EX2013) Backup the IIS config file. http://technet.microsoft.com/en-us/library/cc754617(v=ws.10).aspx
Check which DNS the CAS are pointing to. Command line “ipconfig /all” or right-click Start/Network Connections/Properties/Internet Protocol Version 4. If you change the DNS make sure to run "ipconfig /flushdns" from the command line to update the new setting immediately.
Firewall/proxy exceptions: Retain needs to be able to connect to Exchange's EWS service. Make sure that your firewalls and proxies contain an exception to allow TCP traffic to and from the Retain server. Retain uses the Global Catalog port (Microsoft default is 3268 for plain text and 3269 for SSL).
EWS throttling: It is recommended to create a throttling policy specifically for Retain, which allows for large attachments. After creating the policy, you can use the following command to apply the policy to the impersonation account used by Retain. See "Retain and Exchange Server 2010 Throttling Policies" for more information. http://support.gwava.com/kb/?View=entry&EntryID=2343
Alternatively you can use an EMS script
For EWS, use the command: [1] [2]
Set-WebServicesVirtualDirectory -Identity <VirtualDirectoryIdParameter> [-BasicAuthentication <$true | $false>]
Example:
Set-WebServicesVirtualDirectory -Identity "EWS (Default Web Site)" -BasicAuthentication $true
For autodiscover, use the command: [3] [4]
Set-AutodiscoverVirtualDirectory -Identity <VirtualDirectoryIdParameter> [-BasicAuthentication <$true | $false>]
Example:
Set-AutodiscoverVirtualDirectory -Identity 'autodiscover (Default Web Site)' -BasicAuthentication $true
Backup the IIS config file. http://technet.microsoft.com/en-us/library/cc754617(v=ws.10).aspx
[edit] Active Directory Prerequisites
Log into your Active Directory server Check that the DNS server is the one configured above.
[edit] Create Retain User Account
Go into Server Manager/Tools/Active Directory Users and Groups. Create a user for Retain to log into Exchange with. Note the user logon name and password. Go to the Account tab, then set in the Account Options:
- User cannot change password
- Password never expires
- Account expires never
[edit] Determining Global Catalog Host
Run the PowerShell command:
Get-ADDomainController -Discover -Service "GlobalCatalog"
[edit] Multiple Domains (if applicable)
If you have multiple domains in your active directory tree or you have a different internal domain from your email domain you can change the LDAP login that your users use to log into Retain.
In Active Directory Domains and Trusts:
- Right-click on the top container called "Active Directory Domains and Trusts" and select Properties
- Here you can add Alternative UPN suffixes.
- Click Apply, then OK.
Then you can go into the Exchange Admin Center:
- In Recipients/Mailboxes choose a user and edit them.
- Here you can change the User logon name: and from the drop down choose the domain you want them to login with.
Finally you can attempt logging in as a user with that new domain into Retain. This will not create a new mailbox in Retain as the user is also identified by their GUID which is unique.
Look at the worker log to determine which autodiscover URL Exchange is returning to Retain. Make sure there is a record for the autodiscover server in the Exchange system. The default port for autodiscover is 443.
[edit] Exchange Prerequisites
[edit] Retain User Setup
Browse to the Exchange Admin Center https://[yourExchangeServerURL]/ecp Create a retain user account using the existing user you created in Active Directory and give it ImpersonationApplication rights. see Appendix G of the Admin Guide (get pictures from EX13)
[edit] In-Place Holds
To properly archive your Exchange system you will need to setup In-Place Holds so they cannot delete messages before they have had a chance to be archived by Retain. Since there is no flag that can be set to mark that a particular message has been archived, we are hoping everything works. A 90-day hold is a good amount of time to have a hold in place to catch any failures in the system and repair them.
Relevant kb articles:
- In-Place Holds http://technet.microsoft.com/en-us/library/ff637980%28v=exchg.150%29.aspx
- To set a hold on all mailboxes http://technet.microsoft.com/en-us/library/dn767952(v=exchg.150).aspx
[edit] IIS Throttling Policy settings
Make sure that IIS on the Exchange server is throttled and configured appropriately for use with Retain. Attachment size limits are a common problem. The changes you'll want to consider making will be to the Exchange Web Services.
- Open Exchange Management Console
Enter the following commands:
New-ThrottlingPolicy RetainThrottlingPolicy
This command is a single line, if you copy and paste you will need to remove spaces and returns:
Set-ThrottlingPolicy RetainThrottlingPolicy -RCAMaxConcurrency Unlimited -EWSMaxConcurrency Unlimited -EWSMaxSubscriptions Unlimited -CPAMaxConcurrency Unlimited -EwsCutoffBalance Unlimited -EwsMaxBurst Unlimited -EwsRechargeRate Unlimited
Then
Set-Mailbox <ApplicationImpersonation_user_name> -ThrottlingPolicy RetainThrottlingPolicy
Relevant kb articles:
- Configure client-specific message size limits http://technet.microsoft.com/en-us/library/hh529949(v=exchg.150).aspx
- Retain and Exchange Server 2013 Throttling Policies http://support.gwava.com/kb/?View=entry&EntryID=2343
- Backup the IIS config file. http://technet.microsoft.com/en-us/library/cc754617(v=ws.10).aspx
[edit] Prerequisites to Installing Retain
[edit] Preparing the Retain Server
Retain is quite comfortable running in a VM. It is recommended to use a VM because it is much easier to backup, restore and reconfigure the server.
- Create 5 disks and make sure that they will be extensible:
- OS: so the operating system is safe from disk full errors.
- DATABASE: for the database
- STORAGE: for the storage directory
- INDEX: for the indexes, their backups
- LOGS: for the logs of the system (This can be up to 30GB/day/worker during large migrations, usually it will be much lower)
- Create a directory off the root called /software.
- Install Java 1.6 aka Java 6. [7] (Retain 3.5.1 asks to download/install)
- System/Change settings/Advanced/Environmental Variables (new system variable JAVA_HOME point to the installed directory c:\Program Files\Java\jdk1.6.0_38)
- Install IIS by adding the role in Server Manager.
- Add WebServer Role Services Application Development/ISAPI Extensions and ISAPI Filters
- Restart
[edit] MySQL
- Install MySQL 5.5 [8], SQL Server 2008 R2, 2012, or 2014 preferably on a separate server with the following setting:
- Install as Typical, take defaults and allow to start MySQL Instance Configuration Wizard
- Detailed Configuration
- Server Machine
- Transactional Database only
- give it a storage path
- Manual Setting (100)
- Enable TCP/IP networking (port 3306) add firewall exception, Enable Strict mode
- Best Support for Multilingualism
- Install MySQL as a Service and select Include the Bin directory in the Windows PATH.
- Enter root password
Create database and user
- Start the Command Line Client and login as root.
-
CREATE DATABASE retain DEFAULT CHARACTER SET 'utf8' DEFAULT COLLATE 'utf8_bin';
-
- add retain user to database
-
GRANT ALL PRIVILEGES ON retain.* TO 'retain'@'%' IDENTIFIED BY 'password';
-
GRANT ALL PRIVILEGES ON retain.* TO 'retain'@'localhost' IDENTIFIED BY 'password';
-
[edit] MS SQL
- Install as default instance, with Unicode, UTF-8 or Latin 1_General_C1_AS as standard encoding.
- Enable SQL Server Authentication in addition to Windows Authentication
- Once installed, Verify server is listening on port 1433 (telnet [ip address]:1433)
- Ensure TCP/IP is enabled - Run SQL Server Configuration Manager
- Expand SQL Server Network Configuration
- Protocols for MSSQLSERVER
- Enable TCP/IP
- Run SQL Server Management Studio, connect to Server
- Under Security/Logins, right click and select "create Login, (for example retaindbuser) that uses SQL Server authentication.
- Assign a password.
- Right click on Databases, and create a new database named retain and assign retaindbuser as the owner.(There are other ways to grant the permissions but this is easiest)
[edit] Retain
- Download and extract the latest version of Retain.[9]
You should have been emailed Validation Keys for Retain Server, Exchange module and any other modules you have bought. Browse to https://licenses.gwava.com/ to receive your license files. Save these to your Retain Server and back them up someplace safe.
[edit] Install Retain 3.5.1
- Launch the installer.
- Install the Server, Worker and Reporting&Monitoring Server
- Browse to http://localhost/RetainServer
- Set the paths to the proper disks.
- Connect to the database.
- Load the licenses.
- Set bookmark.
[edit] Post-Install Tasks
[edit] Tune Tomcat Memory Setting
Windows Tomcat memory tuning:
- Go to the System Tray icon for Tomcat.
- If using the embedded Tomcat, launch tomcat.exe located in C:\Program Files\Apache Software Foundation\Tomcat\bin. Skip step 2.
- Choose configure.
- Go to the Java tab.
- Set the Minimum Memory (always used), Maximum Memory, and Stack Size.
- Tomcat is pre-tuned to 256MB initial and 1024MB max memory with a 160 stack size. For a typical 16GB system you will want to set Tomcat to 10240MB for initial and max memory size.
- Set 256kb for thread stack size.
[edit] Connect to the AD domain
move this to Exchange module This assumes you have created an Exchange server to test against. If you are using a different email system to connect to you may ignore this section.
- Change the DNS to the one you created on your Exchange server
- Join the server to the domain created on your Exchange server
- In Server Manager click on Workgroup, which will take you to System Properties
- click on "Change"
- enter the domain under "Member of"
- Reboot
- Turn off domain firewall
[edit] Setup Exchange Module
Check that Core settings are enabled.
- Set the Impersonation Account. (retain@company.com, password)
- Set the Exchange forest: (AD forest, 3268/plaintext || 3269/SSL)
- Create a Search Base: top level of their forest (dc=organizationDomain,dc=domainType).
- Save Changes.
- Refresh address book!
[edit] Setup Job
Setup the Initial Dredge.
- Schedule
- Create a SingleUse schedule. Used mainly for initial dredging and testing.
- A RecurringUse Schedule is for the daily archive dredge.
- Note: Exchange runs daily maintenance tasks from 1-5am.
- Profile
- Create a DredgeEverything Profile.
- All messages
- Set Item Store Flag
- Try to publish all messages
- Store/Index Internet headers, include archive mailbox and recoverable items
- A DailyProfile should be set to something more limited.
- Ignore all messages older than item store flag (fast).
- A TestProfile will be used for testing and generally would not have Item Store Flag set so messages are not lost, but would be if you are working on a single user that has issues.
- Create a DredgeEverything Profile.
- Worker
- Create a worker for the mail server. The best practice is to have one worker for each mail server for best performance.
- Job
- Create an InitialDredge Job.
- If possible select the AD container and not the mailserver, for better performance. Enter the Notification details.
- This would apply for the DailyJob as well. This would be for each mail server.
[edit] Setup RetainWorker web console
- Log into worker console. (localhost/RetainWorker)
- Upload bootstrap.
- Set bookmark.
[edit] Setup Reporting and Monitoring
Monitoring shows stats about the server. Reporting can generate reports about many things in the system.
- Have them enter details, then save and upload bootstrap.
- Log into R&M Server. (localhost/RetainStatsServer)
- Set bookmark.