Instalacja rocket.chat Centos7
Poniżej bardzo prosty sposób na zainstalowanie darmowej alternatywy dla Slacka czyli rocket.chat dla systemu Centos7
Instalacja jest banalnie prosta i wykonamy ją w kilka minut.
Na początek dokonujemy aktualizacji systemu oraz uruchamiamy pakiety epel
1 | yum -y install epel-release nano && yum -y update |
Tworzymy repozytorium mongoDB
1 | nano /etc/yum.repos.d/mongodb.repo |
O zawartości:
1 2 3 4 5 | [mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1 |
Następnie dokonujemy instalacji niezbędnych pakietów:
1 | yum install -y nodejs curl GraphicsMagick npm mongodb-org-server mongodb-org gcc-c++ |
Kolejnym krokiem jest instalacja npm
1 | npm install -g inherits n |
Domyślnie npm jest zainstalowany w wersji 2.9. Rocket.chat potrzebuje wersji minimum 8. Dokonujemy jej instalacji poleceniem:
1 | n 8.9.3 |
Instalacja Rocket.Chat
Przechodzimy do katalogu /opt
1 | cd /opt |
Pobieramy ostatnią dostępną wersję rocket.chat i ją rozpakowujemy.
1 | curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tar.gz |
1 | tar zxvf rocket.chat.tar.gz |
Przenosimy pliki i dokonujemy instalacji rocket.chat
1 | mv bundle Rocket.Chat |
1 | cd Rocket.Chat/programs/server |
1 | npm install |
1 | cd ../.. |
Kolejnym krokiem jest konfiguracja mongodb wydajemy polecenia jak poniżej:
1 2 3 | export PORT=3000 export ROOT_URL=http://NASZA DOMENA BĄDŹ ADRES IP:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat |
Wprowadzamy zmiany:
1 | chkconfig mongod on |
Startujemy mongodb poleceniem:
1 | systemctl start mongod |
Teraz możemy przejść do uruchomienia rocket.chat poleceniem:
1 | node main.js |
Jeśli wszystko przebiegło ok w konsoli powinniśmy zobaczyć podobny log do tego poniżej:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ➔ System ➔ startup ➔ +---------------------------------------------------+ ➔ | SERVER RUNNING | ➔ +---------------------------------------------------+ ➔ | | ➔ | Rocket.Chat Version: 0.66.0 | ➔ | NodeJS Version: 8.9.3 - x64 | ➔ | Platform: linux | ➔ | Process Port: 3000 | ➔ | Site URL: http://NASZ ADRES IP:3000/ | ➔ | ReplicaSet OpLog: Disabled | ➔ | Commit Hash: 5aa08cba32 | ➔ | Commit Branch: HEAD | ➔ | | ➔ +---------------------------------------------------+ |
Teraz po przejściu w przeglądarce: http://NASZ ADRES IP:3000/ powinien się ukazać formularz pierwszej rejestracji którą dokonujemy.
Jeśli strona się nie wyświetla należy zweryfikować firewall czy nie blokuje nam portu:3000
Wyczyścić firewall w systemie CentOS możemy wykonując następujące polecenia:
1 2 3 4 5 6 7 8 9 | iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT |
Praktycznie do wszystko, konfiguracja odbywa się z poziomu przeglądarki i nie trzeba jej jakoś za specjalnie opisywać cały rocket.chat jest w języku Polskim.
Stworzymy sobie skrypt auto-startu w razie jak by doszło do restartu serwera.
Tworzymy plik:
1 | nano /usr/lib/systemd/system/rocketchat.service |
O zawartości:
1 2 3 4 5 6 7 8 9 10 11 12 | [Unit] Description=The Rocket.Chat server After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target [Service] ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=root Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://NASZA DOMENA BĄDŹ ADRES IP:3000/ PORT=3000 [Install] WantedBy=multi-user.target |
Dokonujemy jego uruchomienia:
1 2 | systemctl enable rocketchat.service systemctl start rocketchat.service |
To Wszystko.
Prawie działa, dochodzę do momentu w którym wykonuje to polecenie node main.js a po jego wykonaniu mam cos takiego Meteor requires Node v8.0.0 or later. Jak to naprawić żeby działało poprawnie?
Domyślnie npm jest zainstalowany w wersji 2.9. Rocket.chat potrzebuje wersji minimum 8. Dokonujemy jej instalacji poleceniem:
n 8.9.3