Mark - What is the difference between to two install methods? What are my pros and cons?
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| |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| | | | |
https://docs.mailman3.org/en/latest/install/install.html
I was following this "official" page. There is no word on "pip install mailman" as an alternate choise?
There is also a reference in regards to "Virtualenv Installation <https://docs.mailman3.org/en/latest/install/virtualenv.html#virtualenv-install>, recommended for Production" ... why is this recommended? Does the "pip install mailmail" install a production environment I can trust?
On 5/29/20 10:41 AM, Ralf Wiegand wrote:
Mark - What is the difference between to two install methods? What are my pros and cons?
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| |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| | | | |
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/
On 5/29/20 7:49 AM, Ralf Wiegand wrote:
https://docs.mailman3.org/en/latest/install/install.html
I was following this "official" page. There is no word on "pip install mailman" as an alternate choise?
There is also a reference in regards to "Virtualenv Installation <https://docs.mailman3.org/en/latest/install/virtualenv.html#virtualenv-install>, recommended for Production" ... why is this recommended? Does the "pip install mailmail" install a production environment I can trust?
I didn't write that page, but I think it is saying that for production, installing in a virtualenv is preferred over installing globally, and not that it is necessarily preferred over installing a Docker container or a distro package.
However, if you actually read the Virtualenv Installation document, you
will see under Installing Mailman Core
<https://docs.mailman3.org/en/latest/install/virtualenv.html#installing-mailman-core>
it says to install Mailman core via pip install mailman
in the virtualenv.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Fri, May 29, 2020, at 8:36 AM, Mark Sapiro wrote:
On 5/29/20 7:49 AM, Ralf Wiegand wrote:
https://docs.mailman3.org/en/latest/install/install.html
I was following this "official" page. There is no word on "pip install mailman" as an alternate choise?
There is also a reference in regards to "Virtualenv Installation <https://docs.mailman3.org/en/latest/install/virtualenv.html#virtualenv-install>, recommended for Production" ... why is this recommended? Does the "pip install mailmail" install a production environment I can trust?
I didn't write that page, but I think it is saying that for production, installing in a virtualenv is preferred over installing globally, and not that it is necessarily preferred over installing a Docker container or a distro package.
Should we edit the wording to signify something else? I guess the definition of production varies a lot. While many would prefer distro packages to use in their sites, some others want the latest bug-fixed version.
Debian picks up their packages from PyPI too, but they verify the signatures on packages, which pip
doesn't. So, from a strict security point of view, Debian might be slightly better, but with the lack of a proper Web Of Trust in PyPI, the value of the signature depends on how much you trust my signing key.
However, if you actually read the Virtualenv Installation document, you will see under Installing Mailman Core <https://docs.mailman3.org/en/latest/install/virtualenv.html#installing-mailman-core> it says to install Mailman core via
pip install mailman
in the virtualenv.-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
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)
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
participants (3)
-
Abhilash Raj
-
Mark Sapiro
-
Ralf Wiegand