Android

Centos 7 üzerinde rocket.chat nasıl konuşlandırılır

Установка и настройка CentOS в VirtualBox

Установка и настройка CentOS в VirtualBox

İçindekiler:

Anonim

Rocket.Chat eksiksiz bir ekip iletişim platformu, kendi kendine barındırılan bir Slack alternatifidir. Meteor ile oluşturulmuştur ve yardım masası sohbeti, video konferans, dosya paylaşımı, sesli mesajlar, API ve daha pek çok özellik sunar.

Bu derste, Rocket.Chat'in SSL ters proxy olarak Nginx'e sahip bir CentOS 7 sunucusuna nasıl kurulacağını ve dağıtılacağını göstereceğiz.

Ön şartlar

Bu eğiticiye devam etmeden önce aşağıdaki önkoşulları karşıladığınızdan emin olun:

  • CentOS 7 sunucusu, resmi Rocket.Chat sistem gereksinimlerine göre en az 1G RAM'e ihtiyacınız var. Sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açtınız. Sunucu IP adresinizi gösteren bir alan adınız var., example.com kullanacağız. Nginx yüklüyse, bu eğiticiyi izleyerek yükleyemezsiniz. SSL sertifikası. Let's Encrypt'ten ücretsiz bir tane oluşturabilir veya başka bir sağlayıcıdan bir tane satın alabilirsiniz.

Bağımlılıkları Yükle

Gerekli npm modüllerini oluşturmak için gerekli olan aşağıdaki paketleri kurun:

sudo yum install epel-release curl GraphicsMagick gcc-c++

Ardından, Node.js ve npm yazarak yükleyin:

sudo yum install -y nodejs npm

Bu makaleyi yazarken, Rocket için önerilen Node.js sürümü. Node.js v8.11.3 nedir.

n yardımcı programını ve önerilen Node.js sürümünü yüklemek için aşağıdaki komutları uygulayın:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB, NoSQL belge odaklı bir veritabanıdır ve Rocket.Chat tarafından bir veri deposu olarak kullanılmaktadır. Rocket.Chat, MongoDB sürüm 3.6'yı önerir.

MongoDB'yi resmi MongoDB depolarından yum kullanarak kuracağız.

Seçtiğiniz düzenleyiciyi açın ve aşağıdaki depo dosyasını oluşturun:

sudo nano /etc/yum.repos.d/mongodb-org.repo

Aşağıdaki içeriği dosyaya yapıştırın:

/etc/yum.repos.d/mongodb-org.repo

name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

Dosyayı kaydedin ve metin düzenleyicinizi kapatın.

MongoDB'yi kurmak için aşağıdaki komutu çalıştırın:

sudo yum install mongodb-org

Kurulum tamamlandığında, MongoDB hizmetini etkinleştirin ve başlatın:

sudo systemctl start mongod sudo systemctl enable mongod

Yeni Sistem Kullanıcısı Oluştur

Rocket.Chat örneğimizi çalıştıracak yeni bir kullanıcı ve grup oluşturun. Basit olması için kullanıcı rocket :

sudo useradd -m -U -r -d /opt/rocket rocket

nginx kullanıcısını yeni kullanıcı grubuna ekleyin ve /opt/rocket dizin izinlerini Nginx'in erişebilmesi için değiştirin:

sudo usermod -a -G rocket nginx sudo chmod 750 /opt/rocket

Rocket.Chat Kurulumu

Yazarak kullanıcı rocket geçin:

sudo su - rocket

Kıvrımlı Rocket.Chat'ın son kararlı sürümünü indirin:

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

İndirme işlemi tamamlandıktan sonra arşivi çıkarın ve dizini Rocket.Chat yeniden adlandırın.

tar zxf rocket.chat.tgz mv bundle Rocket.Chat

Rocket.Chat/programs/server dizinine Rocket.Chat/programs/server ve gerekli tüm npm paketlerini yükleyin:

cd Rocket.Chat/programs/server npm install

Systemd birimi oluşturmadan ve Nginx ile ters proxy ayarlamadan önce, yüklemenin başarılı olup olmadığını test etmek iyi bir fikirdir.

Bunu yapmak için, gerekli ortam değişkenlerini ayarlayarak başlayın:

export PORT=3000 export ROOT_URL=http://example.com:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat

Ardından, Rocket.Chat dizinine geri dönün ve aşağıdaki komutları vererek Rocket.Chat sunucusunu başlatın:

cd../../ node main.js

Hata yoksa aşağıdaki çıktıyı görmelisiniz:

➔ +---------------------------------------------+ ➔ | SERVER RUNNING | ➔ +---------------------------------------------+ ➔ | | ➔ | Rocket.Chat Version: 0.71.1 | ➔ | NodeJS Version: 8.11.3 - x64 | ➔ | Platform: linux | ➔ | Process Port: 3000 | ➔ | Site URL: http://0.0.0.0:3000/ | ➔ | ReplicaSet OpLog: Disabled | ➔ | Commit Hash: e73dc78ffd | ➔ | Commit Branch: HEAD | ➔ | | ➔ +---------------------------------------------+

Bu noktada, Rocket.Chat, CentOS 7 makinenize kurulur. CTRL+C ile Rocket.Chat sunucusunu durdurun ve sonraki adımlarla devam edin.

Systemd Birimi Oluşturma

Rocket.Chat'i bir hizmet olarak çalıştırmak için /etc/systemd/system/ dizininde bir rocketchat.service birim dosyası oluşturun:

sudo nano /etc/systemd/system/rocketchat.service Aşağıdaki içeriği dosyaya yapıştırın: /etc/systemd/system/rocketchat.service

Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://example.com:3000/ PORT=3000 ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js WantedBy=multi-user.target

Dosyayı kaydedip kapatın.

Systemd'e yeni bir birim dosyası oluşturulduğunu bildirin ve şu işlemleri yaparak Rocket.Chat hizmetini başlatın:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Aşağıdaki komutla servis durumunu kontrol edin:

sudo systemctl status rocketchat

Çıktı şöyle görünmelidir:

● rocketchat.service - Rocket.Chat server Loaded: loaded (/etc/systemd/system/rocketchat.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-04-10 20:30:56 UTC; 8s ago Main PID: 32356 (node) CGroup: /system.slice/rocketchat.service └─32356 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

Hata yoksa, Rocket.Chat hizmetinin önyükleme zamanında otomatik olarak başlatılmasını sağlayabilirsiniz:

sudo systemctl enable rocketchat

Nginx ile ters proxy ayarlama

Şimdi Rocket'imiz için yeni bir sunucu bloğu oluşturmamız gerekiyor.

sudo nano /etc/nginx/conf.d/example.com.conf

Aşağıdaki içeriği dosyaya yapıştırın:

/etc/nginx/conf.d/example.com.conf

upstream rocketchat_backend { server 127.0.0.1:3000; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location / { proxy_pass http://rocketchat_backend/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } }

Değişikliklerin etkili olması için Nginx hizmetini yeniden yükleyin:

sudo systemctl reload nginx

Rocket.Chat'i Yapılandırma

Tarayıcınızı açın ve http://chat.example.com .

Yüklemenin başarılı olduğunu varsayarsak, ilk push kullanıcısı, kuruluşunuzu yapılandırma ve ücretsiz push bildirimleri almak için sunucunuzu kaydetme konusunda size yol gösterecek olan Rocket.Chat Kurulum Sihirbazı ile karşılaşacaksınız.

İlk Kurulum sihirbazının ilk bölümü sizden Yönetici kullanıcınızı kurmanızı isteyecektir:

Çalışma Go to your workspace düğmesine tıklayın ve Rocket.Chat kontrol paneline yönlendirileceksiniz. Yönetici kullanıcı olarak oturum açtınız.

Sonuç

CentOS 7 sunucunuza Rocket.Chat'i başarıyla yüklediniz. Artık ekibinizle işbirliği yapmak, dosya paylaşmak ve gerçek zamanlı sohbet etmek için Rocket.Chat'i kullanmaya başlayabilirsiniz.

rocketchat nodejs centos mongodb