[Requesting everyone to be patient with me because I am not so good with Linux, Docker is a completely new thing to me, and MM3, well....]
So, I have a VM running Ubuntu-18.04. It is in a Data Centre somewhere. It has an IP n.n.n.n (a public IP). Also, it does not have high resources. However, I hope I can at least get to install MM3 and test it using https://asynchronous.in/docker-mailman/
If I could run MM3 using the apt-get install method, perhaps that would have made my life a bit easier, hoping that MM3 can actually be run in parallel with MM2.1 on the same host. Is anyone doing that already??
Anyway, I need some hand-holding using the docker method for now. I am reading the steps as documented on the https://asynchronous.in/docker-mailman/ and somethings aren't clear to me:
I have created two files: (a) /opt/mailman/web/settings_local.py: SERVE_FROM_DOMAIN: 'mm3.my.co.ke' ALLOWED_HOSTS: 'my.co.ke' HYPERKITTY_API_KEY: 'Whatever' MAILMAN_ADMIN_USER: 'admin' MAILMAN_ADMIN_EMAIL: 'odhiambo@gmail.com' SECRET_KEY: 'Whatever' EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = '172.19.199.1' EMAIL_PORT = 25
(b) /opt/mailman/core/mailman-extra.cfg HYPERKITTY_API_KEY: 'Whatever' DATABASE_URL: 'mysql+pymysql://mailman:mailmanpass@database/mailmandb' DATABASE_TYPE: 'mysql' DATABASE_CLASS: 'mailman.database.mysql.MySQLDatabase'
Questions: Are the formats correct? Do I use quotes or not?
My docker-compuse.yaml:
version: '2'
services: mailman-core: image: maxking/mailman-core:latest container_name: mailman-core hostname: mailman-core volumes: - /opt/mailman/core:/opt/mailman/ links: - database:database depends_on: - database environment: - DATABASE_URL=mysql+pymysql://mailman:mailmanpass@database/mailmandb - DATABASE_TYPE=mysql - DATABASE_CLASS=mailman.database.mysql.MySQLDatabase - HYPERKITTY_API_KEY=someapikey networks: mailman: ipv4_address: 172.19.199.2
mailman-web: image: maxking/mailman-web:latest container_name: mailman-web hostname: mailman-web depends_on: - database links: - mailman-core:mailman-core - database:database volumes: - /opt/mailman/web:/opt/mailman-web-data environment: - DATABASE_URL=mysql://mailman:mailmanpass@database/mailmandb - DATABASE_TYPE=mysql - HYPERKITTY_API_KEY=someapikey - SECRET_KEY=thisisaverysecretkey - DYLD_LIBRARY_PATH=/usr/local/mysql/lib/ networks: mailman: ipv4_address: 172.19.199.3
database: environment: MYSQL_DATABASE: mailmandb MYSQL_USER: mailman MYSQL_PASSWORD: mailmanpass MYSQL_RANDOM_ROOT_PASSWORD: "yes" restart: always image: mariadb:10.3 volumes: - /opt/mailman/database:/var/lib/mysql
After all that, I have run the following:
wash@lists:~/docker-mailman$ docker-compose up -d Creating network "docker-mailman_mailman" with driver "bridge" Creating docker-mailman_database_1 ... done Creating mailman-core ... done Recreating 4b7bc1ecef65_mailman-web ... done
Question - Should I assume everything is okay and proceed to the next steps?
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
On 1/6/19 6:54 AM, Odhiambo Washington wrote:
If I could run MM3 using the apt-get install method, perhaps that would have made my life a bit easier, hoping that MM3 can actually be run in parallel with MM2.1 on the same host. Is anyone doing that already??
Yes. I am on two production and one development machines. See, e.g. <https://mail.python.org/mailman/listinfo/> and <https://mail.python.org/mailman3/>
One caveat here is I install both Mailman 2.1 and Mailman 3 from source on all these machines. I don't know for example if the Debian/Ubuntu packages play well together.
See <https://wiki.list.org/DOC/Mailman%203%20installation%20experience> for more on how I install MM 3.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Sun, 6 Jan 2019 at 18:55, Mark Sapiro <mark@msapiro.net> wrote:
On 1/6/19 6:54 AM, Odhiambo Washington wrote:
If I could run MM3 using the apt-get install method, perhaps that would have made my life a bit easier, hoping that MM3 can actually be run in parallel with MM2.1 on the same host. Is anyone doing that already??
Yes. I am on two production and one development machines. See, e.g. <https://mail.python.org/mailman/listinfo/> and <https://mail.python.org/mailman3/>
One caveat here is I install both Mailman 2.1 and Mailman 3 from source on all these machines. I don't know for example if the Debian/Ubuntu packages play well together.
On my Ubuntu machine, I decided to install MM21 from source so I am willing to install MM3 either from source, package or docker. The sparse documentation is my undoing.
See <https://wiki.list.org/DOC/Mailman%203%20installation%20experience> for more on how I install MM 3.
I have seen that link, but it's missing a ton of details within the process. As I mentioned before, these virtualenv stuff are new to me too, so I thought dockernization would simplify things. If you could include the missing steps that you left out then I could possibly be able to follow the steps :-)
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
On 1/6/19 8:47 AM, Odhiambo Washington wrote:
If you could include the missing steps that you left out then I could possibly be able to follow the steps :-)
Please help me understand what steps are missing and I will try to provide the information.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Sun, 6 Jan 2019 at 23:39, Mark Sapiro <mark@msapiro.net> wrote:
On 1/6/19 8:47 AM, Odhiambo Washington wrote:
If you could include the missing steps that you left out then I could possibly be able to follow the steps :-)
Please help me understand what steps are missing and I will try to provide the information.
Okay.
At the installation stage, you say the following: "I already had some things set up in /opt/mailman including a git subdirectory containing clones of the GitLab mailman, mailmanclient, mailman-hyperkitty, hyperkitty, django-mailman3 and postorius projects. On the third server I have added mailman-suite because I use the settings.py from that project as the basis for mine."
Please assume that the reader is a newbie to python3 virtualenv and give the details of the commands they need to execute to (a) clone all the projects needed and (b) create the virtualenv.
The next steps are: mkdir /opt/mailman/mm
Then you say "I then created a /opt/mailman/mm directory and within that a Python 3.6 virtualenv" What happens here is something that needs clarification, because you are specific about "python3.6". I have googled and realized that one has to be specific about the python version they want to use in their virtualenv as shown here -> https://stackoverflow.com/questions/45293436/how-to-specify-python-version-u...
exact command to execute to create the /opt/mailman/mm/venv exact command to execute to activate virtualenv
From there, I think the newbie can follow and fumble till they come up with a working MM3 site. Come to think of it, your steps kind of look clearer than most that I have encountered. I do understand that there are only a few people working on the MM3 development, which I think is the reason there still isn't a document similar to the ones included with MM2.1x source under doc/ However, if your steps here are polished a little, they can possibly become one such doc. I think MM3 docs would come with three options - virtualenv option, docker option and package option. Installing from source seems like something not easily doable.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
On 1/7/19 1:18 AM, Odhiambo Washington wrote:
On Sun, 6 Jan 2019 at 23:39, Mark Sapiro <mark@msapiro.net> wrote:
Please help me understand what steps are missing and I will try to provide the information.
Okay.
At the installation stage, you say the following: "I already had some things set up in /opt/mailman including a git subdirectory containing clones of the GitLab mailman, mailmanclient, mailman-hyperkitty, hyperkitty, django-mailman3 and postorius projects. On the third server I have added mailman-suite because I use the settings.py from that project as the basis for mine."
Please assume that the reader is a newbie to python3 virtualenv and give the details of the commands they need to execute to (a) clone all the projects needed and (b) create the virtualenv.
The next steps are: mkdir /opt/mailman/mm
Then you say "I then created a /opt/mailman/mm directory and within that a Python 3.6 virtualenv" What happens here is something that needs clarification, because you are specific about "python3.6". I have googled and realized that one has to be specific about the python version they want to use in their virtualenv as shown here -> https://stackoverflow.com/questions/45293436/how-to-specify-python-version-u...
exact command to execute to create the /opt/mailman/mm/venv exact command to execute to activate virtualenv
I have added a comment to the page which I hope gives you what you want.
I also added a section on templates instead of referring to a prior version of the page.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Tue, 8 Jan 2019 at 03:29, Mark Sapiro <mark@msapiro.net> wrote:
On Sun, 6 Jan 2019 at 23:39, Mark Sapiro <mark@msapiro.net> wrote:
Please help me understand what steps are missing and I will try to provide the information.
Okay.
At the installation stage, you say the following: "I already had some things set up in /opt/mailman including a git subdirectory containing clones of the GitLab mailman, mailmanclient, mailman-hyperkitty, hyperkitty, django-mailman3 and postorius projects. On the third server I have added mailman-suite because I use the settings.py from that project as the basis for mine."
Please assume that the reader is a newbie to python3 virtualenv and give
details of the commands they need to execute to (a) clone all the
On 1/7/19 1:18 AM, Odhiambo Washington wrote: the projects
needed and (b) create the virtualenv.
The next steps are: mkdir /opt/mailman/mm
Then you say "I then created a /opt/mailman/mm directory and within that a Python 3.6 virtualenv" What happens here is something that needs clarification, because you are specific about "python3.6". I have googled and realized that one has to be specific about the python version they want to use in their virtualenv as shown here ->
https://stackoverflow.com/questions/45293436/how-to-specify-python-version-u...
exact command to execute to create the /opt/mailman/mm/venv exact command to execute to activate virtualenv
I have added a comment to the page which I hope gives you what you want.
I also added a section on templates instead of referring to a prior version of the page.
That makes it better. However, as a newbie, something is not yet clear:
"When active in a particular shell, it can be deactivated with the command
deactivate or by exiting that shell."
HI am trying to understand the effect of detaching from a venv. I am assuming that a virtualenv is a container that is supposed to be always active for the services within to be accessible. Is that right? So, how do I ensure it's always running/up, or that does not matter as the scripts which run the services will always refer to the files?
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
On Tue, Jan 8, 2019, at 5:52 AM, Odhiambo Washington wrote:
On Tue, 8 Jan 2019 at 03:29, Mark Sapiro <mark@msapiro.net> wrote:
On Sun, 6 Jan 2019 at 23:39, Mark Sapiro <mark@msapiro.net> wrote:
Please help me understand what steps are missing and I will try to provide the information.
Okay.
At the installation stage, you say the following: "I already had some things set up in /opt/mailman including a git subdirectory containing clones of the GitLab mailman, mailmanclient, mailman-hyperkitty, hyperkitty, django-mailman3 and postorius projects. On the third server I have added mailman-suite because I use the settings.py from that project as the basis for mine."
Please assume that the reader is a newbie to python3 virtualenv and give
details of the commands they need to execute to (a) clone all the
On 1/7/19 1:18 AM, Odhiambo Washington wrote: the projects
needed and (b) create the virtualenv.
The next steps are: mkdir /opt/mailman/mm
Then you say "I then created a /opt/mailman/mm directory and within that a Python 3.6 virtualenv" What happens here is something that needs clarification, because you are specific about "python3.6". I have googled and realized that one has to be specific about the python version they want to use in their virtualenv as shown here ->
https://stackoverflow.com/questions/45293436/how-to-specify-python-version-u...
exact command to execute to create the /opt/mailman/mm/venv exact command to execute to activate virtualenv
I have added a comment to the page which I hope gives you what you want.
I also added a section on templates instead of referring to a prior version of the page.
That makes it better. However, as a newbie, something is not yet clear:
"When active in a particular shell, it can be deactivated with the command
deactivate or by exiting that shell."
HI am trying to understand the effect of detaching from a venv. I am assuming that a virtualenv is a container that is supposed to be always active for the services within to be accessible. Is that right? So, how do I ensure it's always running/up, or that does not matter as the scripts which run the services will always refer to the files?
virtualenv is not actually a container that is supposed to be active. It is merely a set of settings that are applied to your SHELL when you are in the virtual environment.
It is not supposed to be always active, only when you actually want to run commands in that virtual environment. The services will keep on running after you deactivate your shell and would function like other normal services on your machine.
-- thanks, Abhilash Raj (maxking)
On Tue, Jan 8, 2019, 20:34 Abhilash Raj <maxking@asynchronous.in wrote:
On Tue, 8 Jan 2019 at 03:29, Mark Sapiro <mark@msapiro.net> wrote:
On Sun, 6 Jan 2019 at 23:39, Mark Sapiro <mark@msapiro.net> wrote:
Please help me understand what steps are missing and I will try to provide the information.
Okay.
At the installation stage, you say the following: "I already had some things set up in /opt/mailman including a git subdirectory containing clones of the GitLab mailman, mailmanclient, mailman-hyperkitty, hyperkitty, django-mailman3 and postorius projects. On the third server I have added mailman-suite because I use the settings.py from that project as the basis for mine."
Please assume that the reader is a newbie to python3 virtualenv and give
details of the commands they need to execute to (a) clone all the
On 1/7/19 1:18 AM, Odhiambo Washington wrote: the projects
needed and (b) create the virtualenv.
The next steps are: mkdir /opt/mailman/mm
Then you say "I then created a /opt/mailman/mm directory and within
a
Python 3.6 virtualenv" What happens here is something that needs clarification, because you are specific about "python3.6". I have googled and realized that one has to be specific about the
On Tue, Jan 8, 2019, at 5:52 AM, Odhiambo Washington wrote: that python
version they want to use in their virtualenv as shown here ->
https://stackoverflow.com/questions/45293436/how-to-specify-python-version-u...
exact command to execute to create the /opt/mailman/mm/venv exact command to execute to activate virtualenv
I have added a comment to the page which I hope gives you what you want.
I also added a section on templates instead of referring to a prior version of the page.
That makes it better. However, as a newbie, something is not yet clear:
"When active in a particular shell, it can be deactivated with the command
deactivate or by exiting that shell."
HI am trying to understand the effect of detaching from a venv. I am assuming that a virtualenv is a container that is supposed to be always active for the services within to be accessible. Is that right? So, how do I ensure it's always running/up, or that does not matter as the scripts which run the services will always refer to the files?
virtualenv is not actually a container that is supposed to be active. It is merely a set of settings that are applied to your SHELL when you are in the virtual environment.
It is not supposed to be always active, only when you actually want to run commands in that virtual environment. The services will keep on running after you deactivate your shell and would function like other normal services on your machine.
-- thanks, Abhilash Raj (maxking)
Thank you for clarifying. So once I have a venv created, the services will just run as long as the startup scripts are running even when I'm logged out of the system?
On 1/8/19 10:03 AM, Odhiambo Washington wrote:
Thank you for clarifying. So once I have a venv created, the services will just run as long as the startup scripts are running even when I'm logged out of the system?
As long as the startup scripts actually reference things in the venv.
If you look at the samples in the Recommended Configuration section at <https://wiki.list.org/x/17891998> for
/opt/mailman/mm/bin/django-admin (sample) Script to run Django management commands.
/opt/mailman/mm/bin/mailman (sample) Script to run mailman commands.
and
/opt/mailman/mm/bin/gunicorn (sample) Script to start Gunicorn.
You will see they all do things like activate the venv or run a command from venv/bin.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Wed, 9 Jan 2019 at 00:16, Mark Sapiro <mark@msapiro.net> wrote:
On 1/8/19 10:03 AM, Odhiambo Washington wrote:
Thank you for clarifying. So once I have a venv created, the services will just run as long as the startup scripts are running even when I'm logged out of the system?
As long as the startup scripts actually reference things in the venv.
If you look at the samples in the Recommended Configuration section at <https://wiki.list.org/x/17891998> for
/opt/mailman/mm/bin/django-admin (sample) Script to run Django management commands.
/opt/mailman/mm/bin/mailman (sample) Script to run mailman commands.
and
/opt/mailman/mm/bin/gunicorn (sample) Script to start Gunicorn.
You will see they all do things like activate the venv or run a command from venv/bin.
Now that has clarified the matter for me. That even when I am logged out, the scripts do the neccessary to activate the venv to run things. I hadn't looked at the scripts at all.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
On 1/8/19 10:50 PM, Odhiambo Washington wrote:
Now that has clarified the matter for me. That even when I am logged out, the scripts do the neccessary to activate the venv to run things.
As mentioned before, a virtualenv is not like a container. It is only a directory that contains among other things a bin/ directory with activate scripts and easy_install, python, pip and wheel commands.
When you activate a virtualenv in your shell, all it really does is add a deactivate command, modify the command prompt and insert its bin/ directory at the beginning of its PATH.
What this means is whether or not a virtualenv is "active", running a command from the bin/ directory in the virtualenv is using the virtualenv.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Wed, 9 Jan 2019 at 19:25, Mark Sapiro <mark@msapiro.net> wrote:
On 1/8/19 10:50 PM, Odhiambo Washington wrote:
Now that has clarified the matter for me. That even when I am logged out, the scripts do the neccessary to activate the venv to run things.
As mentioned before, a virtualenv is not like a container. It is only a directory that contains among other things a bin/ directory with activate scripts and easy_install, python, pip and wheel commands.
When you activate a virtualenv in your shell, all it really does is add a deactivate command, modify the command prompt and insert its bin/ directory at the beginning of its PATH.
What this means is whether or not a virtualenv is "active", running a command from the bin/ directory in the virtualenv is using the virtualenv.
Thank you very much for the elaboration. What used to confuse me was the early stage documents which detailed how to run MM3 in a virtual environment - I am talking about the BETA days. I think from this point onward, I have the complete foundation information to move forward.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
I am making an attempt to install MM3 using instructions from https://wiki.list.org/DOC/Mailman%203%20installation%20experience I have chosen to try and run on FreeBSD much as I know that it will not be easy. However, I am thinking that with virtualenv, bar for the startup scripts for the various non-standard components, the only issues would be in making mailman3 and qcluster to start. At that point I hope I will get help in crafting the necessary startup scripts compatible with FreeBSD - probably just derivatives of the ones used in init.d.
So far I have made some steps, but at some point I got temporarily stuck midstream. I have decided to detail what I did to move ahead. Maybe other FreeBSD users will find this useful.
After activating the venv, I have successfully installed psycopg2-binary using 'pip3 install psycopg2-binary' The next step is 'pip3 install pylibmc', and that fails with not finding several files. Those files are in /usr/local/inculde/${dirname} where as the build was looking for then in /usr/include/${dirname} so I created symlinks in /usr/include:
# cd /usr/include # ln -s /usr/local/include/libmemcached libmemcached # ln -s /usr/local/include/libmemcached-1.0 libmemcached-1.0 # ln -s /usr/local/include/libhashkit libhashkit # ln -s /usr/local/include/libhashkit-1.0 libhashkit-1.0 # ln -s /usr/local/include/sasl sasl
Now that I look at it, I think you should clarify that if one is not
interested in using PostgreSQL (which is what pip install psycopg2-binary
is for),
then there should be some different binary they need to install, no? And
which one is it?
Under your "*Recommended Configuration*", I have followed each step,
getting the files and editing them to suite my needs, until I got to where
you refer to:
/opt/mailman/mm/settings.py (copy of the mailman-suite settings.py file but
with DEBUG = False)
I tried to get this file using git clone https://gitlab.com/mailman/mailman_suite.git
and realized that
authentication is required in order to get it.
What is the reason you did not include a copy like for the rest??
I have created the executables - all of them.
I have created the templates and did find . -type f -exec sed -i.BAK 's/ mailman3.org/mydomain.name/g' {} \;
Maybe you should state explicitly that once one gets these templates, they
need to change the url to match theirs. You said it, but it doesn't come out
forcefully :0
In your "MTA" section, I suppose you need to be a little more generic as well and accommodate Exim users. First I suggest you clearly state that one needs to edit /opt/mailman/mm/ mailman.cf to ensure that the values under [mta] match what is required. Maybe there is a different file to edit for MTA settings???
So far .....
Next, I will be looking into "Running Things".... which is where I believe things will get thicker ....
Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
On 1/11/19 6:51 AM, Odhiambo Washington wrote:
Now that I look at it, I think you should clarify that if one is not interested in using PostgreSQL (which is what
pip install psycopg2-binary
is for), then there should be some different binary they need to install, no? And which one is it?
I have added a note to the comment at https://wiki.list.org/DOC/Mailman%203%20installation%20experience which says:
"""Also, please note the first paragraph of the introduction. This is documentation of my decisions and experiences. It is not a how-to and does not replace the documentation at http://docs.list.org/"""
In particular, documentation of the requirements for different databases is at <https://mailman.readthedocs.io/en/latest/src/mailman/docs/database.html>.
Under your "*Recommended Configuration*", I have followed each step, getting the files and editing them to suite my needs, until I got to where you refer to: /opt/mailman/mm/settings.py (copy of the mailman-suite settings.py file but with DEBUG = False) I tried to get this file using
git clone https://gitlab.com/mailman/mailman_suite.git
and realized that authentication is required in order to get it.
Because you should be getting <https://gitlab.com/mailman/mailman-suite.git> (hyphen, not underscore) which works without authentication.
Or you could just go to <https://gitlab.com/mailman/mailman-suite/blob/master/mailman-suite_project/s...> and copy it from there.
What is the reason you did not include a copy like for the rest??
Because it's available on GitLab.
I have created the executables - all of them. I have created the templates and did
find . -type f -exec sed -i.BAK 's/ mailman3.org/mydomain.name/g' {} \;
Maybe you should state explicitly that once one gets these templates, they need to change the url to match theirs. You said it, but it doesn't come out forcefully :0
I added "Of course, if you use these you need to edit the URLs for your site."
In your "MTA" section, I suppose you need to be a little more generic as well and accommodate Exim users. First I suggest you clearly state that one needs to edit /opt/mailman/mm/ mailman.cf to ensure that the values under [mta] match what is required. Maybe there is a different file to edit for MTA settings???
Again, I'm documenting MY experience, not trying to replace the official documentation. I refer to <https://mailman.readthedocs.io/en/latest/src/mailman/docs/mta.html#postfix> because I use Postfix. That same page also has Exim documentation.
So far .....
Next, I will be looking into "Running Things".... which is where I believe things will get thicker ....
Perhaps when you're done you will write u your experiences with FreeBSD and Exim.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
I am keeping all of my steps in a text file. If I end up with a functional install, then I believe FreeBSD users will be able to install MM3 using virtualenv. I am banking on the help of the experts here to achieve that and document it. So far, I don't know anyone who is using FreeBSD who has managed to install and run MM3. This will be the first time anyone has ever done it. I therefore beg all of you to accommodate my stupidity. I'm 50 in April so it's not a mean feat 😂 😂
On Fri, Jan 11, 2019, 23:10 Mark Sapiro <mark@msapiro.net wrote:
On 1/11/19 6:51 AM, Odhiambo Washington wrote:
Now that I look at it, I think you should clarify that if one is not interested in using PostgreSQL (which is what `pip install
psycopg2-binary`
is for), then there should be some different binary they need to install, no? And which one is it?
I have added a note to the comment at https://wiki.list.org/DOC/Mailman%203%20installation%20experience which says:
"""Also, please note the first paragraph of the introduction. This is documentation of my decisions and experiences. It is not a how-to and does not replace the documentation at http://docs.list.org/"""
In particular, documentation of the requirements for different databases is at <https://mailman.readthedocs.io/en/latest/src/mailman/docs/database.html>.
Under your "*Recommended Configuration*", I have followed each step, getting the files and editing them to suite my needs, until I got to where you refer to: /opt/mailman/mm/settings.py (copy of the mailman-suite settings.py file but with DEBUG = False) I tried to get this file using
git clone https://gitlab.com/mailman/mailman_suite.git
<https://gitlab.com/mailman/mailman_suite.git> and realized that authentication is required in order to get it.Because you should be getting <https://gitlab.com/mailman/mailman-suite.git> (hyphen, not underscore) which works without authentication.
Or you could just go to < https://gitlab.com/mailman/mailman-suite/blob/master/mailman-suite_project/s...
and copy it from there.
What is the reason you did not include a copy like for the rest??
Because it's available on GitLab.
I have created the executables - all of them. I have created the templates and did
find . -type f -exec sed -i.BAK 's/ mailman3.org/mydomain.name/g' {} \;
Maybe you should state explicitly that once one gets these templates, they need to change the url to match theirs. You said it, but it doesn't come out forcefully :0I added "Of course, if you use these you need to edit the URLs for your site."
In your "MTA" section, I suppose you need to be a little more generic as well and accommodate Exim users. First I suggest you clearly state that one needs to edit /opt/mailman/mm/ mailman.cf to ensure that the values under [mta] match what is required. Maybe there is a different file to edit for MTA settings???
Again, I'm documenting MY experience, not trying to replace the official documentation. I refer to < https://mailman.readthedocs.io/en/latest/src/mailman/docs/mta.html#postfix
because I use Postfix. That same page also has Exim documentation.
So far .....
Next, I will be looking into "Running Things".... which is where I believe things will get thicker ....
Perhaps when you're done you will write u your experiences with FreeBSD and Exim.
-- 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/
I have created two files: (a) /opt/mailman/web/settings_local.py: SERVE_FROM_DOMAIN: 'mm3.my.co.ke' ALLOWED_HOSTS: 'my.co.ke' HYPERKITTY_API_KEY: 'Whatever' MAILMAN_ADMIN_USER: 'admin' MAILMAN_ADMIN_EMAIL: 'odhiambo(a)gmail.com' SECRET_KEY: 'Whatever' EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = '172.19.199.1' EMAIL_PORT = 25
Hi Odhiambo,
If you are using Docker then some of those settings are handled by the docker-compuse.yaml file. As you know, I now have a fully working MM3 installation howbeit on CentOS 7. Here is what I have in my settings_local.py file:
ALLOWED_HOSTS=['1stvirtualhost.domain.com', "localhost", "127.0.0.1", "173.230.131.82", "mailman-web", "2ndvirtualhost.domain.com"] EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = '172.19.199.1' EMAIL_PORT = 25 FILTER_VHOST = True
The virtualhost entries are the two subdomains that I currently have setup in Mailman 3.
I will respond more to your inquiry later. Brian
On Sun, 6 Jan 2019 at 22:25, <brian@emwd.com> wrote:
I have created two files: (a) /opt/mailman/web/settings_local.py: SERVE_FROM_DOMAIN: 'mm3.my.co.ke' ALLOWED_HOSTS: 'my.co.ke' HYPERKITTY_API_KEY: 'Whatever' MAILMAN_ADMIN_USER: 'admin' MAILMAN_ADMIN_EMAIL: 'odhiambo(a)gmail.com' SECRET_KEY: 'Whatever' EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = '172.19.199.1' EMAIL_PORT = 25
Hi Odhiambo,
If you are using Docker then some of those settings are handled by the docker-compuse.yaml file. As you know, I now have a fully working MM3 installation howbeit on CentOS 7. Here is what I have in my settings_local.py file:
ALLOWED_HOSTS=['1stvirtualhost.domain.com', "localhost", "127.0.0.1", "173.230.131.82", "mailman-web", "2ndvirtualhost.domain.com"] EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = '172.19.199.1' EMAIL_PORT = 25 FILTER_VHOST = True
The virtualhost entries are the two subdomains that I currently have setup in Mailman 3.
I will respond more to your inquiry later. Brian
Hi Brian,
I am waiting your guidance. Thanks for coming to my rescue with this. I suppose after you look at my files, you can ask questions and correct me where necessary. Perhaps that way me and you can come up with a clear step-by-step howto for running MM2 on docker.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
Did you change your settings_local.py file to match mine?
For the docker-compose.yaml file:
For the mailman-core, yours looks just like mine except I have:
stop_grace_period: 30s
I don't know if that setting makes any difference. I am also using the included postgres database instead of mysql.
For the mailman-web section, you need to add the following:
- SERVE_FROM_DOMAIN=yourdomain
- MAILMAN_ADMIN_USER=youruser
- MAILMAN_ADMIN_EMAIL=youradminemailaddress
I have no quotes in the above 3 settings.
What webserver are you using with your MM3 installation.
Brian
On Mon, 7 Jan 2019 at 23:07, <brian@emwd.com> wrote:
Did you change your settings_local.py file to match mine?
Yes, almost everything.
For the docker-compose.yaml file:
For the mailman-core, yours looks just like mine except I have:
stop_grace_period: 30s
So you just added:
- stop_grace_period: 30s
to the block??
I don't know if that setting makes any difference. I am also using the included postgres database instead of mysql.
For the mailman-web section, you need to add the following:
- SERVE_FROM_DOMAIN=yourdomain - MAILMAN_ADMIN_USER=youruser - MAILMAN_ADMIN_EMAIL=youradminemailaddress
The mailman-web section has sub-sections. Under which one do I add these? environment?? Or networks below the IP address?
I have no quotes in the above 3 settings.
What webserver are you using with your MM3 installation.
I have apache2 and nginx on the server. Apache listens on 80 and 443 while nginx listens on 8080 and 8443.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
Odhiambo Washington wrote:
So you just added:
- stop_grace_period: 30s
to the block??
I actually did not add it. It was already there from the docker files that I pulled from:
https://github.com/maxking/docker-mailman
I don't know if that setting makes any difference. I am also using the included postgres database instead of mysql.
For the mailman-web section, you need to add the following:
- SERVE_FROM_DOMAIN=yourdomain - MAILMAN_ADMIN_USER=youruser - MAILMAN_ADMIN_EMAIL=youradminemailaddress
The mailman-web section has sub-sections. Under which one do I add these? environment?? Or networks below the IP address?
Under the environment sub-section.
I have apache2 and nginx on the server. Apache listens on 80 and 443 while nginx listens on 8080 and 8443.
I won't be of much help here I am afraid. My server is just using nginx.
Brian
On Tue, 8 Jan 2019 at 16:58, <brian@emwd.com> wrote:
Odhiambo Washington wrote:
So you just added:
- stop_grace_period: 30s
to the block??
I actually did not add it. It was already there from the docker files that I pulled from:
That's odd, because I also pulled the same file, but it doesn't have it.
I don't know if that setting makes any difference. I am also using the included postgres database instead of mysql.
For the mailman-web section, you need to add the following:
- SERVE_FROM_DOMAIN=yourdomain - MAILMAN_ADMIN_USER=youruser - MAILMAN_ADMIN_EMAIL=youradminemailaddress
The mailman-web section has sub-sections. Under which one do I add these? environment?? Or networks below the IP address?
Under the environment sub-section.
Added those now.
I have apache2 and nginx on the server. Apache listens on 80 and 443 while nginx listens on 8080 and 8443.
I won't be of much help here I am afraid. My server is just using nginx.
Well, I suppose https://FQDN:8443/something should lead to the MM3 web UI??
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
participants (4)
-
Abhilash Raj
-
brianï¼ emwd.com
-
Mark Sapiro
-
Odhiambo Washington