Environment:
Windows Server 2022 (new install)
IIS 10
PHP 8.4 (FastCGI)
MySQL 8.0.45
Joomla 6.0.3 Full Package
NTFS permissions verified (IIS AppPool identity has Full Control on webroot)
Issue:
During web-based installation, fresh install on new OS, Joomla reports:
"Insufficient permission to create configuration.php. You can still continue the installation if you repair the permissions."
However:
PHP can successfully create files in the webroot (verified using file_put_contents test script).
NTFS ACLs confirm IIS AppPool\DefaultAppPool has (F) full control.
No Request Filtering rules block .php files.
No hidden segments configured.
No open_basedir restrictions.
web.config is standard. Tried various incarnations.
Database connectivity works correctly.
Observed Behavior:
Joomla Web installer refuses to proceed due to failed configuration.php creation check.
If configuration.php is manually created (empty), Joomla throws 500 error.
If configuration.php-dist is copied manually, installation partially proceeds but will not finalize properly (after progress bar completes).
CLI installation (individual multiline) fails at random, CLI goes haywire.
CLI installation (a single multi CLI entry - see below) (php installation/joomla.php install) works successfully and completes installation without issue.
Conclusion:
The web installer permission check for configuration.php appears to incorrectly detect write capability on IIS/Windows environments, despite valid NTFS permissions and confirmed PHP write capability.
Workaround:
Installation via CLI (single line only) completes successfully, i.e:
C:\PHP\php.exe installation\joomla.php install --site-name="FULLNAME" --admin-user="USER" --admin-username="USER" --admin-password="YOUR_PASS" --admin-email="you@example.com" --db-type="mysqli" --db-host="127.0.0.1" --db-user="joomla999_user" --db-pass="YOUR_DB_PASSWORD" --db-name="joomla999" --db-prefix="j123_" --db-encryption=0
I almost gave up until I tried the multi-line CLI method.......
UPDATE: Despite installing there seems to be some permissions issues lingering, i.e. saving global configuration changes. There still seems to be problems writing to configuration.php.
UPDATE2:
Issue Summary
Joomla 6 administrator could not save changes. The error reported was:
PHP Warning: file_put_contents(...configuration.php): Failed to open stream: Permission denied
Root Cause
The website was running under a hosting control panel–created isolated Windows user account, not the IIS Application Pool identity. File system permissions had been granted to the Application Pool identity, but not to the actual Windows user account executing PHP.
Because of this mismatch, PHP could read files but could not overwrite configuration.php. The function is_writable() returned false for both the directory and configuration.php.
Diagnosis
A PHP test script was used to execute whoami, which revealed the effective Windows identity being used by PHP. NTFS permissions were then checked and compared against that identity, revealing that the runtime user did not have write permissions.
Resolution
Modify NTFS permissions were granted to the actual runtime Windows user account on the website directory and its contents. After applying the correct permissions, is_writable() returned true and Joomla administrator save operations worked normally.
Preventative Note
When using Windows hosting control panels that create per-site Windows users, permissions must be granted to the actual runtime account used by PHP, not just the IIS Application Pool identity.
Ian.
| Labels |
Removed:
?
|
||
| Labels |
Added:
No Code Attached Yet
|
||
Hi @Ian-Johnston you, it seems or you AI solved it for you. I think that can be closed right?
| Status | New | ⇒ | Closed |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2026-03-03 10:35:42 |
| Closed_By | ⇒ | Ian-Johnston |
I doubt very much if anyone tests Joomla on IIS
It is extensively tested on Windows using Apache