Announcement

Collapse
No announcement yet.

Empressa 5.34 - anyone installed outside Miva?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Empressa 5.34 - anyone installed outside Miva?

    No idea how many people still operate Empressa on their own servers. If you do, I'd like to pick your brain some. I have installed Empressa numerous times over the years, but this install (update) is not going well. Diagtool works flawlessly - but accessing MySQL fails. I suspect it is the client library. Running on Amazon EC2 - installed CentOS 6 64bit version.
    William Gilligan - Orange Marmalade, Inc.
    www.OrangeMarmaladeinc.com

    #2
    What does the Diagtool "Installed System Libraries" report?
    David Carver
    Miva, Inc. | Software Developer

    Comment


      #3
      I backtracked, so can't give you exact wording - but it did show the mysql library was installed, although my gut tells me it found the path, but did not necessarily test it. I had to locate and yum update mysql with "yum install mysql57-libs-5.7.30-1.15.amzn1.x86_64"
      William Gilligan - Orange Marmalade, Inc.
      www.OrangeMarmaladeinc.com

      Comment


        #4
        Did you get 5.34 working? I have empressa in a vmware virtual ubuntu machine but don't want to mess anything up because it's so difficult for me to figure out how to fix/update/install.
        M.A.D.* since 1997

        http://www.scotsscripts.com

        *miva application developers

        Comment


          #5
          My guess is his initial install did not include the new required MYSQLCLIENT system library directive, OR, the operating system's libmysqlclient library was not present or not in a place the Empresa config pointed at. Diagtool will show the previous "MySQL" database library as present, but that library is no longer used for mysql connections; the new system library with code MYSQLCLIENT is instead.

          So, you'd need to be sure that you have either a:

          <SYSTEM-LIB CODE="MYSQLCLIENT" LIBRARY="/path/to/libmysqlclient.so">

          or

          MvCONFIG_SYSTEMLIB_MYSQLCLIENT environment variable set with path to library

          You'd use the first for 3x.so style config, and the second for env.so style config. The library it points at needs to be known to the operating system's dynamic loader if you do not use a full path, otherwise, full path to the file is required and must be accessible to Empresa. Most operating systems include a mysql client library with major version suffix if the mysql client software is installed, but some will have a pointer to the appropriate file without the version, i.e. could be a libmysqlclient.so, or may have to explicitly use libmysqlclient.so.15, etc. If the appropriate client library is not using a full path, and was added to the OS, it may be required to execute 'ldconfig' to make the OS aware of it.
          David Hubbard
          CIO
          Miva
          [email protected]
          http://www.miva.com

          Comment


            #6
            Hi Dave, I did have this in the mivavm.conf: <SYSTEM-LIB CODE="MYSQLCLIENT" LIBRARY="/path/to/libmysqlclient.so"> and diagtools showed it installed and "passed". Diagtools also reported everything working - but - when actually loading a page with a mysql (amazon rds) connection - server error.
            William Gilligan - Orange Marmalade, Inc.
            www.OrangeMarmaladeinc.com

            Comment


              #7
              Okay. Just for confirmation, in diagtool, under installed database libraries: PASS -> MySQL

              is no longer usable. We need to be seeing this under installed system libraries: PASS->MYSQLCLIENT

              That latter one should never show as pass if it could not actually load the necessary mysql client functions. Is that the one you were seeing as a pass but were unable to make use of mysql client functionality? And then installing the mysql-libs package resolved it? Do you recall what the error was before it was resolved?
              David Hubbard
              CIO
              Miva
              [email protected]
              http://www.miva.com

              Comment


                #8
                I was unable to get it resolved - I had to revert back to 5.33 I showed both MySql (datase) as pass AND MYSQLCLIENT (system) as pass. I am going to retest this again shortly and will get screen shots
                William Gilligan - Orange Marmalade, Inc.
                www.OrangeMarmaladeinc.com

                Comment


                  #9
                  Dave and all...
                  I just redid this - and the issue apparently was that I grabbed the wrong "builtins". This is now working on our test system. No issues. One remaining question - the "certs" directory was not moved over or updated. Is this no longer used / needed?
                  William Gilligan - Orange Marmalade, Inc.
                  www.OrangeMarmaladeinc.com

                  Comment


                    #10
                    Correct; the certs directory was deprecated several years ago because it allowed for a scenario of an Empresa update being required to not only add new recognized roots, but more importantly, to remove roots that were eliminated / replaced for security breach reasons. We did not want to have copies of Empresa out there that would trust certs from an issuer whose root had to be replaced, or who went out of business, etc.

                    The replacement is to rely on the operating system's maintained root certificate bundle, in file format, not directory format. For example, on RedHat/CentOS, this would look like one of these two common locations:

                    cafile=/etc/ssl/certs/ca-bundle.crt
                    cafile=/etc/pki/tls/certs/ca-bundle.crt

                    which are generally part of the rpm "ca-certificates" which is hopefully receiving automated updates on the system in question.
                    David Hubbard
                    CIO
                    Miva
                    [email protected]
                    http://www.miva.com

                    Comment


                      #11
                      Thanks. I do remember that now - but to be sure, I checked the mivavm.conf and I had previously commented out the old "cadir" and replaced it with the new "cafile". Thanks for the help and feedback.
                      William Gilligan - Orange Marmalade, Inc.
                      www.OrangeMarmaladeinc.com

                      Comment


                        #12
                        I am trying to update to 5.34. I get this error when I try to run a script that uses mysql:

                        System library "MYSQLCLIENT" is not registered

                        What file do I need to edit and what do I need to put in the file? Please talk to me like I know absolutely nothing about how servers work. I can switch directories and I can edit files, that's about it.

                        I ran the new diagtoo.mvc file and for "installed database libraries" I get:

                        Pass
                        MySQL
                        MivaSQL
                        M.A.D.* since 1997

                        http://www.scotsscripts.com

                        *miva application developers

                        Comment


                          #13
                          I figured it out!

                          I added this line:

                          <SYSTEM-LIB CODE="MYSQLCLIENT" LIBRARY="/path/to/libmysqlclient.so">

                          to my mivavm-v5.34.conf file.

                          However, the file libmysqlclient.so was not there, so I pointed to this instead:

                          <SYSTEM-LIB CODE="MYSQLCLIENT" LIBRARY="/usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0">

                          Will there by any problems pointing to the ...so.18.0.0 file rather than just a .so file?
                          M.A.D.* since 1997

                          http://www.scotsscripts.com

                          *miva application developers

                          Comment


                            #14
                            As an aside, do I still need these lines in the conf file?

                            <DATABSE-LIB METHOD="MySQL" LIBRARY="/home/servtools/mivavm-v5.34/lib/databases/mysql.so">
                            <DATABASE-LIB METHOD="MivaSQL" LIBRARY="/home/servtools/mivavm-v5.34/lib/databases/mivasql.so">
                            M.A.D.* since 1997

                            http://www.scotsscripts.com

                            *miva application developers

                            Comment


                              #15
                              The 18.0.0 is fine; the mivasql definitely leave in place as some things still talk to dbf files, the mysql you could remove.
                              David Hubbard
                              CIO
                              Miva
                              [email protected]
                              http://www.miva.com

                              Comment

                              Working...
                              X