The 404 here suggests that you may not have your webserver configured to allow re-writes.
Debugging the problem
To make sure that the problem is indeed related with mod_rewrite
You can double check if this is a re-write problem by doing a request to: https://<your_host>/index.php/api/graphql . If you get an error message similar to the following and not a 404 it means its a problem with the rewrite.
Solution
Please check that you have mod_rewrite enabled in apache. Also check that your server is configured to allow re-writes for your page with a configuration similar to this:
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/project/public
<Directory /var/www/project/public>
AllowOverride All
Order Allow,Deny
Allow from All
</Directory>
Please also make sure that the site_url on /<your-crm>/public/legacy/config.php is correct. It should be pointing to your legacy path, something like: https://<your-host>/public/legacy
Note: Please note that if your vhost is not directly pointing to /<your-crm>/public and you have SuiteCRM installed on a sub-folder like https://<your-host>/suite-8/public you will need to add something like /suite-8/public/legacy to RewriteBase. And something like https://<your-host>/suite-8/public/legacy to site_url on config.php
Solution 2
Try re-installing. When running the ./bin/console suitecrm:app:install command, please make sure that the url provided points to your SuiteCRM 8 main path:
if you have your vhost pointing to /<your-crm-path>/public the site url should be something like https://yourhost/
if you have your vhost just pointing to /<your-crm-path>/ the site url should be something like https://yourhost/public. Note: Ideally you should not use this option, as only the files on public should publicly available.
In Step 4 of installation, Running the Command from public/legacy path, it throws error as it would not find the library, Even after running composer update in root folder several times.
-bash: ./vendor/bin/pscss: No such file or directory
Hello @clemente.raposo
Yes that was the issue, i was using --no-dev for install.
Moving forward in step 11 for ./bin/console suitecrm:app:install
i get Already installed. Stopping
Is that due to repo checkout ?
For Step 12, reset permission, those are still on <Root>/public/legacy folder ?
When running the install command, and for the moment, it does a very simple check to try to understand if the system was already configured. It checks for the .env.local file. (we are going to improve this soon).
So your are getting the above message probably because of a previous attempt to run the install. Just remove the .env.local / .env.local.php and try again. Also, please make sure you have a clean db, before running the install, as the install adds the needed tables.
Please run them on the Suite 8 root folder (not on public/legacy) , to make sure everything gets the right permissions.
Please let me know if you still have issues after trying the above.
Is there any install log for the process?
I am using socket on my Localhost MAMP installation, which might be an issue since the Suite App Install only asks for username/password and the URL.
yes that is a good point, regarding the socket, which kind of configuration do you usually use when setting up Suite 7?
Regarding the log. Please check on public/legacy/suitecrm.log.
The install command after adding the Suite 8 side configuration, calls the silent install on legacy. Legacy is handling the bulk of the install process and it should log to suitecrm.log, if I’m not mistaken.
Welcome to the community and thank you for trying out Suite 8.
Also, sorry for the delay in replying, we are on a quite busy period at the moment.
Regarding the above question, Suite 8, at the moment still relies on Suite 7 for many things.
More details
just a bit of context:
For several reasons among them backwards compatibility reasons, Suite 8 still relies for a good part of the backend on the Suite 7. Suite 8 “contains” an Suite7 within it on the public/legacy folder and it uses a concept called “Legacy Handlers” to call suite 7 for whatever it needs.
Though the only place I see we are using the mysql_connect is in public/legacy/include/database/MysqlManager.php. Though preferably we should be using MysqliManager instead.
Do you have mysqli php module installed?
More details
The code on legacy is doing the following: public/legacy/include/database/DBManagerFactory.php
if (empty($config['db_manager'])) {
// standard types
switch ($type) {
case "mysql":
if (empty($sugar_config['mysqli_disabled']) && function_exists('mysqli_connect')) {
$my_db_manager = 'MysqliManager';
} else {
$my_db_manager = "MysqlManager";
}
break;