On 5/29/20 7:41 AM, Ralf Wiegand wrote:
Mark - What is the difference between to two install methods? What are my pros and cons?
Installing from the GitLab repository will get the latest development version, however, you can also install from this repository via pip and pick a tag or commit to install <https://pip.pypa.io/en/stable/reference/pip_install/#git>
pip install mailman3
will install the latest released version. As of
this writing, that's 3.3.1, so
pip install mailman3
and
pip install git+https://gitlab.com/mailman/mailman@3.3.1
should give the same result although the former installs from PyPI and the latter from GitLab.
The advantage to installing the latest version from GitLab is you get features and fixes that haven't been released yet. The disadvantage is you might get new bugs, although the servers that support this list and all the Mailman 3 @python.org lists are generally running the latest GitLab versions, so any serious issues will be quickly found and fixed.
I have been using this:
|# Note: if we are using a dedicated postgresql database server, all postgresql changes need to be done on the actual postgresql server.| |>>>| |sudo yum install postgresql-server postgresql-contrib| |sudo postgresql-setup initdb| |sudo systemctl start postgresql| |sudo systemctl enable postgresql| |sudo -u postgres psql -c ||"SELECT version();"| |sudo useradd -c ||"Mailman User"| |-s /bin/bash -m mailman| |sudo -u postgres create role mailman;| |sudo -u postgres createdb -O $USER mailman| |sudo -u postgres psql -c ||"grant all privileges on database mailman to mailman;"| |sudo -u postgres psql -c ||"ALTER ROLE mailman WITH PASSWORD 'secret123';"| |sudo -u postgres psql -c ||"ALTER ROLE "||mailman||" WITH LOGIN;"| |sudo echo ||"listen_addresses = '*' "| |>> /var/lib/pgsql/10/data/postgresql.conf| |sudo echo ||"# The user mailman will be able to access all databases from a trusted location (any) without a password"| |>> /var/lib/pgsql/data/pg_hba.conf| |sudo echo ||"host all mailman 0.0.0.0/0 trust"| |>> /var/lib/pgsql/data/pg_hba.conf| |sudo systemctl restart postgresql| |sudo ss -nlt | grep 5432| |<<<| |sudo yum install python36* --skip-broken -y| |# check make sure you have both versions| |sudo python --version| |Python 2.7.5| |sudo python3 --version| |Python 3.6.8| |sudo pip3 install psycopg2-binary| |sudo chown mailman.mailman /opt/mailman| |sudo chmod 755 /opt/mailman| |# NOTE: The first initial mailman3 core setup has to be done manually.| |# This is a important step to ensure the user "mailman" will run the actual mailman3 application and not root.| |# switch to user mailman| |mailman# cd /opt/mailman| |mailman# git clone https:||//gitlab.com/mailman/mailman.git|
This gets the head of the GitLab master branch.
|mailman# cat <<EOT >> /opt/mailman/mailman/src/mailman/config/mailman.cfg| |[devmode]| |enabled: yes| |recipient: root@localhost| |[webservice]| |hostname: localhost| |port: 8001| |show_tracebacks: yes| |use_https: yes| |[mta]| |incoming: mailman.mta.postfix.LMTP| |outgoing: mailman.mta.deliver.deliver| |lmtp_host: localhost| |lmtp_port: 8024| |smtp_host: localhost| |smtp_port: 25| |[database]| |class||: mailman.database.postgresql.PostgreSQLDatabase| |url: postgres:||//mailman:secret123@<IP-ADDRESS or FQDN>/mailman| |EOT| |mailman# python3.6 -m venv venv-3.6| |>>| |mailman# source venv-3.6/bin/activate| |(venv-3.6) [mailman@empire mailman]$ cd mailman| |(venv-3.6) [mailman@empire mailman]$ python setup.py develop| |(venv-3.6) [mailman@empire mailman]$ mailman info| |<<| | | | | |So I was told I don't have to do this, I can just simple do (rhel7) | |yum install pyhton3| |pip install mailman|
This gets the latest release from PyPI
Other than that, you still have to do the configuration and install some dependencies as in the first method.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan