blog:setup_up_mattermost_with_existing_gitlab
Table of Contents
Setup up Mattermost with existing Gitlab
Based on
I was trying to set up mattermost with Gitlab I have installed on an Apache2 server in Ubuntu from source. The follow procedure proved to work for me.
Install Docker
- Download and install Docker
sudo apt-get update sudo apt-get install wget wget -qO- https://get.docker.com/ | sh sudo usermod -aG docker <username> sudo service docker start newgrp docker
- Set up your dockerhost address by editing your
/etc/hosts
file to include the following line127.0.0.1 dockerhost
- Install build essentials
apt-get install build-essential
Install Go
If you installed the Gitlab 8+, you should already have GO installed.
Install Node.js
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash - sudo apt-get install -y nodejs
Install mysql server 5.6 or above
sudo apt-get update sudo apt-get install mysql-server-5.6
After that, create a databased called mattermost
Mattermost Server
- Download the latest Mattermost Server by typing:
wget https://releases.mattermost.com/2.2.0/mattermost-team-2.2.0-linux-amd64.tar.gz tar -xvzf mattermost.tar.gz
- Create the storage directory for files.
sudo mkdir -p /mattermost/data sudo chown -R username /mattermost
- Configure Mattermost Server by editing the config.json file at mattermost/config
- cd ~/mattermost/config
- Edit the file by typing:
nano config.json
- replace
DataSource“: “mmuser:mostest@tcp(dockerhost:3306)/mattermost?charset=utf8mb4,utf8
with your own mysql database name and password
- Test the Mattermost Server
cd ~/mattermost/bin ./platform
You should see a console log like
Server is listening on :8065
if it runs correctly.
- Stop the server for now by pressing ctrl-c
- Setup Mattermost to use the Upstart daemon which handles supervision of the Mattermost process.
sudo nano /etc/init/mattermost.conf
Copy the following lines into /etc/init/mattermost.conf
start on runlevel [2345] stop on runlevel [016] respawn chdir /home/ubuntu/mattermost setuid ubuntu exec bin/platform
- Test the setup by starting the service using
sudo start mattermost
Verify the service is running by typing: curl
http://127.0.0.1:8065
You should see a page titles Mattermost - Signup if running correctly.
Setup up the Apache2 server
- Create a config file using
sudo nano /etc/apache2/sites-available/mattermost.conf
- In the file, include the following (note to change your domain name):
<VirtualHost *:80> ServerName mattermost.xxx.org ProxyPreserveHost On RewriteEngine On RewriteCond %{REQUEST_URI} ^/api/v1/websocket [NC,OR] RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L] RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule .* http://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L] # Be sure to uncomment the next 2 lines if https is used # RequestHeader set X-Forwarded-Proto "https" # Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" # Prevent apache from sending incorrect 304 status updates RequestHeader unset If-Modified-Since RequestHeader unset If-None-Match <Location /api/v1/websocket> Require all granted ProxyPassReverse ws://127.0.0.1:8065/api/v1/websocket ProxyPassReverseCookieDomain 127.0.0.1 mattermost.xxx.org </Location> <Location /> Require all granted ProxyPassReverse http://127.0.0.1:8065/ ProxyPassReverseCookieDomain 127.0.0.1 mattermost.xxx.org </Location> </VirtualHost>
- Start the service by using
sudo a2enmod proxy sudo a2enmod proxy_balancer sudo a2enmod proxy_http sudo a2enmod mod_proxy_wstunnel sudo a2enmod headers sudo a2ensite mattermost sudo service apache2 reload
Then you can point to mattermost in your web browser.
Using Gitlab as Single-Sign-On
Follow the instruction here: http://docs.mattermost.com/deployment/sso-gitlab.html
You could leave a comment if you were logged in.
blog/setup_up_mattermost_with_existing_gitlab.txt · Last modified: 2016/04/22 16:37 by johnny