Hi,
thanks for the kind introduction.
I set up mattermost on Ubuntu 16.04.1 following the guide for an installation under Ubuntu 14.04.
Differences
General setup
My setup was done running all services on one machine. Therefore I did not specify an IP for the server but used localhost
or 127.0.0.1
(if an IP was required) instead.
I installed the latest release - 3.4.0.
apt instead of apt-get
One small difference is that I used apt
instead of apt-get
which is more a personal liking instead of a requirement.
Commands now are i.e. apt install nginx
instead of apt-get install nginx
.
apt-get still works like it used to.
Postgres
Postgres on Ubuntu 16.04 is 9.5 and therefore the paths to the configs are:
/etc/postgresql/9.5/main/postgresql.conf
/etc/postgresql/9.5/main/pg_hba.conf
The configs for multi-server setup seem to still apply but I did not test this.
Init-System
Ubuntu 16.04 makes use of systemd. Therefore we need a unitfile that works.
I used the unit found at https://gist.github.com/misje/3f1bfe8dffd060994605 as a template and ended up with the following:
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
Requires=postgresql.service
[Service]
Type=simple
ExecStart=/home/mattermost/mattermost/bin/platform
Restart=always
RestartSec=10
WorkingDirectory=/home/mattermost/mattermost
User=mattermost
Group=mattermost
[Install]
WantedBy=multi-user.target
This has to be saved at /lib/systemd/system/mattermost.service
with root-rights.
To make systemd read in the file we issue systemctl daemon-reload
.
If everything works we see some output from systemctl status mattermost.service
that looks like this:
● mattermost.service - Mattermost
Loaded: loaded (/lib/systemd/system/mattermost.service; disabled; vendor pres
Active: inactive (dead)
We see the service was loaded but is inactive.
We can now activate the service (so it will be started automatically after a reboot): systemctl enable mattermost.service
We can now start the service via systemctl start mattermost.service
.
If we now issue systemctl status mattermost.service
the service should be Active (running)
.
Also the output from curl http://localhost:8065
should contain <title>Mattermost</title>
.
For any maintenance we can use systemctl:
systemctl stop mattermost.service
systemctl restart mattermost.service
nginx
Everything works as displayed. For full use of systemd we can make use of systemctl
again for managing the service:
sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl restart nginx.service
For now I did not test setting up SSL for nginx.
Conclusion
So far the only greater change seems to be using systemd instead of Upstart.
Other than that I did not find any roadblocks and was able to set up an instance that I could create teams on and chat with myself (how intriguing ;)).