Directory Question

On my homelab I have been playing around with installs of different things to include SuiteCRM

I have an odd not pressing issue that I was thinking of some solutions for.

HTTP :/// takes me to /public folder of SuiteCRM. I have this installed on a Ubuntu server with Apache2 so it would be /var/www/html/ in where I unzipped everything. Then I went to 000-default.conf and swapped the default location over to /public folder (yes instead of creating a different config and having a2enmod load it).

I don’t want SuiteCRM as my root web directory. I want to create a hub site that I can load and it takes me my installs like NextCloud, OpenSupport, SuiteCRM etc.

If I unzip Suitecrm into a location like /var/www/html/crm/ then all the dependencies out side of /public folder are viewable. I remember with IIS that there is a setting to not allow for tree view of data where it will throw a 403 error? Is this common practice and achievable for Apache2 (haven’t had a second to google this I apologize).

OR

there are websites like phpmyadmin that are stored in /etc/ (CORRECTION) also in /usr/share/ and not in /var/www/html/ when you visit HTTP :///phpmyadmin it takes you to that site but isn’t stored in my web root? Is this achievable with SuiteCRM?

I think your questions are Web server configuration questions.

You just need to pay attention (for SuiteCRM v8) to enable the necessary Rewrites.

Note that the SuiteCRM 8 directory structure is meant to have a top-level that is not user-browseable, and then a sub-directory called public which is what the web server is supposed to serve.

For science I created a SuiteCRM instance in /usr/share/ I have changed the promissions to 775 for www-data on that folder and I was able to install the instance but when I login I get some pages but the others have the SuiteCRM top nav bar but a 500 error below it.

I have also tried loading the site in an incognito window so no cookies or cache was loaded. The issue seems to be modules in legacy that are not loading and the company logo in the default theme not wanting to load.

After moving my directory from /var/www/html to /usr/share I did not start with a fresh database so decided to give that a try. Just as an FYI for anyone trying to set up their own instance of this why I am doing it this way is being this hides the root repository of SuiteCRM and moves it out of the /www/ location.

Meaning that I am able to host the website at ipaddress/crm and it keeps my root web directory clean for anything else I want to add. I wanted to make myself a web portal with pictures and links to SuiteCRM, NextCloud, etc.

I made a new location under /usr/share/suitecrm and did the following two commands after unzipping SuiteCRM8 into that location.

sudo chown -R www-data:www-data /usr/share/suitecrm
sudo chmod 775 . (I did move to cd /usr/share/suitecrm first)

after this, I created a conf-available under /etc/apache2/conf-available

sudo nano /etc/apache2/conf-available/suitecrm.conf

The file looks like:

SuiteCRM default Apache configuration

Alias /crm /usr/share/suitecrm/public

<Directory /usr/share/suitecrm/public>

DirectoryIndex index.php
AllowOverride All
Order Allow,Deny
Allow from All

</Directory>

sudo a2enconf suitecrm.conf
restart apache
sudo systemctl restart apache2

I was able to navigate to the website by doing ipaddress/crm

I HAD to make a new database if not something wasn’t connecting correctly causing a 500 error for part of the page as described above.