Setting up ASPNET IIS Classic
Install IIS with support for ASP.NET 4.0/4.5
- If you are using a SQLite database, copy
TCAdmin2\Monitor\sqlite3.dll
toC:\Windows\System32
. - Add
TCAWeb
to theIIS_IUSRS
group. - Manually create the website in IIS Manager with its web root pointing to
Program Files\TCAdmin2\ControlPanel
. The website's application pool should be ".NET v4.0 Classic". - In IIS Manager, select the website, click on "Bindings", then on "Connect as...". Enter the user and password of the Windows user that runs your website. Make sure the user that runs your website has full permissions on the
ControlPanel
,Cache
,Temp
,Logs
, andDatabase
folders, and read permissions onMonitor\Shared
. If you want to useTCAWeb
, attachTCAdmin2\Monitor\TCAWeb.config
to a support ticket, and they will send you the decrypted password. - If you use Let's Encrypt, bind the website to a specific IP and hostname. This prevents TCAdmin from changing the website's certificate.
- Give full permissions to
"IIS APPPOOL\.NET v4.5 Classic"
onC:\Program Files\TCAdmin2\Cache
,C:\Program Files\TCAdmin2\Temp
, andC:\Program Files\TCAdmin2\Logs\Web
.
Execute these commands on your database to disable the built-in web server
DELETE FROM tc_server_enabled_components WHERE module_id = '07405876-e8c2-4b24-a774-4ef57f596384' AND component_id = 2 AND server_id = 1;
If you ever need to enable the built-in web server again, execute this command
INSERT INTO tc_server_enabled_components (module_id, component_id, server_id) VALUES ('07405876-e8c2-4b24-a774-4ef57f596384', 2, 1);
Disable Output Caching
Some clients have reported users randomly being logged in as other users. This is caused by IIS cache. To fix this:
- Run IIS Manager.
- Select your website.
- Double click on "Output Caching".
- On the right side under "Actions", click on "Edit Feature Settings".
- Uncheck "Enable Cache" and "Enable kernel cache".
- Click OK.
Configuring your IIS website with more than 1 worker process
- Disable the built-in web server with the instructions above.
- Go to Start > Administrative Tools > Services. Start the ASP.NET state service and set the startup to "Automatic".
- Edit your
TCAdmin2\ControlPanel\Web.config
. - Replace
<sessionState timeout="30"/>
with<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="30" />
. - Open IIS Manager.
- Select the advanced properties of the
.NET Application
pool and increase the number of worker processes.