This document will detail the planning and installation procedures for Aeries and the Reporting Service.
Phase 1. Planning for adequate server resources
Phase 2. Preparing the server(s)
Phase 3. Installing Aeries and Reporting service
Phase 1. Planning for adequate server resources
Aeries Web Server Hardware Requirements**
Minimum*** | Recommended | Notes | |
Aeries IIS Server |
|
| |
Quantity | 1 | 2 | |
OS | Windows Server 2016 Standard*** | Windows Server 2022 Standard | |
Processors | 1 | 1 |
|
Cores (per processor) | 4 | 4 or more |
|
Min. Processor Speed | 2.4 GHz | 2.4 GHz or more |
|
Memory | 16 GB | 32 GB |
|
Hard Drives | 1 | 1 | Consider hard drive configuration – SSD or RAID 1, 5, or 10 |
Min. Free Disk Space | 40 GB | 100 GB |
|
Installed Software | IIS 8.0 | IIS 10.0 | Newer .NET Frameworks often support the functional level of Aeries. |
Aeries Reporting Server | |||
Quantity | 1 | 1 | |
OS | Windows Server 2016 Standard*** | Windows Server 2022 Standard |
|
Processors | 1 | 1 |
|
Cores (per processor) | 4 | 4 or more |
|
Min. Processor Speed | 2.4 GHz | 2.4 GHz or more |
|
Memory | 16 GB | 32 GB |
|
Hard Drives | 1 (Separate Volumes for OS and Data) | 2 or more (Separate Volumes for OS and Data) | Consider hard drive configuration – SSD or RAID 1, 5, or 10 |
Min. Free Disk Space | 300 GB | 500 GB |
|
Aeries will function on any device with a modern browser | |||
NOTE: Workstations or devices that have undesirable elements on them will adversely affect the performance and usability of any Web Application such as Aeries. Please remove viruses, malware, and browser plugins/extensions that cause issues. |
** Based on a school district with an enrollment of 10,000 students. More servers or greater resource for each server is likely needed for larger models. Aeries is optimized to present a low burden to SQL allowing small provisioning of cores for SQL and saving licensing costs.
*** Deploying older server operating systems is likely not the best approach if they will reach end-of-life sooner than newer ones.
Aeries Web Server Topology Examples
Small Shared Load
Larger Model
Larger student counts approaching 10,000 students or more
Load Balanced (session affinity)
Larger student counts approaching 10,000 students or more
Each server is symmetrical having all portal types
Load Balanced (session state cache)
Larger student counts approaching 10,000 students or more
Each server is symmetrical having all portal types
Multiple Reporting Servers
Larger student counts approaching 10,000 students or more
Each server may have Staff, Teacher, and Parent/Student
Virtual vs. Physical Machines
Even though virtualization is very flexible providing greater hardware independence, snapshots, and the ability to migrate from one host to another, be mindful of how many virtual machines are running on the host machine(s).
Checking the performance of your VM in Task Manager’s performance tab may not reveal why it behaves slower than expected.
If the VM performs slow while having no apparent load, the host that is running it may be oversubscribed. Check the host machine and if it has processors or memory nearly 100% committed, then that could be why the VM is slow. Consider hosting the VM on a less obligated host. If the host is not oversubscribed while the VM is still slow for no apparent reason, then check the I/O utilization of the pipeline connecting to the storage array where your virtual machine’s virtual drives are located. (Is the connection to your SAN full of traffic?)
Phase 2. Preparing the server(s)
NOTE: Add the Web Server Role (IIS) before applying windows updates so newer Microsoft .NET Frameworks will be properly associated with IIS. Otherwise, the use of ASPNET_REGIIS to uninstall and reinstall ASP.NET may be required.
Server Setup Tasks:
- Check and/or add server roles and services:
- Web Server
- ASP.NET
- .NET Extensibility
- Static Content Compression
- Dynamic Content Compression
- Check and/or add server features:
- Recent .NET Framework
- WCF Services (all sub features)
- Message Queuing
- HTTP Support (optional)
- Recent .NET Framework
NOTE: A separate Aeries Reporting server does not require IIS to perform the Aeries Reporting task, however, it does need a current .NET Framework. The server hosting the Aeries Reporting Service will need the RSWIDE39.TTF and Wingdings2.TTF fonts installed to produce barcodes and checkboxes on certain print jobs.
Minimally Microsoft .NET Framework 4.8 should be installed on older servers if not already present. You may install newer .NET frameworks as they come available
Phase 3. Installing Aeries and Reporting service
Use the following steps to install Aeries and the Reporting engine on your web server.
You’ll need to login and download the following files from our website at www.aeries.com:
AeriesNetUpdate.zip (Needed each time you perform an update)
AeriesReportingUpdate.zip (Needed each time you perform an update)
AeriesNetInstaller.msi
AeriesReporting_SQL.zip
AeriesReportingConfig.zip
AeriesNetConnections.zip
AppSettings.zip
Database Setup Tasks:
- Create a new database named “AeriesReporting”.
- Run the SQL script(s) found in the AeriesReporting_SQL.zip file that was downloaded from the website.
- Create an SQL login named “AeriesNetUser”. Set a secure password for the account.
- Map the new login to the AeriesReporting database with the role of db_owner.
- Map the new login to the current year (DSTxx000Suffix) database with the roles db_datareader, db_datawriter. Repeat for any past years' databases that need to be available in the Aeries Web Version
- Run the following SQL statement on the current year (and past years, if applicable) database:
- GRANT EXECUTE TO [AeriesNetUser]
- If you have no prior use of the Aeries Web version, run the following SQL statements on the current year database to create the initial Admin login to Aeries and create a District School.
- Replace someone@example.com with your actual email address
- After running the statements below, you can login to Aeries Web with the username of admin and the password of welcome
File System Tasks:
- Create the following directories. Can be installed on either the main system drive or other drives on the server.
- C:\Updates\Aeries\
- C:\AeriesReporting\
- C:\AeriesReporting\FileStore\
- C:\AeriesReporting\Service\
- C:\AppSettings\ OR x:\WebSettings\
- C:\inetpub\wwwroot\Aeries\ OR x:\WebRoots\
Unzip and place the previously downloaded file AeriesReportingConfig.zip to C:\AppSettings\
Configure as follows:
Reporting Database Connection
<ReportingDatabaseSettings>
<ServerName>Name or IP address of the SQL Server </ServerName>
<DatabaseName>AeriesReporting</DatabaseName>
<UserName>AeriesNetUser</UserName>
<Password>Password that was set for the AeriesNetUser SQL Login</Password>
</ReportingDatabaseSettings>
Salt For Greater Encryption of Database Names and Passwords (recommended)
This is an optional section that allows for increased security of database name and password storage within the reporting database. The Authentication Salt is required to be at least 4 characters long and it is recommended to be highly variable or randomly generated.
<SaltForEncryption>Authentication Salt</SaltForEncryption>
Message Queue Settings
<RecieveFromRemoteQueue> is only set to True when a central message queue is used
<MessageQueue>
<LocalMessageQueue>.\private$\AeriesReporting</LocalMessageQueue>
<RemoteMessageQueue>See Below*</RemoteMessageQueue>
<ReceiveFromRemoteQueue>False</ReceiveFromRemoteQueue>
</MessageQueue>
- *If the reporting service is on the same server: .\private$\AeriesReporting
- *If the reporting service is on a different server, choose an option below (the first option is recommended):
- FormatName:DIRECT=HTTP://#.#.#.#/msmq/private$\AeriesReporting
- Replace #.#.#.# with the IP address of the reporting server
- FormatName:DIRECT=OS:ServerName\private$\AeriesReporting
- Replace ServerName with the reporting server name
- FormatName:DIRECT=TCP:#.#.#.#\private$\AeriesReporting
- Replace #.#.#.# with the Machine Name or IP address of the reporting server
- FormatName:DIRECT=HTTP://#.#.#.#/msmq/private$\AeriesReporting
Threads
<ScheduledReportProcessingThreads> should be set to 0 on all but one reporting server.
<MessageProcessingThreads>30</MessageProcessingThreads>
<ScheduledReportProcessingThreads>30</ScheduledReportProcessingThreads>
<LongRunningProcessThreads>30</LongRunningProcessThreads>
SMTP Settings
<SMTPSettings>
<Port>The port used to send SMTP traffic. Default is 25</Port>
<Server>Name or IP address of the SMTP server</Server>
<AddressFrom>Email address used in the “From” field for reporting emails</AddressFrom>
<RequiresAuthentication>See Below*</RequiresAuthentication>
<UserName></UserName>
<Password></Password>
<Domain></Domain>
<UseSSL></UseSSL>
</SMTPSettings>
- *If the SMTP server requires authentication to send emails, set this value to True (case sensitive), if not, set it to False
- If the SMTP requires authentication, provide the remaining information, otherwise, leave blank:
<UserName>Authentication Email Username</UserName>
<Password>Authentication Email Password</Password>
<Domain>Only populate if there is a specific domain for the authentication email</Domain>
<UseSSL>Set to True if SMTP server requires a secure SSL/TLS connection</UseSSL>
FileStore
<FileStore>
<Path>Directory of the Reporting FileStore, C:\AeriesReporting\FileStore\ or a UNC</Path>
</FileStore>
Unzip and place the previously downloaded file AeriesNetConnections.zip to C:\AppSettings\
Configure as follows:
<DatabaseGroup id="Your District Name" Default="True">
<Year id="2019-2020" Default="True">
<Server><![CDATA[SQL Server Name or IP Address]]></Server>
<Database><![CDATA[DST19000DatabaseSuffix]]></Database>
<UserID><![CDATA[SQL Login Username Created for Aeries Web Version]]></UserID>
<Password><![CDATA[SQL Login Password for Aeries Web Version]]></Password>
</Year>
<Year id="2018-2019">
<Server><![CDATA[Same as above]]></Server>
<Database><![CDATA[DST18000Same as above]]></Database>
<UserID><![CDATA[Same as above]]></UserID>
<Password><![CDATA[Same as above]]></Password>
</Year>
</DatabaseGroup>
Copy each <Year> node for as many additional years as needed.
If you would like to establish access to other databases other than your regular year databases, i.e. “Training”, “Sandbox”, “Test”, you can create additional <DatabaseGroup> nodes.
For the primary database group only, add Default=“True” after the id=“Your District Name”
For the first year within EACH database group, add Default=”True” after the id=”20xx-20xx”
Create a file named AppSettings.config and place it in the C:\AppSettings\ directory. Copy and paste the information below
Configure as follows:
<?xml version="1.0" encoding="utf-8"?>
<AppSettings>
<SystemType>Admin*</SystemType>
<LimitToCurrentPortalType>True**</LimitToCurrentPortalType>
</AppSettings>
*SystemType can be set to Admin, Parent, or Teacher. To install Aeries, use “Admin”
**LimitToCurrentPortalType can be set to True or False. Set this node to “True” to only allow aeries users and admins access to login, restricting parent, student, and teacher type accounts.
Install the reporting service on the drive letter you wish. The highlighted C below could be D instead.
- Create InstallService.bat in C:\AeriesReporting\Service
@echo off
C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe C:\AeriesReporting\Service\AeriesReportSvc.exe
- Create UninstallService.bat in C:\AeriesReporting\Service
@echo off
C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /u C:\AeriesReporting\Service\AeriesReportSvc.exe
Configure and Run:
- Install the Aeries Installer – Set to always run as administrator
- Configure and run the installer
- Run InstallService.bat – Confirm the service has been installed. Start the service twice as there is an expectable error the first time. Change the Aeries Reporting Service’s login from 'System' to 'Network Service' (which has no password). Cycle the service again.
- Install the reporting service again using the stop/start buttons since it didn’t exist yet
- Change the “Aeries Reporting” event log size:
Event Viewer – Applications and Services Logs – AeriesReporting – Properties – Maximum log size (KB) = 20096 (larger than default)
IIS Setup:
- Create an AppPool for the new Aeries site. It must use .NET framework v4.0 - Integrated
- Select Advanced Settings on the new App Pool and change the identity configuration setting to “Network Service” or you may choose to use a domain account.
- Convert the Aeries website directory to an application.
- Create a virtual directory for the “AppSettings” folder under the Aeries directory.
- Browse to the page and confirm that it is up and running.
- Log in to Aeries Web Version with username “admin”, password “welcome”. Go to Security and customize the admin account for your use. You may now explore setting up your security if you have never done so. There is a separate document covering Aeries Web Security.
Performance Monitor and Aeries Security:
- Select the “Start” menu, Administrative Tools, Performance.
- Select “Add Counters”, “Performance Object”, “AeriesReporting”, and any of the available counters.
NOTE: The school access tab references the USR table. Users who also have school access limits in Aeries Client should have a different username in Aeries if you want differing school access between each system type.