After beating my head over one issue after another with SuiteCRM 7.9.9, and I might add a serious look at SalesForce again, and for the first time, a very hard look at Microsoft Dynamics 365. I'll even admit in a moment of weakness, I gave some consideration to a homegrown solution, albeit the thought of never leaving my office for years for something that isn't likely to be "that much better" brought me back to reality quickly (well, after watching a few YouTube videos anyway.)
Notwithstanding the following, I do intend to investigate and likely co-develop an insurance-based CRM that focuses on the PC side of things (you life insurance people already have plenty of tools) that won't break the bank.
My next decision was to either go with a hosted solution or my own server. I've been wanting to move my hosting back in house where I think the advantages for my requirements actually favor in house. The reasons make sense, or at least in my mind they do. I have all or most of the hardware sitting here already. My office includes electricity, security is easier when less holes have to be punched through firewalls, and for VoIP, one less long hop to the server is avoided. Not having to pay a monthly hosting fee is nice, albeit that's largely overrated I think when factoring in additional time and redundancy requirements.
Even the install of SuiteCRM 7.8.10 didn't go smooth. Instructions are "there" in the literal sense, albeit it would be nice if they were "friendly" in the sense of making it easy, or at least remove the requirement of having two bottle of aspirin on hand before the undertaking of "anything" with SuiteCRM. Most of the following is cut & paste for my own future resources of having everything in one location (much like this category of SuiteCRM within an insurance, real estate, and its clients focused website is) so I don't have to read through volumes of forums in search of what will make a reinstall a smooth process.
As my testing server, I took a HP XW6200 that was gathering dust and turned it into an Ubuntu 16 Server. Let me apologize to the nerd honor guard in advance as I state that yes I installed a GUI on the Ubuntu server. yes, I know it will reduce the performance, albeit "who cares," when the box is A. a testing server for proof of concept, and more importantly, B. is oversized and a GUI will make my life easier. Every other server (thinking MS and others) has a GUI and for good reason. Hiring ubber-geeks to do stuff a GUI can do is time consuming and expensive. And that's even after I already have said "ubber supper-geek" on retainer.
Getting back to the project, I tried to load it on the SCSI controller onboard the dual one-of-the-first generation Xeon platform motherboards, albeit I couldn't make it fly. My second, actually,….my third choice because my second choice hard drive literally started to smoke after connecting it to a USB drive connector to see what was on it, and to transfer files before re-purposing it into the server. Turns out, buying cheap SATA transfer gear may not be smart. The problem was the hot wire was loose in the power supply to the drive and I think it fried it. $10 saved on buying "ebay-cheap" cost me a $50 drive and an hour searching for a new adapter that would work.
I had to pull a DVD drive out of another XW8200 (still need to put that back in) and then I ran into my next issue. The HP XW6200 (at least mine) has only two SATA ports, the rest are IDE. Since I was hoping to use an old (but ~$450 when I bought it new) Intel 32GB SSD (with a full 3GB transfer bus) for the MySQL, thinking that will greatly improve the performance, I had to install Ubuntu 16 first, and then the plan was to shut down, install the Intel SSD, and cross my fingers the system would "see" the drive. I've had problems getting some computers to see the drive and when I first bought it, I ended up having to do all sorts of black voodoo magic to the computer (this was back in 2009), to get it to work. The bios did see it, albeit I don't know how to move the MySQL to the "D" drive (or whatever in Linux is the "mount" sdb, sob, or something along those lines)
Once installed, I added LXDE as the GUI (I know, I know, albeit I'm glad I did it), and from there, I was able to EASILY download without typing long wgets etc….. and install SuiteCRM 7.8.10. point of note
CHANGE THE FIREFOX SETTINGS TO SAVE AS, so the file goes right where is should from the get go.
Unzipped it like a prom dress after the dance and I was off and running. Or wait, maybe not so fast
From there, I had to fix a buch of issues, requiring mutliple Chrome windows open, many searches on the SuiteCRM.com forum sites, several YouTube videos, and even a few githubs. Suggestion to SuiteCRM, if errors (and I'm guessing most of them are repeats with the same usual suspects showing up each time) maybe have solutions right there on the installation page, to avoid having to search for them.
I had permissions issues, memory size issues, and other fun things that were needed to be installed. I'm no Linux grand master (closer to a grasshopper), albeit why can't the install check for, and then add what's required (ask for permission if you like, albeit make it happen). Ok, yes, it's free software, and true, they would rather receive money for hosting, albeit I still come back to some no matter how easy will want to get hosting from SuiteCRM and the more of them that can at least try it out, the better for everyone with SuiteCRM.
I found the following page on the forum useful. Most of the issues installing where solved with the instructions:
https://suitecrm.com/forum/installation-upgrade-help/12000-installing-suitecrm-7-7-7-on-ubuntu-16-php-help-enviroment-hates-me
sudo apt-get install php-gd
sudo apt-get install php-curl
sudo apt-get install php-imap
phpenmod imap
sudo apt-get install php-xml
sudo apt-get install php7.0-mbstring
phpenmod mbstrings
sudo apt-get install php-zip
service apache2 restart
and for permissions
Set the following permissions on the SuiteCRM directory(Linux):
sudo chown -R www-data:www-data .
sudo chmod -R 755 .
sudo chmod -R 775 cache custom modules themes data upload config_override.php
and follow this guide too, it says for upgrade but you'll need it for the install process too
Upgrade prerequisites
Backup your current SuiteCRM directory and database before beginning the upgrade process.
Disable op-code caching before upgrading your SuiteCRM installation if op-code caching is enabled in the PHP configuration file. You can enable it after the upgrade process is complete.
Increase the default value of the parameters listed below before you begin the upgrade process if you are using Zend Core 2.0:
Navigate to C:\Program Files\Zend\Core\etc\fastcgi.conf and increase the default value for ConnectionTimeout to 3000 seconds and RequestTimeout to 6000 seconds.
Navigate to the php.ini file and increase the default value of max_execution_time to 6000 seconds.
Perform the following for the large size of the upgrade files:
Modify and save the value of Maximum upload size to 21000000 (20MB) in the Advanced section of the System Settings page of your current SuiteCRM installation.
Navigate to the php.ini file on your web server and configure the parameters listed below in the Advanced section of the System Settings page of your current SuiteCRM installation:
Set post_max_size to at least 60MB
Set upload_max_filesize settings to at least 60MB
Set max_input_time to a large number
Set memory_limit to 256MB
Restart the web server and begin the upgrade process.
These guide are located in suitecrm.com/wiki/index.php/Installation
NOTES ABOUT THE MySQL:
You do NOT have to setup the database ahead of time. Those of you who are used to getting the MySQL database ready for WordPress will be happy to know SuiteCRM actually does this for you. In the setup, it asks for the Admin (root) and the password for MySQL root user so it can setup the DB for you. That's great if you know it's going to do this, albeit, I of course setup the DB ahead of time and wondered why i couldn't make it to the next setup page.
For the MySQL web address, "localhost" was the correct answer in my case (again building a homegrown server). The same was true for the hosting too. That tripped me up at first and after 643 didn't attempts to make it work, the 644th was the one I entered all the correct info. With so many (not that many really) fields that need to be populated with the exactly correct info, more info would be nice. For example, had I know what the typical "standard" if you will, answers, the process of moving past that page would have gone from 20-30 minutes down to less than five.
Once past that point, it was smooth sailing and I now I have a fully functional SuiteCRM running on a box in my home office waiting to go to my work office. One super huge disappointment (I know, Mr. Negative today, albeit I don't rant that often, so please give me a pass) is the theme for SuiteCRM 7.8.10 is the same as 7.8.x One of the motivators for moving back was thinking this one didn't have the SH**TY gray text on slightly lighter gray text along with the other attempts to turn the CRM system into more of an eye exam than a useful tool. If you're not sure what I mean because you haven't seen it yet, it's like you're in a club back in the 80s when smoking was allowed and you're trying to see, albeit there's that mix of dance smog from the DJ's fogger and people smoking that makes hard to see with clarity. Add in some small text and plenty of wasted space that requires otherwise useless scrolling and time consumption to locate information, and you have what appears to be an attempt to kill off the project entirely. Yes, it's that bad (worse really.)
That's on me though, I just took for granted it was a 7.9 SNAFU, and going back to 7.8.10 would be "stable," which in my mind also meant "useable," however, that's not the case. So, now I'm thinking of copying the theme, change the name to SuitePBob, and editing the CSS. There is a theme called SuitePImproved, albeit while it's a huge improvement, SuitePImproved has issues as well that I want to avoid. The makers of SuitePImproved appear to be well-intended and it's nice they're making it free for anyone to use, however, my confidence in their coding isn't as high as it needs to be for me to use it after trying it out and seeing my error log light up. Admittedly, the errors are small issues that involve more looks than function as far as I can tell, however, it doesn't matter, an attitude of attention to detail is key, and many of the low cost "code factories" just don't have an attention to detail required IMHO.
Final thoughts.
The size of the system is obviously small because there's no records, albeit the responsiveness of the page loadings as I click through is very fast. I might create another exact setup and compare my box against the virtual hosting site I use and see what the difference is. I don't intend to perform a speed test that uses anything beyond my own personal observations, albeit it would be interesting to see. I can almost already tell this box will be faster (as it should be), and that will either confirm or not my thoughts that the CRM is better to be in house from a user experience, or at least in an environment that is faster than my current click and (almost sorta kinda) wait for the next page.
To that end, I'm going to investigate adding a 6GB/Sec hard drive add-on card to the system. I was already thinking of getting one for my Z800 that I use for my desktop thinking 3GB/sec is likely a bottleneck in performance relative to the rest of the system.