Changes

From SME Server
Jump to navigationJump to search
4,258 bytes removed ,  13:41, 21 December 2016
no edit summary
Line 1: Line 1:  
'''[[Rocket_Chat#smeserver-rocketchat_contrib|Contrib]]''': [mailto:jcrisp@safeandsound.co.uk[[User:ReetP|John Crisp]]]
 
'''[[Rocket_Chat#smeserver-rocketchat_contrib|Contrib]]''': [mailto:jcrisp@safeandsound.co.uk[[User:ReetP|John Crisp]]]
{{Note box|Please note that there is also a howto on installing Rocket.Chat manually [[Rocket_Chat|'''here''']]}}
+
{{Note box|Please note that there is also a howto on manually installing Rocket.Chat [[Rocket_Chat|'''here''']]}}
 
==smeserver-rocketchat contrib==
 
==smeserver-rocketchat contrib==
 
{{WIP box}}
 
{{WIP box}}
 
This contrib aims to reduce some of the setup for rocketchat and add some flexibility with settings
 
This contrib aims to reduce some of the setup for rocketchat and add some flexibility with settings
  −
==RocketChat 0.39.0==
  −
{{Note box | This section will ONLY work up to Rocket Chat version 0.39 as they changed the required node version after that. To run version 0.40 and higher please see further down the page}}
      
Add repos:
 
Add repos:
Line 13: Line 10:  
* [[Centos-sclo-rh]]
 
* [[Centos-sclo-rh]]
 
* [[User:ReetP|reetp]]  
 
* [[User:ReetP|reetp]]  
  −
yum install rh-python34-python rh-mongodb26-mongodb rh-mongodb26-mongodb-server nodejs010 GraphicsMagick --enablerepo=centos-sclo-rh,epel
  −
  −
scl enable nodejs010 bash
  −
npm install -g inherits
  −
npm install -g n
  −
n 0.10.40
  −
exit
  −
  −
{{Note box | Please be careful to only install JUST the required packages in my repo. There are various testing packages in there that will BREAK YOUR SYSTEM ! }}
  −
  −
You should now be able to install the rocketchat bundle with:
  −
  −
yum --enablerepo=reetp install rocketchat
  −
  −
This may take a while on first install as it installs the npm modules for the first time.
  −
  −
Now you should be able to install the rocketchat contrib:
  −
  −
yum --enablerepo=reetp install smeserver-rocketchat
  −
  −
db configuration setprop rocketchat status enabled
  −
  −
signal-event post-upgrade;signal-event reboot
  −
  −
DB settings
  −
  −
rocketchat=service
  −
    TCPPort=3000
  −
    access=public
  −
    mailPort=25
  −
    mailURL=localhost
  −
    status=enabled
  −
  −
rh-mongodb26-mongod=service
  −
    TCPPort=27017
  −
    access=private
  −
    mongoURL=localhost
  −
    status=enabled
  −
  −
BEFORE we login for the first time we need to set up mail settings correctly:
  −
  −
From bash:
  −
  −
mongo rocketchat --eval 'db.rocketchat_settings.update({"_id" : "SMTP_Host"}, {$set: {"value":"localhost"}});'
  −
mongo rocketchat --eval 'db.rocketchat_settings.update({"_id" : "From_Email"}, {$set: {"value":"admin@yourdomain.com"}});'
  −
  −
We can check the individual values set like this:
  −
  −
mongo rocketchat --eval 'db.rocketchat_settings.find({"_id":"From_Email"}, {_id:0, value:1}).shellPrint();'
  −
mongo rocketchat --eval 'db.rocketchat_settings.find({"_id":"SMTP_Host"}, {_id:0, value: 1}).shellPrint();'
  −
  −
All values per _id:
  −
mongo rocketchat --eval 'db.rocketchat_settings.find({"_id" : "SMTP_Host"}).shellPrint();'
  −
mongo rocketchat --eval 'db.rocketchat_settings.find({"_id" : "From_Email"}).shellPrint();'
  −
  −
  −
Now restart rocketchat to reread the DB settings:
  −
  −
service rocketchat restart
  −
  −
Login at http://yourdomain:3000
  −
  −
It will first get you to create an admin user.
  −
  −
If you have an issue with no email sent/received then login using the email address and password you just set
  −
  −
===Updates===
  −
  −
If there is an update to Rocket.Chat I will add to my repo. You should just be able to run:
  −
  −
yum --enablerepo=reetp install rocketchat
  −
  −
You can also update the smeserver-rocketchat contrib in the same way
  −
  −
yum --enablerepo=reetp install smeserver-rocketchat
  −
  −
===SSL===
  −
  −
{{Note box | This is still experimental and there may be issues with SSL only for the Primary iBay and Letsencrypt. You will need a minimum version of smeserver-rocketchat-0.1-5 }}
  −
  −
{{Note box | I've realised I need to re-hack the web templates for this but still trying to work it out - please ask in the forums and I can give you some tips to get it working}}
  −
  −
It is recommended to add Letsencrypt support as detailed below.
  −
  −
We need some extra settings to enable SSL with ProxyPass.
  −
  −
First install proxy pass rpm:
  −
  −
Add the FWS repo
  −
   
* [[Fws]]
 
* [[Fws]]
  −
yum --enablerepo=fws install mod_proxy_wstunnel
  −
  −
Regenerate httpd.conf
  −
  −
signal-event remoteaccess-update
  −
  −
Now we need to setup our subdomain
  −
  −
db domains set chat.mycompany.local domain Description RocketChat Nameservers internet \
  −
TemplatePath ProxyPassVirtualRocketchat ProxyPassTarget http://localhost:3000/
  −
  −
It should look like this:
  −
  −
chat.mycompany.local=domain
  −
    Nameservers=internet
  −
    ProxyPassTarget=http://127.0.0.1:3000/
  −
    TemplatePath=ProxyPassVirtualRocketchat
  −
  −
  −
We need to set Rocket.Chat to listen on localhost now:
  −
  −
config setprop rocketchat rootURL localhost
  −
signal-event remoteaccess-update
  −
service rocketchat restart
  −
  −
If you can now successfully get to Rocketchat on your subdomain https://chat.mycompany.local you can disable default access on port 3000:
  −
  −
config setprop rocketchat access private
  −
signal-event remoteaccess-update
  −
  −
===Letsencrypt support===
  −
  −
{{Note box | 26 Aug 2016 - This should now work for a subdomain}}
  −
  −
You can add letsencrypt should you wish - please see https://wiki.contribs.org/Letsencrypt
  −
  −
You will need to add the domain key as follows, and add your letsencrypt certificates as per the wiki page:
  −
  −
db domains setprop chat.mycompany.local letsencryptSSLcert enabled
  −
  −
Note that smeserver-rocketchat adds redirect on port 80 for the letsencrypt directory .well-known/acme-challenge
  −
  −
You should be able to reach:
  −
  −
http://chat.mycompany.local/.well-known/acme-challenge/
  −
  −
This should redirect to:
  −
  −
https://chat.mycompany.local/.well-known/acme-challenge/
  −
  −
Anything else going to chat.mycompany.local should get to Rocket.Chat
  −
  −
===Errors===
  −
  −
You may get an error on install of the rocketchat rpm as follows:
  −
  −
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
  −
  −
This is due to the installed version of npm/node from SCL. Rocket.Chat should till work
      
==RocketChat 0.40+==
 
==RocketChat 0.40+==
Line 289: Line 135:  
We need some extra settings to enable SSL with ProxyPass.
 
We need some extra settings to enable SSL with ProxyPass.
   −
First install proxy pass rpm:
+
Add the FWS repo:
 +
 
 +
db yum_repositories set fws repository \
 +
BaseURL http://repo.firewall-services.com/centos/\$releasever \
 +
EnableGroups no GPGCheck yes \
 +
Name "Firewall Services" \
 +
GPGKey http://repo.firewall-services.com/RPM-GPG-KEY \
 +
Visible yes status disabled
 +
 
 +
Update the repos:
 +
signal-event yum-modify
 +
 
 +
Install proxy pass rpm:
 
  yum --enablerepo=fws install mod_proxy_wstunnel
 
  yum --enablerepo=fws install mod_proxy_wstunnel
   Line 380: Line 238:     
  npm install -g npm@3.10.9
 
  npm install -g npm@3.10.9
 +
 +
==DB settings==
 +
 +
Typical standard setup:
 +
rocketchat=service
 +
    TCPPort=3000
 +
    access=public
 +
    mailPort=25
 +
    mailURL=localhost
 +
    status=enabled
 +
 +
Typical proxy subdomain setup:
 +
rocketchat=service
 +
    SSLProxy=yes
 +
    TCPPort=3000
 +
    access=private
 +
    mailPort=25
 +
    mailURL=localhost
 +
    rootURL=chat.mydomain.co.uk
 +
    status=enabled
 +
 +
rh-mongodb26-mongod=service
 +
    TCPPort=27017
 +
    access=private
 +
    mongoURL=localhost
 +
    status=enabled

Navigation menu