i-doit on IIS
Tested with i-doit 38, Windows Server 2022, PHP 8.2, MariaDB 10.6
This guide describes the installation of i-doit on Internet Information Services (IIS) on Windows Server 2022. The installation runs fully automated via a PowerShell script.
Prerequisites#
- Windows Server 2022 (Standard or Datacenter)
- Administrator access
- Internet connection (approx. 150 MB download)
- At least 4 GB RAM, 2 CPU cores, 40 GB free disk space
Download the Installation Package#
The installation package contains all required scripts:
Download idoit-iis-installer.zip
Extract the package, for example to C:\install\. The folder structure afterwards:
1 2 3 4 5 | |
Start the Installation#
Double-click install.cmd. If no administrator privileges are present, a UAC prompt for elevation will appear automatically.
The script runs through 12 steps and displays the progress in the console:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
The installation takes 10 to 20 minutes depending on internet speed. At the end, all credentials are displayed.
What Gets Installed#
| Component | Version | Location |
|---|---|---|
| IIS | 10 (Windows Feature) | Operating system |
| Visual C++ 2019 Redistributable | current | System |
| PHP | 8.2 NTS | C:\PHP\ |
| MariaDB | 10.6 | C:\Program Files\MariaDB 10.6\ |
| i-doit | latest version | C:\inetpub\wwwroot\ |
Credentials After Installation#
Default credentials after installation
| Access | User | Password |
|---|---|---|
| i-doit | admin | admin |
Admin Center (/admin/) | admin | admin123 |
| MariaDB root | root | idoit_secure_password |
| MariaDB i-doit | idoit | idoit_secure_password |
Change passwords
The default passwords should be changed after installation. For production systems, adjust the parameters $DbRootPassword, $DbIdoitPassword, and $AdminCenterPassword at the beginning of install.ps1 and run the installation again.
First Steps After Installation#
After completion, i-doit is accessible at http://<server-IP>/.
Recommended order:
- Open Admin Center (
http://<server-IP>/admin/) and log in withadmin/admin123 - Import license under Licenses → enter license key and click Save & Check
- Open i-doit (
http://<server-IP>/) and log in withadmin/admin - Perform initial configuration (language, time zone, first objects)
PHP Configuration#
The PHP configuration is located at C:\PHP\php.ini. The following settings are applied by the script:
1 2 3 4 5 6 7 8 9 10 11 | |
The memory_limit can be increased to 512M if needed, e.g. for large reports or many objects.
Enabled PHP extensions: curl, fileinfo, gd, ldap, mbstring, mysqli, openssl, pdo_mysql, soap, sockets, zip, intl
MariaDB Configuration#
The MariaDB configuration is located at C:\Program Files\MariaDB 10.6\data\my.ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
The query cache was removed in MariaDB 10.6. The query_cache_* settings from older guides are no longer relevant.
IIS Configuration (web.config)#
i-doit requires a web.config in C:\inetpub\wwwroot\ for URL rewriting and Admin Center routing:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
The Admin Center must always be accessed with a trailing slash: http://<server-IP>/admin/. Without the slash, CSS files are not loaded correctly.
Managing Services#
After installation, two Windows services are running:
| Service | Management |
|---|---|
| W3SVC (IIS) | iisreset or Services Manager |
| MariaDB | net start MariaDB / net stop MariaDB |
Restart IIS:
1 | |
Troubleshooting#
Check Installation Log#
If errors occur, a detailed log is available at C:\install\logs\install_<date>.log.
Known Issues#
cURL SSL error during license check
1 | |
PHP on Windows does not have access to the Windows certificate store. The script automatically installs the Mozilla CA bundle file (cacert.pem) and adds it to php.ini. If the error still occurs, check manually:
1 | |
The line curl.cainfo = C:\PHP\cacert.pem must be present.
Admin Center shows no CSS (unstyled page)
The Admin Center was accessed without a trailing slash (/admin instead of /admin/). The browser then loads CSS relative to the wrong base. The correct URL is: http://<server-IP>/admin/
MariaDB does not start
Port 3306 might already be in use. Check:
1 | |
Further details in the Windows Event Log: Event Viewer -> Windows Logs -> Application -> Source MariaDB.
PHP pages are offered as download instead of being executed
The FastCGI handler was not registered correctly. Check:
1 | |
Next Step#
The installation is complete. Next, apply the recommended system settings for i-doit: