Mailman 3 centos7 installation issues
So I am working with our Linux admin to install mailman3 in centos7 following this instructions https://docs.mailman3.org/en/latest/install/virtualenv.html# (and adjusting for centos versus Debian) The install went fine with the command “pip install wheel mailman psycopg2-binary”until the config file. /etc/mailman3/mailman.cfg
The /etc/mailman3 directory did not get created? Should it have?
We created it and the config file
But “mailman info” throws errors
venv) [mailman@bmimailmandr2 var]$ mailman info Traceback (most recent call last): File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 2336, in _wrap_pool_connect return fn() File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 364, in connect return _ConnectionFairy._checkout(self) File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 778, in _checkout fairy = _ConnectionRecord.checkout(pool) File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 495, in checkout rec = pool._do_get() File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/impl.py", line 140, in _do_get self._dec_overflow() File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__ with_traceback=exc_tb, File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/impl.py", line 137, in _do_get return self._create_connection() File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 309, in _create_connection return _ConnectionRecor
I suspect it is not using the config file at /etc/mailman3/mailman.cfg But we do not even see a mailman service in /etc/systemd/system/mailman3.service.
Also, we are using python 3.6, will that be a major issue? or should spend the time to install 3.7 from source?
On Wed, Mar 24, 2021, at 10:01 AM, bader@cchmc.org wrote:
So I am working with our Linux admin to install mailman3 in centos7 following this instructions https://docs.mailman3.org/en/latest/install/virtualenv.html# (and adjusting for centos versus Debian) The install went fine with the command “pip install wheel mailman psycopg2-binary”until the config file. /etc/mailman3/mailman.cfg
The /etc/mailman3 directory did not get created? Should it have?
It should not, pip
cannot create these directories. You have to create
them manually.
We created it and the config file
But “mailman info” throws errors
venv) [mailman@bmimailmandr2 var]$ mailman info Traceback (most recent call last): File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/engine/base.py", line 2336, in _wrap_pool_connect return fn() File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 364, in connect return _ConnectionFairy._checkout(self) File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 778, in _checkout fairy = _ConnectionRecord.checkout(pool) File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 495, in checkout rec = pool._do_get() File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/impl.py", line 140, in _do_get self._dec_overflow() File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__ with_traceback=exc_tb, File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/impl.py", line 137, in _do_get return self._create_connection() File "/opt/mailman/venv/lib64/python3.6/site-packages/sqlalchemy/pool/base.py", line 309, in _create_connection return _ConnectionRecor
This seems to be trying to connecting to database. Have you setup the database as described in https://docs.mailman3.org/en/latest/install/virtualenv.html#setup-database and then added the right values in mailman.cfg you created?
You will see a [database] section with a placeholder MYPASSWORD to put your database password.
I suspect it is not using the config file at /etc/mailman3/mailman.cfg
It should do that by default, unless you have a mailman.cfg
in the current working directory.
But we do not even see a mailman service in /etc/systemd/system/mailman3.service.
pip install
cannot creates these files. You have to manually create both /etc/mailman3/mailman.cfg
and
the above systemd service file. I’ll update the docs to be more explicit about this.
Also, we are using python 3.6, will that be a major issue? or should spend the time to install 3.7 from source?
3.6 should be okay for now, we do run CI for 3.6 so we will know if there is any breakage and can let the users know about it. We do run atleast one server on 3.6 ourselves. It doesn’t EOL until end of this calendar year.
Mailman-users mailing list -- mailman-users@mailman3.org To unsubscribe send an email to mailman-users-leave@mailman3.org https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
-- thanks, Abhilash Raj (maxking)
database and password set correctly, but the issue was with databse authentication, in the file /var/lib/pgsql/data/pg_hba.conf
The install of postgress had authentication set to "ident" I changed them to "md5"
I verified from command line I could connect with the password after the change and "mailman info" now works. psql --host=localhost --dbname=mailman --username=mailman -W
************** contents of pg_hba.conf ****************************** ********************* What I changed it to **************** # TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident
********************* What it was from install ***************
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident
bader@cchmc.org writes:
Note: Abhilash already answered the installation questions. I have nothing to add there. My recommendations on using 3.6 are my personal take, YMMV.
Also, we are using python 3.6, will that be a major issue?
It shouldn't be. In a quick look I see no features in Python 3.7 or 3.8 that would make us want to bump our minimum supported Python version soon.
However, Python 3.6 is in source-only, security fixes only support, and that will end in December. I would be uncomfortable with exposing that to the Internet. I would check if the distro package up to date (current Python.org release is 3.6.13 on 2021-02-15, or at least 3.6.12 on 2020-08-17)?
or should spend the time to install 3.7 from source?
I don't recommend investing effort in 3.7 because it is already in source-only, security fixes only support, although that goes until mid-2023. 3.8 goes into that mode in May of this year. If you're going to install from source just for Mailman, I would recommend bumping to 3.9 at least if it's supported for your version of Centos, and 3.8 if for some reason 3.9 doesn't want to work on your system.
Steve
participants (3)
-
Abhilash Raj
-
bader@cchmc.org
-
Stephen J. Turnbull