SERVER
REQUIREMENTS: Real-time shipping calculations require the use of SSL (Secure
Sockets Layer) during communications with the various shipping vendors' web sites.
This
software was designed to work with OpenSSL v0.9.7b (or later). Your
store DOES NOT need its own SSL certificate to use this feature. However,
OpenSSL v0.9.7b (or later) must be installed and active on the web
server hosting your store. As long as OpenSSL is installed somewhere on the server,
this store can use it. Real-time
shipping calcs do not require a SSL certificate for any particular domain
name. The store only requires that OpenSSL v0.9.7b (or later) be installed
somewhere on the server (normally by the server's IP address) so it can use the
OpenSSL standard libraries for communications. Please ask your internet provider
for assistance with OpenSSL if you have any questions.
NOTE: Some
store users have reported that the real-time shipping calcs do work on their server
with OpenSSL v0.9.6 installed. However, we recommend all servers be upgraded to
the most recent version of OpenSSL (for security reasons). Please visit www.OpenSSL.org
for more information. To
view the OpenSSL operating system (OS) binaries required for your server, type
the following command using Telnet or SSH while in the store's main directory
(where are the store's CGI program are located which is usually called Qstore): ldd
Qshipping.cgi This
will display a list of Linux OS binaries required for the real-time shipping calculations
to function on your server. The list will look something like this: libpthread.so.0
=> /lib/i686/libpthread.so.0 libssl.so.1 => not found libcrypto.so.1
=> not found libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3
libm.so.6 => /lib/i686/libm.so.6 libc.so.6 => /lib/i686/libc.so.6
libdl.so.2 => /lib/libdl.so.2 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 The
left side of each line shows the required libraries. The right side of each line
shows where the server is looking and has found the library. If any of them say
"not found", then those libraries are missing or not where the server
can find them. Linux
servers look in certain default directories (called a default system path) for
these libraries. Make sure your server has the missing libraries installed, and
that they are located in one of the default system directories on the server (usually
/lib or /usr/lib). You may need to install them onto your server or possibly copy
them to the correct default system directory so the server can find them. Be sure
to set the permissions on these binaries to "root" as the owner and
group and make sure the set permissions ("chmod" command) to at least
755 or 775. The
exact version and name of these required libraries makes all the difference. The
names are case sensitive and the versions must match exactly. If these libraries
are being symlinked (file name redirected) to some other library or version, then
the store will NOT be able to run the real-time shipping calcs. SPECIAL
ENSIM GUI NOTES: If you are using a GUI like Ensim, please be advised that
Ensim does a few things things differently for each web site (versus a tradition
Linux server). Ensim
creates a Virtual Root Directory (VRD) for each web site on the server. That way
each web site has it's own DUPLICATE COPY of operating system commands and libraries
inside it's own "private" VRD space. This means there can be literally
hundreds of copies of these files, commands and libraries all over your server.
Ensim does this to keep each web site out of the "real" server root
directory by mapping everything into the web site's VRD. They do this for what
they perceive as a needed security level. This
has an important side effect on the store programs (and other web programs trying
to locate and use OS libraries directly). When
a CGI program (e.g. store program) runs, Ensim maps the OS calls to the VRD of
the web site. This means that all the required OS libraries listed above by the
ldd Qshipping.cgi command must not only exist on the server in the default
system directory but also in the web site's VRD. You may need to copy the required
OS library files from the default system directory to the web site's VRD. Don't
forget to set permissions correctly after the copy. Finally,
Ensim causes one more problem that must be fixed. You may find that some of the
required OS libraries may already exist in the web site's VRD but they will be
symlinked (redirected by file name) to some other operating system library file.
This can be viewed by listing the full directory entry for each required library.
This command needs to be run for each library name listed: ls
<filename> -la Example: Ls
libssl.so.1 -la A
non-symlinked library will look something like this: -rwxr-xr-x
1 admin root 203467 Jan 15 08:36 libssl.so.1 While
a symlinked library would look like this: -rwxr-xr-x
1 admin root 203467 Jan 15 08:36 libssl.so.1 -> libssl.so.5 Real-time
shipping calculations require that all the required OS libraries listed above
by the ldd Qshipping.cgi command exist in the VRD and be the correct version
and name (e.g. NOT BE SYMLINKED to another version of the file.) You will have
to remove some of the symlinks affecting the store's required libraries (using
the linux "rm" command) and copy the true library file and version (from
the server's real default system directories) into the VRD for the web site (using
the "cp" command). That way the EXACT correct version and EXACT name
of the required OS file will be run from inside the web site's VRD when the store
needs it. TIP:
since you are only changing the VRD for this web site and not any of the server's
real root directory files, you will not cause problems with your server by making
these changes. Just make sure you are always located inside the web site's
VRD directory and not anywhere else on the server when making these changes. That
way, you will only affect the operation of this one web site. There
may be a way to tweak Ensim to set all of this up by default when a new web site
is created on your server. Please talk to Ensim Technical Support. ONE
FINAL NOTE: the store software was built in autonomous "modules"
whereby all the real-time shipping calcs occur only inside of a single program.
If for some reason your server is not able to run this part of the store, the
rest of your store will still operate correctly. Only the real-time shipping calcs
would not be accessible. Everything else on the store's Main Menu would still
run properly. |