[Evergreen-general] libdbi PostgreSQL driver not found in shared library path
Blake Graham-Henderson
blake at mobiusconsortium.org
Sat Nov 2 17:07:35 EDT 2024
Dashamir,
I sympathize with you. Evergreen isn't the easiest thing to install.
It's a tall stack of cards starting with Linux at the bottom, then an
ecosystem of Perl modules, then PostgreSQL, then Ejabberd, then a thing
called OpenSRF, and finally Evergreen atop all of that. Then sprinkle
Apache over that and reverse proxy NGINX around Apache. The install
steps will get you there but you have to pay close attention to which
user you're running each command as. Some are root, some are opensrf and
some are "user". Each step is important.
If you're just curious about how Evergreen operates and you want to get
a test server up and running, you can enable easy mode and start the
pre-built docker container like this:
docker run -it -p 80:80 -p 443:443 -p 210:210 -p 6001:6001 -p 5433:5432
-h app.evergreen.com mobiusoffice/evergreen-ils
Wait 7 minutes, and it's ready for you to connect.
Yes: it supports the latest version of Evergreen. We have published a
container that comes with 3.14.0.
If you're interested in the build process, and you would like to build
your own docker container, then you can clone the git repository that we
use to build the containers and play with the build. If you would like
to build a different version of Evergreen, you'll want to edit the
vars.yml file and set the version number. Some versions of Evergreen
require different operating systems. If you go too far back, you'll want
to change the operating system that is used to build the container by
editing the Dockerfile.
Unfortunately, you've arrived at a moment when this bug is plaguing our
docker builds:
https://bugs.launchpad.net/evergreen/+bug/2086480
Luckily, it's easy to fix, but if you are going to build your own
container, you'll need to know about that issue, because your resulting
container will be broken without the fix. You can edit vars.yml and
introduce the patch like this:
change this line:
Evergreen_cherry_picks: []
to this:
Evergreen_cherry_picks: ['0311de0825084499642407f09e08f63a93b46e6f']
Of course, these containers aren't for production use. Mostly because
the PostgreSQL database is embedded. For production, you're going to
need to have a PostgreSQL server setup separate from your application
server(s) or at the very least, not in the docker container. Because of
longevity and backup reasons, you'll want that database to be preserved
and not lost when the container stops.
Building a container that connects to an external PostgreSQL server
require some small tweaks to the "generic-dockerhub" build.
These variables:
database_host: localhost
database_database: evergreen
database_port: 5432
database_user: evergreen
database_password: databasepassword
will need to be changed to fit your external PostgreSQL server.
And, you're going to need to manually edit the install_evergreen.yml
ansible playbook so that it doesn't* install PostgreSQL and* it doesn't
install the Evergreen database. This is important because If you forget
to delete portion of the install playbook that installs the Evergreen
database, it's possible that the container will delete and recreate your
database on your PostgreSQL server.
All of the above is docker-specific information. I only went into such
detail because it seemed like you were interested in that path.
Aside from using docker, you can install Evergreen onto a VM using other
methods:
https://wiki.evergreen-ils.org/doku.php?id=server_installation:semi_automated
Specifically this one:
https://github.com/berick/evergreen-ansible-installer/tree/ubuntu-22.04
That repository should get a bare Linux OS setup for you without much
fuss. Though, you'll need to switch to Ubuntu instead of Debian
Bookworm, because Ubuntu 22.04 is one of the assumptions of that setup.
Another thing I'd like to mention: community demo servers are available
here:
https://wiki.evergreen-ils.org/doku.php?id=community_servers
Hopefully someday soon, we can make more of these things obvious from
our website. I understand that our wiki makes some of these important
pieces of information hard to find!
And in case you didn't find our documentation, it's here:
https://docs.evergreen-ils.org
-Blake-
Conducting Magic
Will consume any data format
MOBIUS
On 11/2/2024 10:24 AM, Dashamir Hoxha wrote:
> On Sat, Nov 2, 2024 at 1:01 AM Blake Graham-Henderson via
> Evergreen-general <evergreen-general at list.evergreen-ils.org> wrote:
>
> Dashamir,
>
> Responding to your IRC comments. Have you taken a look at the
> docker build stuff that we have on github?
>
>
> Dear Blake, thanks for your reply. And also thanks for responding by
> email (I prefer email communication versus IRC).
>
> https://github.com/mcoia/eg-docker
>
> And the docker images that are pre-built available on dockerhub:
>
> https://hub.docker.com/r/mobiusoffice/evergreen-ils
>
>
> This might also be of interest:
>
> https://wiki.evergreen-ils.org/doku.php?id=newdevs:testserver
>
> Feel free to copy anything from these repos and plug it into your
> repo.
>
>
> I didn't know about this stuff. If I knew, I could have tried to use
> your docker images instead of trying to build mine. Does it support
> the latest stable release of EG (have you tried it)?
>
> Anyway, I had a quick look at the GitHub repo, and it is difficult for
> me to figure out from it what is wrong in my installation. It is
> basically bash code, embedded into ansible yaml code, executed inside
> a docker container (3 levels of complexity). I also have to admit that
> I am not quite familiar with ansible.
>
> In any case, the installation instructions of EG (long and complex as
> they are) are easier for me to understand.
> So, if I follow them but I am still not able to make it work, it means
> that:
> - they are not as clear and precise and they should be
> - there is some issue (maybe very small) with the latest stable
> release (I have not tried the previous releases)
> - I am missing something or I am doing something wrong
>
> If someone could help me (in an online meeting, in an interactive
> session) to debug my installation and figure out what I am doing
> wrong, this would be the easiest thing for me.
>
> Anyway, for the time being I am looking at Koha, which seems to be
> easier to install and has less instructions. If I fail, I will look
> maybe at some thind option (I don't know yet what this might be), or
> come back and give another try to EG.
>
> In any case, thanks for your help.
>
> Sincerely,
> Dashamir
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.evergreen-ils.org/pipermail/evergreen-general/attachments/20241102/3bfa0e4c/attachment.htm>
More information about the Evergreen-general
mailing list