Make a quick vote 🗳 ️How do you refer to SuiteCRM extensions: add-ons or plug-ins? Click here to have your say 👈

Clean OOTB Ubuntu 22.04 Virtualmin Environment with new Virtual server 8.1 Installation Help Needed


I have a new virtual server. Web server is working fine and shows the coming soon page. I have downloaded the 8.1 zip file extracted it to my webroot in a subdirectory called CRM.

So essentially it should be in https://mydomain/crm

I have checked the permissions 7455 and 644 and all seem fine. All are owned by my virtual server owner.

All I get is 403 forbidden.

Should I be copying the contents of the public directory into the root of the CRM folder? When I try that I get 500 error

What am I missing?

Ubuntu 22.04 Virtualmin 6.17

Eevrything else works for my new domain email etc.

Any help appreciated.

My Software versions are below:

No one interested in helping out a new potential customer of SuiteCRM?

ANY help is appreciated.



By default, you’ll need to redirect incoming traffic to the public directory of Suite8, this is to prevent your base directory from being accessible to the world (Security concern). As you have subdirectories you’d bump into issues where you’d be unable to access any other applications hosted on the same URL.

Untested by myself but to work around this you could try using a subdomain;

Check these docs to see where you’d want to place the code (or similar code at least) below - Config URL Re-writes

<VirtualHost *:80>
   ServerName <sub-domain>.<>

   DocumentRoot /<path-to-suite>/public
    <Directory /<path-to-suite>/public>
        AllowOverride All
        Order Allow,Deny
        Allow from All

<sub-domain> with your choice of subdomain: crm for example.
<> the domain you are using: for example
<path-to-suite> the path from the root to your public folder: /var/www/ for example

I might get a chance to replicate and confirm these instructions however for now I recommend fully investigating the above suggestions before implementing them :+1:

Thank you so much for this I will implement these virtualhost directives and report back. Virtualmin installs a very complete hosting environment. Normally stuff installs perfectly. Wordpress in 5 mins etc. Old version of SuiterCMS a few years ago installed fine on Virtualmin V HOst.


None of the above helped in any way.

I created a brand new virtual machine and unpacked the into the webroot.

I changed the document root to point at the /public directory

All I get is a message saying :slight_smile:

This page isn’t working

www.mydomain is currently unable to handle this request.


I am now stuck as to how to proceed and cannot get anything to work out of the box.

I am pretty sure ti should not be this difficult!

As always any help is appreciated.

This is what the log see’s. I have no idea where to start with this!

mod_fcgid: stderr: PHP Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\RuntimeException: Cannot autowire service “App\Install\Command\InstallExtensionAssets”: argument “$name” of method “__construct()” is type-hinted “string”, you should configure its value explicitly. in /home/mydomain/public_html/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php:54


Hey @sparticle,

Are you using the GitHub download/clone or via the SuiteCRM site?

Each has a different method of installation as one is prebuilt and the other is not. The main guides here are for the SuiteCRM site download which provides a production-ready setup. - Downloading & Installing :: SuiteCRM Documentation

Have you set ownership and permissions? - Permissions Guide
If you don’t change the doc route, can you see the default root folder?
Are you using Linux or Windows in the VM?
Are you running compatible PHP? - Compatibility Matrix :: SuiteCRM Documentation

The zip file came from here as per the install guide.

All I could find on github was suitcrm core. Which when I download then I get a zip called the repo seems to be 8.1 so the file name is a bit confusing. Is this the full installation? It is only 27.3 MB as opposed to 81MB for the file.

Anyway I deleted the previous download and tried the github version. It does not look like that is a full version as it seems to be looking for non existent directories like vendor.

See error thrown when trying to navigate to the homepage.

mod_fcgid: stderr: PHP Fatal error: Uncaught Error: Failed opening required ‘/home/mydomain/public_html/vendor/autoload.php’ (include_path=’.:/usr/share/php’) in /home/mydomain/public_html/config/bootstrap.php:35

We have or exceed all the required pre-requisite components. All permissions are set.

This is an Ubuntu 22.04 Virtualmin Host system with a new Virtual Host specifically for this crm implementation. PHP is 8.1

If I change the doc root back to the default public_html directory then the webserver serves the default under construction page from Virtualmin.

What other info can I provide to get this running?


Can anyone help us to get this off the ground? I have created a new clean virtual host and unzipped what seems to be the full 8.1 zip into the webroot.

Apache does seem to be trying to serve the content. This is the error I get:

PHP Fatal error:  Uncaught Symfony\\Component\\DependencyInjection\\Exception\\RuntimeException: Cannot autowire service "App\\Install\\Command\\InstallExtensionAssets": argument "$name" of method "__construct()" is type-hinted "string", you should configure its value explicitly. in /home/insitedigital/public_html/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php:54
[Wed May 18 12:08:33.307226 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: Stack trace:
[Wed May 18 12:08:33.307232 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: #0 /home/insitedigital/public_html/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php(82): Symfony\\Component\\DependencyInjection\\Compiler\\DefinitionErrorExceptionPass->processValue()
[Wed May 18 12:08:33.307237 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: #1 /home/insitedigital/public_html/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php(32): Symfony\\Component\\DependencyInjection\\Compiler\\AbstractRecursivePass->processValue()
[Wed May 18 12:08:33.307241 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: #2 /home/insitedigital/public_html/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php(47): Symfony\\Component\\DependencyInjection\\Compiler\\DefinitionErrorExceptionPass->processValue()
[Wed May 18 12:08:33.307246 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: #3 /home/insitedigital/public_html/vendor/symfony/dependency-injection/Compiler/Compiler.php(82): Symfony\\Component\\DependencyInjection\\Compiler\\AbstractRecursivePass->process()
[Wed May 18 12:08:33.307250 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: #4 /home/insitedigital/public_html/vendor/symfony/dependency-injection/ContainerBuilder.php(757): Symfony\\Component\\DependencyInjection\\Compiler\\Compiler->compile()
[Wed May 18 12:08:33.307254 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: #5 /home/insitedigital/public_html/vendor/symfony/http-kernel/Kernel.php(541): Symfony\\Component\\DependencyInjection\\ContainerBuilder->compile()
[Wed May 18 12:08:33.307259 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: #6 /home/insitedigital/public_html/core/backend/Kernel.php(124): Symfony\\Component\\HttpKernel\\Kernel->initializeContainer()
[Wed May 18 12:08:33.307263 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: #7 /home/insitedigital/public_html/public/index.php(34): App\\Kernel->getLegacyRoute()
[Wed May 18 12:08:33.307267 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr: #8 {main}
[Wed May 18 12:08:33.307271 2022] [fcgid:warn] [pid 796896] [client] mod_fcgid: stderr:   thrown in /home/insitedigital/public_html/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php on line 54

We have spent a few days on this already and it seems we are stuck at the very first hurdle! Is this s abug in the installer?

Any help appreciated.


If I were you, I would try it with PHP 7.4. If it makes a difference, then you know it’s a PHP 8.0 incompatibility. There a few of those left in the code and you might me hitting one. I think this is a quick, simple test to do and it might prove significant.

It might be quick and simple for you! I have no idea how to downgrade this host to use 7.4…

This is a Virtualmin virtualhost assigned to us for this project. There are many other virtualmin virtual hosts running on the same server all using apache PHP etc. They seem to work fine.


I don’t know Virtualmin, but it might be as simple as tweaking some “PHP options” on their control panel. And they’ll certainly have online articles explaining this, or even be able to do it for you via a support request…

OK we have got a lot further. So it does indeed seem to be an issue working with PHP8.1 The hosting team enabled php7.4 for the virtualhost and all required modules etc…

The installer page pops up as per the install guide. All looks ok and it goes through the motions of installing. It seems right at the end it pops up an error that is not readable on the site. Just an empty thin error popup.

There is an error in the logs as follows.

[core:error] End of script output before headers: index.php, referer: https://www.mydomain/

On refresh of the browser it shows the normal login box.

However the admin credentials I entered in the installer do not seem to have been set. As I cannot log in as Admin.

I did check the load demo data and can login as a normal user but only once. As soon as I log out of that user and try and log in again I get a message saying you have been logged out because your session expired. I cannot login again with that user or any other demo user.

I can workaround by refreshing the browser and then logging in again.

BUT I have no admin access as it seems the admin credentials were not set properly or the admin user not set properly.

Any suggestions as to how I can access the Admin account?


From MySQL console or phpMyAdmin you can do this

update users set user_hash = md5('myPassword') where user_name = 'admin';  

Avoid any special characters, use just alphanumerical ones to eliminate one possible cause of problems.

Your installation still seems a bit flaky to me. It’s not normal to have all these problems, so I think there is still some issue breaking SuiteCRM code. Likely ownerships, permissions, or htaccess or SELinux issues - stuff that keeps SuiteCRM from successfully finding the files it needs, or writing to the ones it needs to write.


We had a new Virtualhost provided on an Unbuntu 20.04 machine which has Virtualmin 7 and PHP7.4 as standard.

We can get it to install and this time the admin credentials are set correctly so we can get access. There are still errors showing up but I think they are bugs.

The installer (web based) still errors at the end with an unreadable red popup. But this time it seems it completes and sets the Admin credentials.

We cannot seem to find a way to alter the theme or customise it in any way. Is this as designed?