Instalacja Rocket.Chat na CentOS7

Do instalacji potrzebujesz serwera VPS na systemie CentOS7.
Polecamy serwer z oferty serwerów VPS pod racket.chat Serwery OpenVZ !
Tylko teraz używając kodu „hitmerocket” otrzymasz dodatkowe 10% rabatu~na serwer!
Przykładowa instalacja jest przeprowadzona na świeżym CentOS7-Minimal
[root@vps99 ~]# cat /etc/redhat-release && uname -a CentOS Linux release 7.5.1804 (Core) Linux vps99.serwervps.pl 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Krok 1
Instalujemy repozytorium EPEL i aktualizujemy
yum install epel-release nano && yum update
Dodajemy repozytorium MongoDB
nano /etc/yum.repos.d/mongodb.repo
czyli w edytorze tekstowym Nano wklejamy:
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1
Zapisujemy, zamykamy edytor komendami CTRL+o [Enter], CTRL+x
Krok 2
Instalujemy zależne pakiety dla yum
yum install -y nodejs curl GraphicsMagick npm mongodb-org-server mongodb-org gcc-c++
Teraz, gdy mamy zainstalowane Node.js i npm, musimy zainstalować kilka dodatkowych zależności:
npm install -g inherits n
Wynik:
[root@vps99 ~]# npm install -g inherits n /usr/bin/n -> /usr/lib/node_modules/n/bin/n /usr/lib ├── inherits@2.0.3 └── n@2.1.12
Zalecana wersja Node.js do używania z Rocket.Chat to 8.9.3. Używając n, zainstalujemy właśnie tą wersję:
n 8.9.3
Wynik:
[root@vps99 ~]# n 8.9.3 install : node-v8.9.3 mkdir : /usr/local/n/versions/node/8.9.3 fetch : https://nodejs.org/dist/v8.9.3/node-v8.9.3-linux-x64.tar.gz ######################################################################## 100.0% installed : v8.9.3
Krok 3
Instalacja rocket.chat
Pobieramy i instalujemy rocket.chat
cd /opt curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tar.gz tar zxvf rocket.chat.tar.gz mv bundle Rocket.Chat cd Rocket.Chat/programs/server npm install cd ../..
Teraz możemy ustawić zmienne PORT, ROOT_URL oraz MONGO_URL: (poniżej przykładowe wartości dla celów testowych)
export PORT=3000 export ROOT_URL=http://vps99.serwervps.pl:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat
Możemy zmienić PORT=3000 na inny wedle uznania.
Jeśli nie masz w tej chwili skonfigurowanego DNS można podać IP w miejsce domeny. Ustawienie możemy zmienić w późniejszym czasie za pomocą menu administracyjnego.
INFO: Jeśli wybierzesz port 80 będzie wymagało to uruchamiania Rocket.Chat jako root
Krok 4
Mongo
Ustawiamy automatyczne uruchamianie usługi Mongo
chkconfig mongod on
następnie uruchamiamy Mongo
systemctl start mongod
Teraz możemy zrobić szybki test i sprawdzić, czy wszystko działa, zanim będziemy kontynuować:
node main.js
UWAGA: proces w konsoli ma pozostać aktywny
Przechodzimy do swojej nowej instancji rocket.chat, otwierając ulubioną przeglądarkę i wpisując adres URL (w naszym przypadku jest to Site URL: http://vps99.serwervps.pl:3000/ )
INFO: Jeśli nie podałeś w zmiennej ROOT_URL swojej domeny, kierującej na serwer, możesz użyć adresu IP
UWAGA: Należy również upewnić się iż podany w zmiennej numer portu nie jest blokowany przez firewall.
Jeśli używamy domyślnego dla CentOS7 firewalla otwieramy port (jeśli używamy CSF – patrz niżej):
[root@vps99 Rocket.Chat]# firewall-cmd --permanent --add-port=3000/tcp success [root@vps99 Rocket.Chat]# firewall-cmd --reload success [root@vps99 Rocket.Chat]# firewall-cmd --list-ports 3000/tcp
w przypadku ConfigServer Security&Firewall (CSF)
Jeżeli port jest odblokowany i instalacja przeszła bezbłędnie naszym oczom ukazuję się kreator rocket.chat
Za pomocą kreatora instalacji w przeglądarce zarejestruj nowe konto.
Teraz możemy zakończyć proces Rocket.Chat w konsoli wciskając Ctrl + c
Krok 5
Automatyczne uruchamianie usługi Rocket.Chat
Teraz, gdy mamy zainstalowane wszystkie zależności i zweryfikowaliśmy, że Rocket.Chat działa. Musimy skonfigurować Rocket.Chat, aby uruchamiał się jako usługa.
Tworzymy plik usługi:
nano /usr/lib/systemd/system/rocketchat.service
Wklejamy:
[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://vps99.serwervps.pl:3000/ PORT=3000 [Install] WantedBy=multi-user.target
INFO: Uwaga! Podajemy własne wartości zmiennych, które ustawiliśmy wcześniej MONGO_URL, ROOT_URL oraz PORT
Teraz możemy aktywować automatyczne uruchamianie usługi Rocket.Chat
systemctl enable rocketchat.service
oraz uruchomić ją w tym momencie
systemctl start rocketchat.service
po chwili w logach widzimy że usługa wystartowała
[root@vps99 Rocket.Chat]# tail /var/log/messages Jul 10 03:26:47 vps99 rocketchat: #033[32m➔#033[39m #033[32m| Process Port: 3000 |#033[39m Jul 10 03:26:47 vps99 rocketchat: #033[32m➔#033[39m #033[32m| Site URL: http://vps99.serwervps.pl:3000/ |#033[39m Jul 10 03:26:47 vps99 rocketchat: #033[32m➔#033[39m #033[32m| ReplicaSet OpLog: Disabled |#033[39m Jul 10 03:26:47 vps99 rocketchat: #033[32m➔#033[39m #033[32m| Commit Hash: 9c8265045c |#033[39m Jul 10 03:26:47 vps99 rocketchat: #033[32m➔#033[39m #033[32m| Commit Branch: HEAD |#033[39m Jul 10 03:26:47 vps99 rocketchat: #033[32m➔#033[39m #033[32m| |#033[39m Jul 10 03:26:47 vps99 rocketchat: #033[32m➔#033[39m #033[32m+--------------------------------------------------------+#033[39m
To wszytko. Od tego momentu naszym serwerze posiadamy już instancję Rocket.Chat.
Aktualizacja
Aktualizacja Rocket.Chat przebiega podobnie jak instalacja.
Proces jest następujący:
- Zatrzymaj działanie usługi Rocket.Chat
- Przejdź do folderu z instalacją: cd /opt/
- Usuń lub przenieś folder Rocket.Chat.
- Przejdź proces instalacji Rocket.Chat.