This topic contains 10 replies, has 3 voices, and was last updated by  Paul Hester 2 months ago.

  • Author
    Posts
  • #9533
     Paul Hester 
    Member

    I am hoping someone can help me. I am not sure what is wrong with my system. I was running 1.0 fine for years, but then started having lots of problems. So I decided to replace it with 2.0. It is still using the same database.

    When I browse to ports 9003 (Server) and 9002 (Enterprise Server), things appear to be ok.

    However, when I browse to port 9001 (Portal), I just get the Startup page. This page refreshes every 4 seconds, but never goes away. I have left it for hours to see if it finally gets to a login page. I have also rebooted server and reset IIS, but still no good.

    Any ideas of what to look for?

     

    0
    Be the first one to like this.
    Please wait...
    Attachments:
    #9538
     Marcelo 
    Member

    Hi Paul,

    I believe you are suffering of the same problem of mine.

    I tried to update to 2.0 because my 1.0 version started to show up with some issues, for example, websites creation errors, long time loading, hosting plan errors…

    During the update my error log point to:

    IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [ItemTypeID] = 380)
    INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskSpace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (380, 55, N’MsSQL2019Database’, N’MSPControl.Providers.Database.SqlDatabase, MSPControl.Providers.Base’, 1, 1, 0, 0, 1, 1, 1, 1)

    The error was The INSERT statement conflicted with the FOREIGN KEY constraint “FK_ServiceItemTypes_ResourceGroups”. The conflict occurred in database “MSPControl”, table “dbo.ResourceGroups”, column ‘GroupID’.

    Then I believe if you run this script bellow, BEFORE to update the MSPControl, the update will run ok:

    IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupID] = ’55’)
    BEGIN
    INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController], [ShowGroup]) VALUES (55, N’Sharepoint Enterprise Server’, 15, N’MSPControl.EnterpriseServer.HostedSharePointServerEntController’, 1)
    END
    GO

    I didn’t try it yet, because I must have to wait until the weekend to try again!

    0
    Be the first one to like this.
    Please wait...
    #9540
     Marcelo 
    Member

    Hi Paul,

    This weekend I tried again to update to MSPControl 2.0, to get the update process successfully finished, I runned these scripts before to start the update process:

    INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController], [ShowGroup]) VALUES (55, N’MsSQL2019′, 10, N’MSPControl.EnterpriseServer.DatabaseServerController’, 1)

    INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (1207, 55, N’MsSQL’, N’Microsoft SQL Server 2019′, N’MSPControl.Providers.Database.MsSqlServer2019, MSPControl.Providers.Database.SqlServer’, N’MSSQL’, NULL)

    INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskSpace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (380, 55, N’MsSQL2019Database’, N’MSPControl.Providers.Database.SqlDatabase, MSPControl.Providers.Base’, 1, 1, 0, 0, 1, 1, 1, 1)

    INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskSpace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (381, 55, N’MsSQL2019User’, N’MSPControl.Providers.Database.SqlUser, MSPControl.Providers.Base’, 1, 0, 0, 0, 1, 1, 1, 1)

    INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (790, 55, 1, N’MsSQL2019.Databases’, N’Databases’, 2, 0, 380, NULL)

    INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (791, 55, 2, N’MsSQL2019.Users’, N’Users’, 2, 0, 381, NULL)

    INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (792, 55, 3, N’MsSQL2019.MaxDatabaseSize’, N’Max Database Size’, 3, 0, NULL, NULL)

    INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (793, 55, 5, N’MsSQL2019.Backup’, N’Database Backups’, 1, 0, NULL, NULL)

    INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (794, 55, 6, N’MsSQL2019.Restore’, N’Database Restores’, 1, 0, NULL, NULL)

    INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (795, 55, 7, N’MsSQL2019.Truncate’, N’Database Truncate’, 1, 0, NULL, NULL)

    INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (796, 55, 4, N’MsSQL2019.MaxLogSize’, N’Max Log Size’, 3, 0, NULL, NULL)

    After the update I finally got the Login page to be showed, but when I tried to login using the serveradmin credentials, the page blink and no access is done. I looked for errors in Audit Log table, Windows Event Viewer and in Browser Developer Tools (F12) no errors was found! I ended up reverting the update.

    0
    Be the first one to like this.
    Please wait...
    #9541
     Paul Hester 
    Member

    Thanks for your help and guidance Marcelo. I’ve tried the same things as you, as far as updating the database manually, and also am getting no where. This really sucks. I have thousands of current customers that can’t login, and I can’t add new ones. Even though I provide free services, I still want them to work.

    I’ve even gone to another machine to try installing from scratch, hoping to then be able to find any differences to fix in my production environment. But the installer never completes successfully there. I am totally confused and frustrated.

    0
    Be the first one to like this.
    Please wait...
    #9548
     MSPControl 
    Keymaster

    I’ve alerted developer. Do you have any additional logs?

    0
    Be the first one to like this.
    Please wait...
    #9550
     Paul Hester 
    Member

    Looks like SQL Server 2016 is now required as a minimum, because I see the use of JSON_VALUE function in some procedures. I guess I will upgrade my SQL Server and then try again.

    0
    Be the first one to like this.
    Please wait...
    #9552
     Paul Hester 
    Member

    After upgrading SQL Server from 2012 to 2016, and manually “fixing” the MSPControl schema and data by comparing to a fresh install, I can finally get a login page to show on my portal. That’s a huge step. However, I cannot login. I get the following:

    System.Web.Services.Protocols.SoapException: WebInvoke: http://216.249.99.205:9002/AspNet/esAuthentication.asmx – AuthenticateUser.

    Error: System.Web.Services.Protocols.SoapException: Server was unable to process request. —>

    System.Exception: Error executing ‘AUTHENTICATE’ task on ‘serveradmin’ USER —>

    System.Exception: Can not load libsodium.dll or libsodium-64.dll. Please make sure you are installed Visual C++ Redistributable for Visual Studio 2015 on the Enterprise Server. —>

    System.TypeInitializationException: The type initializer for ‘Sodium.SodiumCore’ threw an exception. —>

    System.DllNotFoundException: Unable to load DLL ‘libsodium-64.dll’: The specified module could not be found. (Exception from HRESULT: 0x8007007E)

     

    at DynamicDllInvokeType.sodium_init()

    at Sodium.SodiumCore.InitLibrary()

    at Sodium.SodiumCore.Init()

    at Sodium.SodiumCore..cctor()

    — End of inner exception stack trace —

    at Sodium.SodiumCore.Init()

    at Sodium.PasswordHash.ArgonHashBinary(Byte[] password, Byte[] salt, Int64 opsLimit, Int32 memLimit, Int64 outputLength)

    at Sodium.PasswordHash.ArgonHashBinary(Byte[] password, Byte[] salt, StrengthArgon limit, Int64 outputLength)

    at Sodium.PasswordHash.ArgonHashBinary(String password, String salt, StrengthArgon limit, Int64 outputLength)

    at MSPControl.EnterpriseServer.CryptoUtils.VerifyPassword(String password, String dbPassword, String dbSalt)

    — End of inner exception stack trace —

    at MSPControl.EnterpriseServer.CryptoUtils.VerifyPassword(String password, String dbPassword, String dbSalt)

    at MSPControl.EnterpriseServer.UserController.AuthenticateUser(String username, String password, String ip, Nullable`1 twoFactorWasCorrect)

    — End of inner exception stack trace —

    at MSPControl.EnterpriseServer.UserController.AuthenticateUser(String username, String password, String ip, Nullable`1 twoFactorWasCorrect)

    at MSPControl.EnterpriseServer.WebServices.esAuthentication.AuthenticateUser(String username, String password, String ip)

    — End of inner exception stack trace — ( at MSPControl.Core.Web.ServiceProxy.Invoke(String methodName, Func1 invoke, Func1 syncInvoke)

    at MSPControl.Core.Web.ServiceProxy.Invoke(String methodName, Object[] parameters)).

    at MSPControl.EnterpriseServer.BusinessErrorCodes.GetMessage(SoapException ex, Boolean code)

    at MSPControl.Portal.MSPControlModuleBase.ShowErrorMessage(String moduleName, String messageKey, Exception ex, Object[] additionalParameters)

     

    Looks like something to do with encrypted salted password. Thing is, I never enabled that feature when I was running WebsitePanel or MSPControl 1.0.  So why does it think it’s on? And how do I turn it off now?  Settings in the web.config maybe?

     

    0
    Be the first one to like this.
    Please wait...
    #9553
     MSPControl 
    Keymaster

    Make sure:

    Please make sure you are installed Visual C++ Redistributable for Visual Studio 2015 on the Enterprise Server

    0
    Be the first one to like this.
    Please wait...
    #9555
     Paul Hester 
    Member

    Thanks for the response, but I am going to respectfully push back and disagree with your solution. I have seen that response on other posts, but it is not the correct solution.

    I already have a newer version of Visual C++ Redistributable installed. 2015, 2017, and 2019 all share the same files according to https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads.

    Also, the libsodium.dll and libsodium-64.dll are already present in \MSPControl\Enterprise Server\bin\Common folder.

    Any other ideas?

    0
    Be the first one to like this.
    Please wait...
    #9557
     MSPControl 
    Keymaster

    Nope, other than stating you are wrong that they share the same of anything. We require specifically 2015 if you can’t install it then this app will not work for you.

    0
    Be the first one to like this.
    Please wait...
    #9558
     Paul Hester 
    Member

    Wow, that was a surprise. After uninstalling the 2017 redist and installing the 2015 redist, I do get past the login issue. Now I have other issues with execution authorization. I assume this is the AppPool identity user, which in my case was set to MSPControl via the installer.

    See the attached screenshot of a screen full of errors similar to the following:

    Page URL: http://witnesstoday.org:9001/Default.aspx

    Logged User:

    Work on Behalf: Unknown

    Hosting Space: 0

    Stack Trace: System.Net.WebException: WebInvoke: http://216.249.99.205:9002/AspNet/esUsers.asmx – GetUserById. Error: The request failed with HTTP status 401: Unauthorized. ( at MSPControl.Core.Web.ServiceProxy.Invoke(String methodName, Func1 invoke, Func1 syncInvoke)

    at MSPControl.Core.Web.ServiceProxy.Invoke(String methodName, Object[] parameters)).

    at MSPControl.Core.Web.ServiceProxy.Invoke(String methodName, Object[] parameters)

    at MSPControl.EnterpriseServer.esUsers.GetUserById(Int32 userId)

    at MSPControl.WebPortal.Code.CacheHelper.GetFromHttpContext[T](String key, Func`1 getter)

    at MSPControl.Portal.UsersHelper.GetCachedUserById(Int32 userId)

    at MSPControl.Portal.UserAccountDetails.BindAccount()

    at MSPControl.Portal.UserAccountDetails.Page_Load(Object sender, EventArgs e)

    0
    Be the first one to like this.
    Please wait...
    Attachments:
Viewing 11 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.

©2019 MSPControl | Privacy Policy

Log in with your credentials

or    

Forgot your details?

Create Account