Perl issue while migrating servers

Discussion in 'Server Operation' started by winsbury, Sep 11, 2019.

  1. winsbury

    winsbury Member

    I am trying to migrate a working Actinic ecommerce site from ISPConfig Centos 6.6 Perl 5.10.1 --> ISPConfig 3.1.15 with Perl 5.26 Ubuntu 18.04.3 and having an unexpected issue with the Actinic package failing to pass the initial built in pre-installation tests even though the servers are configured as near identical as I can get them.

    The failure message is:
    "Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Actinic's suggestions are:
    "Actinic received a server error from the web server. The CGI scripts are not executing properly on the server. The error could be caused by several things. Check:
    - the 'Path to the Perl shell'
    - the 'CGI script extension'
    - the 'Path to CGI-BIN'
    - the 'CGI-BIN URL.
    - the amount of web space left on your server
    - if your server is configured to accept POSTs to CGI scripts
    - the permissions on the server:

    On Linux/Unix based servers the permissions should be:
    cgi-bin (755) – drwxr-xr-x
    Online Store Folder (777) – drwxrwxrwx
    On Windows based servers (need to be checked with the hosting company):
    cgi-bin = read/execute
    Online Store Folder = read/write/execute
    cgi-bin = Catalog's FTP account needs 'Change' permissions on the directory
    Online Store Folder = Catalog's FTP account needs 'Change' permissions on the directory AND the IUSR_<servername> account needs to have 'Change' permissions on the directory"

    Most of that is definitely okay though not sure how to test 'POST to CGI' functionality.

    I have tested Perl is working okay with a basic 'hello world' file.

    I've identified the Actinic .pl script which is failing and added the line
    "use CGI::Carp qw(fatalsToBrowser);"
    to line 2 to see the nature of the issue and am getting the result below but as I can only edit the file that is on the server and not the one that Actinic is actually running the test with because every time it runs the test it overwrites the perl files with fresh ones so I cannot be sure that this error is the actual one that is causing it to fail. BTW, I am not a Perl programmer so please take it easy on me :

    Can't use 'defined(@ARray)' (Maybe you should just omit the defined()?) at line 608.

    extract of the lines around that point:

    604 my ($sPath, @DirArray, $sDir, $sCurrentDir, $Success, $Message, @Filelist, $sFile);
    605 $sPath = $_[0];
    606 my $sMessage;
    607 @Filelist = ReadTheDir(".");
    608 if (!defined @Filelist ||
    609 $#Filelist < 0)
    610 {
    611 $sMessage .= sprintf($gsDirError, $gsCGIDir);
    612 }

    Is there a subtlety between these servers or perl versions that I am missing or any other suggestions what to try / look for ?

Share This Page