Support » Plugin: iThemes Security » errors when attempting to activate the plugin

  • Resolved sikitraki

    (@sikitraki)


    Hi Support Team

    I have installed the ithemes security plugin in my site and upon activation we receive the following error(s):

    Cannot run iThemes Security. Error encountered during setup. Please try deactivating and reactivating iThemes Security. Contact support if the error persists.

    1. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_logs’ in the database. Code – 2714
    2. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The definition for column ‘lockout_conNVARCHAR’ must include a data type. Code – 173
    3. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_temp’ in the database. Code – 2714
    4. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_distributed_storage’ in the database. Code – 2714
    5. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_geolocation_cache’ in the database. Code – 2714
    6. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_fingerprints’ in the database. Code – 2714
    7. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_opaque_tokens’ in the database. Code – 2714
    8. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_user_groups’ in the database. Code – 2714
    9. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_mutexes’ in the database. Code – 2714
    10. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_bans’ in the database. Code – 2714
    11. [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]There is already an object named ‘wp_itsec_dashboard_events’ in the database. Code – 2714
    12. The itsec_lockouts table is not installed.

    A plugin deactivation/reactivation nor a complete plugin reinstall solved the problem. One important note is that we use ProjectNami WordPress. Are there any post-activation setup steps needed when using ProjectNami?

    Please advise

    Thanks!

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Support chandelierrr

    (@shanedelierrr)

    Hi @sikitraki, thanks for reaching out. Unfortunately, iTSec doesn’t support SQL Server, which is why it cannot run on your site.

    nlpro

    (@nlpro)

    Hi @sikitraki,

    It does look like the plugin gets activated (despite the errors) or not?

    It seems to me the Code – 2714 errors are non fatal and can simply be ignored. However there is one other error, Code – 173, which prevents the wp_itsec_lockouts table from being created (“The itsec_lockouts table is not installed”). And that is a real problem, since the iTSec plugin needs that table.

    It looks like the MySQL create table statement for the wp_itsec_lockouts table is not properly converted into a MS SQL Server equivalent, which sounds like a bug in ProjectNami. It seems to stumble on the lockout_context column which looks like this in MySQL:

    lockout_context TEXT

    And ProjectNami attempts to (stupidly) convert that into:

    lockout_conNVARCHAR

    While it should be:

    lockout_context NVARCHAR

    Suppose this 1 issue gets fixed (or as a workaround you can manually create the wp_itsec_lockouts table in the MS SQL Server database) it would be interesting to see whether the iTSec plugin actually works in ProjectNami. No guarantees though 😉

    +++++ To prevent any confusion, I’m not iThemes +++++

    Plugin Support chandelierrr

    (@shanedelierrr)

    @nlpro this might be related, but I’m not sure if the fix applied addresses the Code – 173

    nlpro

    (@nlpro)

    Hi @shanedelierrr,

    It’s also a conversion issue, but a little bit different.

    …but I’m not sure if the fix applied addresses the Code – 173

    No, it doesn’t.

    This looks like an identical (and still open/unfixed) issue. Opened in April 2019…

    • This reply was modified 4 months ago by nlpro.
    nlpro

    (@nlpro)

    Hi @sikitraki,

    In order to get the wp_itsec_lockouts table created on plugin activation try and add the code below to the active theme functions.php file:

    add_filter( 'pre_translate_query', 'itsec_ptq' );
    
    function itsec_ptq( $query ) {
    	$query = str_replace( 'lockout_context TEXT,', 'lockout_coNTEXT TEXT,', $query );
    	return $query;
    }

    Note this is a ProjectNami specific filter. It does not exist in regular WordPress core. So it is undocumented in the Code Reference on developer.wordpress.org

    Also the code snippet above is untested. I expect it to work but it may need some further tweaking. Try it and let us know the result.

    • This reply was modified 4 months ago by nlpro.
Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.