Rocket.Chat ist eine leistungsfähige Open-Source Kommunikations-Software, vergleichbar mit Discord. Da man jedoch hier seinen eigenen Server hostet, hat man die volle Kontrolle von der Konfiguration bis hin zum Thema Datenschutz.

Vorbereitung

Stelle zunächst sicher, dass sich dein Server auf dem neuesten Stand befindet:

apt-get update

apt-get -y upgrade

Notwendige Pakete installieren

Importiere den öffentlichen Schlüssel, um die notwendigen MongoDB-Pakete zu installieren, und erstelle die folgende Listendatei:

apt-get install dirmngr && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" | tee /etc/apt/sources.list.d/mongodb-org-3.6.list

Konfiguriere Node.js für die Installation über den Paketmanager:

apt-get update && apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_8.x | bash -

Installiere Build-Tools, MongoDB, nodejs und graphicsmagick:

apt-get install -y build-essential mongodb-org nodejs graphicsmagick

npm install -g inherits n && n 8.11.3

Rocket.Chat installieren

Lade die neueste Version von Rocket.Chat per curl herunter:

curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz

tar -xzf /tmp/rocket.chat.tgz -C /tmp

cd /tmp/bundle/programs/server && npm install

mv /tmp/bundle /opt/Rocket.Chat

Konfiguriere den Rocket.Chat Service:

useradd -M rocketchat && usermod -L rocketchat

chown -R rocketchat:rocketchat /opt/Rocket.Chat

echo -e "[Unit]\nDescription=The Rocket.Chat server\nAfter=network.target remote-fs.target nss-lookup.target nginx.target mongod.target\n[Service]\nExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js\nStandardOutput=syslog\nStandardError=syslog\nSyslogIdentifier=rocketchat\nUser=rocketchat\nEnvironment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://DEINE_DOMAIN.TLD:3000/ PORT=3000\n[Install]\nWantedBy=multi-user.target" | tee /lib/systemd/system/rocketchat.service

Editiere nun den Rocket.Chat Service und ersetzte in der Zeile Environment DEINE_DOMAIN.TLD mit deiner Domain bzw. IP-Adresse des Servers:

nano /lib/systemd/system/rocketchat.service

Aktiviere und starte MongoDB und Rocket.Chat:

systemctl enable mongod && systemctl start mongod

systemctl enable rocketchat && systemctl start rocketchat

Jetzt muss noch eine Kleinigkeit unter MongoDB eingerichtet werden. Füge folgende Werte in die mongod.conf ein und starte den Dienst anschließend neu:

echo -e "replication:\n replSetName: \"rs01\"" | tee -a /etc/mongod.conf

systemctl restart mongod

Starte die MongoDB-Shell:

mongo

Und gib hier folgendes ein:

rs.initiate()

Du erhältst eine mehrzeilige Antwort. Wichtig ist hier, dass im Wert ok eine 1 steht. Dann hat alles geklappt. Verlasse die MongoDB-Shell wieder:

exit

Editiere wieder den Rocket.Chat Service...

/lib/systemd/system/rocketchat.service

... Und füge in der Environment-Zeile gefolgt von einem Leerzeichen folgendes am Ende ein:

MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01

Starte beide Dienste noch einmal neu:

systemctl daemon-reload && systemctl restart rocketchat

Rufe nun im Browser die definierte ROOT_URL mit Port 3000 auf und folge den Konfigurationsschritten:

DEINE_DOMAIN.TLD:3000

Es kann einige Sekunden dauern, bis der Service hochgefahren ist. Den aktuellen Status kannst du mit service rocketchat status einsehen.

Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.

Kategorie: Linux

Tags: , ,

0 Kommentare

1.069 Aufrufe

Über mich

Ich bin Janis (aka. EurenikZ), 25 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.

1396 Aufrufe
WhatsApp
Reddit
URL has been copied successfully!

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten.

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen. Sei der Erste, der diesen Beitrag bewertet!

Es tut mir Leid, dass der Beitrag für dich nicht hilfreich war!

Wie kann ich diesen Beitrag verbessern?

Hinterlasse einen Kommentar

  • Wenn das MySQL Root-Passwort vergessen wurde, kann man dieses über die Shell zurücksetzen. Stoppe zunächst den SQL-Dienst: sudo service mysql stop Starte jetzt den MySQL-Server im Safe Mode, sodass keine Authentifizierung notwendig ist. sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking Die Shell[...]

    24.01.2023 18:04

    303
  • Wenn du das Nutzer-Passwort unter Ubuntu vergessen hast, kannst du dieses einfach über den Recovery Modus wiederherstellen. Voraussetzung ist, dass das Home-Verzeichnis nicht verschlüsselt ist. Boote in den Recovery-Modus. Halte dazu beim Start von Ubuntu die Shift-Taste gedrückt, manchmal ist[...]

    29.07.2021 8:17

    1.940
  • Wird unter Linux ein eingerichteter Cronjob ausgeführt, wird jedes Mal automatisch eine E-Mail an den User versendet, sobald die Aufgabe abgeschlossen wurde. Um dies zu deaktivieren, muss lediglich eine Zeichenfolge an den Cronjob angehängt werden. Ein Cronjob ist eine zeitgesteuerte[...]

    27.03.2021 10:47

    887
  • Wenn das MySQL Root-Passwort vergessen wurde, kann man dieses über die Shell zurücksetzen. Stoppe zunächst den SQL-Dienst: sudo service mysql stop Starte jetzt den MySQL-Server im Safe Mode, sodass keine Authentifizierung notwendig ist. sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking Die Shell[...]

    24.01.2023 18:04

    303
  • Wenn du das Nutzer-Passwort unter Ubuntu vergessen hast, kannst du dieses einfach über den Recovery Modus wiederherstellen. Voraussetzung ist, dass das Home-Verzeichnis nicht verschlüsselt ist. Boote in den Recovery-Modus. Halte dazu beim Start von Ubuntu die Shift-Taste gedrückt, manchmal ist[...]

    29.07.2021 8:17

    1.940