New SuiteCRM installation using existing database

Previously a member of staff installed SuiteCRM version 7.4.3 on a server running Fedora 16. The mysql database is stored on a separate internal server. As far as we are aware, we do not have any customisations.
We are looking to install SuiteCRM on a server running Ubuntu 20.4. I cannot see an option to download 7.4.3 so we are considering installing the latest version. I assume the latest version of SuiteCRM would be compatible with the mysql db running on a separate server?

Hi @paulmitchell507,

You can find all older versions here:

https://sourceforge.net/projects/suitecrm/files/

Best way is to match your database with the 7.4.3 source and then upgrade to the latest version.

Thank you for your advice, much appreciated.
I have downloaded the older version and completed the prerequisite software components.
Would you expect any problems if I proceed to configure the new server with the same details as the old server?
for example, the mysql database details, hostname, db name etc.

I would have 2 SuiteCRM installations connected to the same mysql db

Hi @paulmitchell507 ,

If you run the installation procedure on the existing database, then it will wipe out the data.

Running two installations on one db is not recommended, as caching on both systems will be different which will cause inconsistencies.

Why don’t you copy the files of the existing (old) installation to your new server and then shutdown the old server?

@jansiero thank you for your reply.
So in summary, the SuitCRM db is installed on server A, the production copy of the SuiteCRM (v7.4.3) application is installed on Server B and we have recently installed a copy of SuiteCRM (v7.4.3) to server C. The plan is to decommission server B and promote server C to be the new production instance.
Running server B and C would be a temp measure just until we can schedule the cut over, no user would have access to server C until server B has been turned off.
Are you suggestion we create a new SuiteCRM db on server A and then copy the files from one db to the other?

@jansiero I found another example of a user in the community with the same question. He suggested,
In theory I should be able to create a brand new MySQL database, Download Suite to a new directory. Do the install. And then change this part of the config.php to the values in the old config.php:

array (
‘db_host_name’ => ‘localhost’,
‘db_host_instance’ => ‘SQLEXPRESS’,
‘db_user_name’ => ‘xxxx’,
‘db_password’ => ‘aaaaa’,
‘db_name’ => ‘yyyy’,
‘db_type’ => ‘mysql’,
‘db_port’ => ‘’,
‘db_manager’ => ‘MysqliManager’,

Then I can delete the database I created for the install.

What do you think, the method above or a MySql Export/Import?

Hi @paulmitchell507,

I don’t get it why you need to setup a parallel SuiteCRM instance. Do you need it for testing?

If it concerns migration and upgrade, I would suggest

  • copy the suitecrm documentroot (php files) from the existing (productive) to the new server
  • export the database, using mysqldump and import it in a new database
  • adapt config.php on your new system as you already discovered to point to the new database
  • do an upgrade and make sure everything works as it should on the new version

Either use the productive system read-only during your upgrade (don’t forget to stop the cron job) so you can afterwards switch over or take the productive system offline after working hours and repeat the steps above to make sure you have an upgraded system with the newest data and then switch over

Hello @jansiero
I inherited this configuration with no documentation, so I am learning as I go. My concern is that if I make a mistake, I have a fallback position. If I export the database, I assume the original db will still be functioning so that works for me.
I assume I should complete the SuiteCRM installation on the new server, creating a db on the server and then follow the steps you mention?

Hi @paulmitchell507,

That’s right, mysqldump ony generates an export, it doesn’t change or delete the original database.

When you’ve made sure that the prerequisites are fulfilled (as you did by starting the installation procedure), then you don’t need to continue installation procedure. You can simply copy over the documentroot from productive, import the database and adapt config.php
This should be enough to get your copy running.

I am not sure if you can provide any additional advice, but I have copied all the *php files to the new server, imported the database, and updated the config.php.
I have confirmed Apache is working, but I am unable to access the SuiteCRM login screen.
Do you know if the original server name is hardcoded into any of the SuiteCRM config files.
i.e. the original server is called monet and the new server is currently called testmonet

Do you I need to copy the entire documentroot folder for things to work?
i.e. I only copied the *php files.

Paul

Hi @paulmitchell507,

the original server name is hardcoded in config.php in the following entries:

  • 'host_name'
  • 'site_url'

Nonetheless your copy should work even when you don’t update these entries.

You need to copy the complete documentroot which should among others include .xml, .php, .js .
The Github tree of SuiteCRM gives you an impression what your copy should include (some directories and files are for test and you don’t need them)

In your post you don’t describe what you exactly do see when you try to access the login screen.

Hi @jansiero
This is the error I get when trying to access any page served from /var/www/suitecrm
hmm we are having trouble finding the site
we can’t connect to the server at servername.nag.co.uk

Apache is working as I can access the Apache2 default web page via the server.

Hi @paulmitchell507,

There is no DNS entry for servername.nag.co.uk: there is no A-record (ipv4) or AAAA-record (ipv6), you need at least either one of them.

Are you sure that you have entered the appropiate DNS configuration at your domain registrar (where you booked your domain) for the subdomain “servername” ?

You can check in unix with:
host servername.nag.co.uk

Compare with:
host nag.co.uk

Hello @jansiero
I am still using the test server, I am going to write a script to update production when I have tested the procedure as I have other files I need to migrate.
I am access SuiteCRM via a browser on the server, the server is configured in the internal DNS only.

Hi @paulmitchell507,

“Can’t connect” means that either:

  • DNS is not setup correctly
  • no service (apache/nginx) is taking requests, because
    • service (apache/nginx) is not running
    • service is not running on the port being addressed (using https instead of http or viceversa ?)
    • firewall refuses connection

Hi @jansiero
I have created a clean installation of Ubuntu and repeated the steps of unziping the old version, 7.4.3 https://sourceforge.net/projects/suitecrm/files/

After installing the prerequisite software components I can access the install.php page.
The problem occurs after I copy the files from the old server to the new server.
After copying the files I am unable to access the site.
The old server is running Fedora 16 and the new server is running Ubuntu 20.4.2.
If I complete the installtion on the new server, can I then import the old db via an alternative process?

Hi @paulmitchell507,

  • which files did you copy? The directory containing index.php etc? Did you place these files in the same directory as the downloaded Suite 7.4.3. ?
  • when you access the site, do you use the same URL as when you ran install.php (without install.php at the end) ?
  • If the issue is still “Can’t connect”, can you use curl from the same computer you use to open your browser to access the site and see what comes back, like
    curl http://servername.nag.co.uk ?
  • If you have an other error, could you check your webserver logs like:
    /var/log/apache/error.log

Hi @jansiero
I will answer the first 2 questions

  • which files did you copy? The directory containing index.php etc? Did you place these files in the same directory as the downloaded Suite 7.4.3. ?
    I copied all the files in the suitecrm directory from the old server,
    /var/www/html/suitecrm
    to the new server
    /var/www/suitecrm
  • when you access the site, do you use the same URL as when you ran install.php (without install.php at the end) ?
    I tried using the same URL but replaced install.php with index or suitecrm.
    I also tried copying my test info.php file that I know works into the /var/www/suitecrm directory, but that didn’t work either.

It appears that Apache can’t server any files stored in the /var/www/suitecrm directory after I copy files from the old server.

Is there anything more you could suggest before I try the next 2 options? I haven’t copied the old files over yet.

Hi @paulmitchell507,

This kind of error isn’t caused by SuiteCRM, but concerns server configuration in general.

I suggest that you read through the configuration documentation of apache and especially virtual server configuration if you use this and check the log files, maybe ask someone who is more familiar with LAMP stacks.

In general:

  • “Can’t connect”, is either DNS or Firewall or apache service not running -> check with curl
  • 404 “Not Found” means, your files are in the wrong directory, or your (virtual) server documentroot is wrongly configured -> instead of copying the SuiteCRM files, place a simple index.html file with some content and see if you can get it to appear in your web browser
    if this works, place a file index.php with content
    <?php
    phpinfo();
    
    and check if you can get the php settings to appear in your webbrowser
  • 500 “Server Error” or blank screen -> check /var/log/apache/errors.log

@jansiero
Before I go any further, I just want to say how much I appreciate the help you have provided.
I don’t know what I did wrong the first time, but I followed the steps and everything appears to be working!

The data looks intact, the only obvious difference is the menu bar
image

Do you know how this is configured? I thought one of the files I copied from the old server configure this menu. On the new server I appear to be missing a custom menu item.