Some notes from looking into this on a base 2.4.7 install:
If your public_files_dir does not already have a writable “site” directory, the image upload will silently fail (with an message logged to your PHP error log).
Since you mention a broken image icon, I suspect this is not your issue. Rather, you may be experiencing a problem with your base_url configuration.
OJS is generally pretty forgiving with access from a URL that does not match the base_url setting (or settings), but the TinyMCE jbimages plugin will use the exact canonical url.
This will be a problem if your base_url is not actually web accessible, or in certain multisite/multijournal configurations. I have a fix for the multisite/multijournal configuration issue which I thought was being moved upstream, but apparently got lost. https://github.com/ulsdevteam/pkp-lib/commit/7a2f10ca43335e43f747a83ca1297d0737c7b67d
Howdy all, I think this is the closest existing thread…
Brand new fresh install of 3.1.1.4 with Apache pointing to the home directory of /xxxx/htdocs/ojs/(index.php)
Using OJS tools (like Site>upload logo; upload CSS) all is good.
But using TinyMCE to upload an image inside a text area, and TinyMCE creates a path to the image with:
/ojs/public…etc
In other words, TinyMCE thinks there should be an /ojs/ component at root, but this is not the case.
Question is: how can I give TinyMCE a specific path for the base_url without breaking the rest of the site config?