I had it working in MinthHCM 3.x.
Login and logout URL: <domain>/auth/realms/master/protocol/saml
The X509 you can find on “Realm Settings” -> “SAML 2.0 Identity Provider Metadata”. Here you can find the URLS too.
Not only does it not create users (!), it also looks like that code for SAML has silently been removed in 4.0. https://github.com/minthcm/minthcm/issues/56#issuecomment-1876071865
Neither LDAP seems to be functional anymore – also removed from the frontend.
If that works again, I’ll share the Keycloak config – it’s quite standard, and there is enough help on suitecrm help-pages.
I found https://docs.suitecrm.com/admin/administration-panel/emails/oauth-provider-overview/ which seems to be hidden here: <domain>/#/modules/ExternalOAuthProvider/EditView?type=group
Does this still work?
I’ve managed to get it working, using the provided Dockerfile and docker-compose.yml instead of my own.
I noticed that a faulty install only shows 3 or 4 items, while a truly successful one shows like 10. So it’s easy to detect when it’s successful, and thus does not go back to the installation. This means that something goes wrong during step 3 or 4, and then skips the rest. What this step does, should give insights about what is failing.
It could be that everybody has different problems here. So please share how many steps were shown.
This line could be the problem?
`
ERROR: Cannot create writable dir cache/upload/import
`
Thanks, I’ve replied with full instructions how to use Docker with MintHCM 4.x, which used to work fine with 3.x
Thanks for this. I was AFK yesterday, so could not test earlier.
After a finished install, it goes back to install and hangs.
The .htaccess-file is unchanged.
From the 4 files listed before, only the first 2 exist after install:
☑ api/configs/mint/config_override.php
☑ api/app/Config/AppConfig.php
☐ legacy/config.php
☐ legacy/config_override.php
When I manually change the .htaccess, I get the same problems as before (“SuiteCRM is not installed” etc).
PS: ReCaptcha is REALLY, REALLY, REALLY, REALLY, REALLY irritating. I always check my text, and then I have to do the full exam(!!!!) again, if that takes too long. Can you please turn it off for registered users?
Ok. If you want me to test for robustness before release, let me know.
Installed in /var/www/html
, but a base as /html
gives an error 500
api/app/Config/AppConfig.php shows /api
. Correct?
legacy/config.php
and legacy/config_override.php
don’t exist
.htaccess
shows a few more lines here:
`
RewriteRule ^Api/(.*?)$ legacy/Api/$1 [R=301,L]
RewriteRule ^service/(.*?)$ legacy/service/$1 [L,QSA]
RewriteRule ^index.php$ legacy/index.php [L]
`
Maybe it would be good to have us test it before releasing?
Interesting findings. I already migrated to PHP 8.0, so I now hear that was a good choice. 🙂
In my Dockerfile I have:
# Bind Apache User with our User
RUN usermod –non-unique –uid 1000 www-data
RUN groupmod –non-unique –gid 1000 www-data
RUN chown -hR www-data:www-data /var/www/html
RUN chmod -R 755 /var/www/html
So theoretically it should work…
But it sounds like an access-rights problem. I’ve tried to chmod 777 it. And…. that failed too. Exactly the same problems 🙁
Abishek, it could be the same as I have. In my case it fails to load “legacy/.htaccess” and then keeps on loading. Main problem is a silent error during install, which causes errors due to a broken.
What do the logs state? Like the errors I get?
And do you use docker-compose or install directly on Linux?
I still have this problem. What could be the cause the file .htaccess
was created, but not written to?
Just clear the cookies and site data in your browser.
Tip for minthcm devs: version your cookie-data, so you can do this automatically.
Logs:
[Mon Nov 27 21:12:14.888743 2023] [php:warn] [pid 23] [client 172.19.0.4:55556] PHP Warning: file_get_contents(./legacy/.htaccess): Failed to open stream: No such file or directory in /var/www/html/legacy/MintCLI/src/Services/HtaccessService.php on line 13, referer:
[Mon Nov 27 21:13:07.006661 2023] [php:error] [pid 22] [client 172.19.0.4:46068] PHP Fatal error: Uncaught Exception: SuiteCRM is not installed. Entry point needs an installed SuiteCRM, please install first. in /var/www/html/legacy/include/entryPoint.php:63\nStack trace:\n#0 /var/www/html/api/index.php(50): require_once()\n#1 {main}\n thrown in /var/www/html/legacy/include/entryPoint.php on line 63, referer:
It was caused by a missing .htaccess, which was not mv’ed correctly.
Now a file .htaccess in legacy is 0 bytes, which triggers an error at the end of the installation.
Indeed, it cannot find https://<domain>/api/init. That triggered me, as this should be handled by Apache.
It was a stupid mistake: the hidden files were not moved and thus .htaccess
was missing… Normally “mv” ignores hidden files.
Now it gets stuck on the last part of the installation, when it states it should go to the login-page. It shows the rotating “loading” image while the address remains “/#/install”, and then nothing happens. If I manually go the root, then it shows the weird login-page again.
Error in the logs, at the end of the installation:
[Mon Nov 27 21:12:14.888743 2023] [php:warn] [pid 23] [client 172.19.0.4:55556] PHP Warning: file_get_contents(./legacy/.htaccess): Failed to open stream: No such file or directory in /var/www/html/legacy/MintCLI/src/Services/HtaccessService.php on line 13, referer: https://<domain>/
(…)
172.19.0.4 – – [27/Nov/2023:21:06:24 +0000] “GET / HTTP/1.1” 200 593 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:120.0) Gecko/20100101 Firefox/120.0”
[Mon Nov 27 21:06:24.452178 2023] [php:error] [pid 20] [client 172.19.0.4:37172] PHP Fatal error: Uncaught Exception: SuiteCRM is not installed. Entry point needs an installed SuiteCRM, please install first. in /var/www/html/legacy/include/entryPoint.php:63\nStack trace:\n#0 /var/www/html/api/index.php(50): require_once()\n#1 {main}\n thrown in /var/www/html/legacy/include/entryPoint.php on line 63, referer: https://<domain>/
I checked the zip-file and there is no .htaccess there. One was generated during install, but it’s 0 bytes.
-rw-r–r– 1 www-data www-data 0 Nov 27 21:12 .htaccess
To be able to experiment, I have no persistent directories set in Docker. So I’m sure it was clean at the start – it goes to the install-page after restarting the dockers. All files chmod’ed to 755:
/var/www/html# ls -lah
total 228K
drwxr-xr-x 1 www-data www-data 4.0K Nov 27 21:12 .
drwxr-xr-x 1 root root 4.0K Nov 21 14:01 ..
-rwxr-xr-x 1 www-data www-data 533 Nov 27 21:12 .htaccess
drwxr-xr-x 1 www-data www-data 4.0K Nov 17 15:16 .vscode
-rwxr-xr-x 1 www-data www-data 35K Nov 17 15:16 LICENSE
-rwxr-xr-x 1 www-data www-data 229 Nov 17 15:16 MintCLI
-rwxr-xr-x 1 www-data www-data 2.5K Nov 17 15:16 README.md
drwxr-xr-x 1 www-data www-data 4.0K Nov 17 15:16 api
drwxr-xr-x 1 www-data www-data 20K Nov 17 15:16 assets
-rwxr-xr-x 1 www-data www-data 54K Nov 27 21:12 bg.jpg
-rwxr-xr-x 1 www-data www-data 78 Nov 27 20:28 crontab
-rwxr-xr-x 1 www-data www-data 17K Nov 27 21:12 favicon.ico
-rwxr-xr-x 1 www-data www-data 422 Nov 27 21:12 index.html
drwxr-xr-x 1 www-data www-data 4.0K Nov 17 15:16 install
-rw-r–r– 1 www-data www-data 14K Nov 27 21:12 install.log
drwxr-xr-x 1 www-data www-data 4.0K Nov 17 15:16 kanban
drwxrwxrwx 1 www-data www-data 4.0K Nov 27 21:12 legacy
-rwxr-xr-x 1 www-data www-data 86 Nov 17 15:16 package-lock.json
drwxr-xr-x 1 www-data www-data 4.0K Nov 17 15:16 vue