Rocket.Chatは、チームコミュニケーションのための無料のオープンソースオンラインチャットソリューションであり、オンラインチャットのように独自のSlackを構築できます。 Rocket.Chatは、Meteorフルスタックフレームワークを使用して開発されたJavascriptに基づいています。 Rocket.Chatは、独自のプライベートチャットプラットフォームを構築したい企業にとって優れたソリューションです。
このチュートリアルでは、Rocket.Chatを使用して独自のチャットサーバーを構築する方法を紹介します。インストールには最新のUbuntuLTS16.04サーバーを使用し、Rocket.ChatアプリケーションのリバースプロキシとしてNginxを使用します。
前提条件
- Ubuntu 16.04
- ルート権限
ssh(またはターミナル)を使用してサーバーにログインし、「sudo su」と入力して、rootアクセスを取得します。
ssh[メール保護]
sudo su
Ubuntuリポジトリを更新します:
apt-get update
次に、Rocket.Chatに必要な新しいパッケージをインストールします:
apt-get install curl graphicsmagick build-essential
Rocket.Chatをインストールするには、MongoDBが必要です。このステップでは、MongoDBリポジトリからMongoDB3.2をインストールします。
パッケージにアクセスできるように、MongoDBキーサーバーを追加します。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
次に、以下のコマンドを使用してMongoDBリポジトリを追加します。
echo "deb http://repo.mongodb.org/apt/ubuntu" $(lsb_release -sc) "/ mongodb-org / 3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
リポジトリを更新し、aptコマンドを使用してMongoDBをインストールします:
apt-get update
apt-get install mongodb-org
起動時に実行するMongoDBを追加して起動します:
systemctl enable mongod
systemctl start mongod
MongoDBはポート27017で開始されました。
パフォーマンスを向上させるために、Rocket.ChatはMongoDBReplicaSetを使用します。このステップでは、MongoDB構成ファイルを編集して、単純なMongoDBReplicaSetを構成します。
mongod.confファイルをvimで編集します:
vim /etc/mongod.conf
24行目の先頭に「#」を追加して、ローカルホストIPでのみ実行されているMongoDBを無効にします。
net:
ポート:27017
#bindIp:127.0.0.1
以下の34行目にReplicaSet構成を追加します。
<前> #replication:レプリケーション:
oplogSizeMB:1
replSetName:RS0
保存して終了します。
MongoDBサービスを再起動します:
systemctl restart mongod
次に、MongoDBシェルを起動し、ReplicaSetを開始します。
export LC_ALL =C
mongo
rs.initiate()
結果を開始する:
{
"info2": "構成が指定されていません。セットのデフォルト構成を使用しています"、
"me": "nyanko-sensei:27017"、
"ok": 1
}
' OKを確認してください '値は1 。結果が別の数値である場合、これは何かが間違っていることを意味します。
このステップでは、Ubuntuリポジトリからnodejsとnpmをインストールします。次に、npmコマンドを使用してnパッケージをインストールし、特定のnodejsバージョンを取得します。最新のRocket.Chatバージョンにはnodejs4.5が必要です。
Ubuntuリポジトリからnodejsとnpmをインストールします:
apt-get install nodejs npm
次に、npmコマンドを使用してnパッケージをシステムにグローバルにインストールします。
npm install -g n
nコマンドを使用して、nodejsバージョン4.5をダウンロードして設定します。
sudo n 4.5
最後に、nodejsのバージョンを確認します:
node --version
npm -v
Rocket.Chat(最新バージョン)を/ var /www/ディレクトリにインストールします。
Rocket.Chatの最新バージョンをダウンロードして抽出します:
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
tar -xzvf rocket.chat.tgz
新しい/var/ www /ディレクトリを作成し、バンドルディレクトリの名前を「Rocket.Chat」に変更してから移動します。
mkdir -p / var / www /
mv bundle Rocket.Chat
mv Rocket.Chat / var / www /
Rocket.Chatディレクトリに移動し、必要な環境変数をいくつか設定して、Rocket.Chatサーバーを起動します。
cd /var/www/Rocket.Chat/
cd programs / server /
npm install
cd ../../
export ROOT_URL =http://192.168.1.110:3000/
export MONGO_URL =mongodb:// nyanko-sensei:27017 / rocketchat?replicaSet =rs0
export PORT =3000
node main.js
Rocket.Chatがインストールされたら、Webブラウザーを開いて、ポート3000のサーバーIPアドレスにアクセスします。-192.168.1.110:3000。
手順5では、Rocket.Chatをスタンドアロンアプリケーションとしてインストールしました。このチュートリアルでは、https接続でNginx Webサーバーの背後でRocket.Chatを実行して、安全で高速なセットアップを行います。
aptコマンドを使用してNginxをインストールします:
apt-get install nginx
新しいSSLディレクトリを作成します:
mkdir -p / etc / nginx / ssl /
cd / etc / nginx / ssl /
SSL証明書ファイルを生成し、キーファイルの権限を変更します:
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocket-chat.crt -keyout /etc/nginx/ssl/rocket-chat.key
chmod 400 rocket- chat.key
次に、sites-availableディレクトリに新しいロケットチャット仮想ホストファイルを作成します。
cd / etc / nginx / sites-available /
vim rocket-chat
以下に新しい仮想ホスト構成を貼り付けます:
#アップストリーム
アップストリームバックエンド{
サーバー127.0.0.1:3000;
}
#リダイレクトオプション
サーバー{
リッスン80;
server_name rocket-chat.co;
#強制https
return 301 https:// $ server_name $ request_uri;
}
#HTTPSサーバー
サーバー{
listen 443;
server_name rocket-chat.co;
error_log /var/log/nginx/rocketchat.access.log;
ssl on;
ssl_certificate /etc/nginx/ssl/rocket-chat.crt;
ssl_certificate_key /etc/nginx/ssl/rocket-chat.key;
ssl_pro TLSv1.1 TLSv1.2; #SSLv3を使用しないでくださいref:POODLE
location / {
proxy_pass http://192.168.1.110:3000/;
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-For br /> proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
保存して終了します。
新しいドメイン名「rocket-chat.co」でRocket.Chatを実行します。独自のドメイン名を使用して、構成ファイル内の表示されている場所に置き換えてください。
Rocket.Chat仮想ホストをアクティブにして、構成ファイルをテストします。
ln -s / etc / nginx / sites-available / rocket-chat / etc / nginx / sites-enabled / rocket-chat
nginx -t
エラーメッセージがないことを確認してください。
Nginx Webサーバーを再起動します:
systemctl restart nginx
NginxはRocket.Chatサーバーのリバースプロキシとして構成されており、Rocket.Chatを今すぐ実行するには環境変数を更新する必要があります。
以下の新しい変数を使用してRocket.Chatを実行します:
cd /var/www/Rocket.Chat/
export ROOT_URL =https://rocket-chat.co
export MONGO_URL =mongodb:// nyanko-sensei:27017 / rocketchat?replicaSet =rs0
export PORT =3000
node main.js
Webブラウザーで、次のURLを開きます:rocket-chat.co(またはカスタムドメイン名)-https接続にリダイレクトされます。
[新しいアカウントを登録する]をクリックして、最初の管理者アカウントを作成します リンク。
名前、メールアドレス、パスワードを入力し、[新しいアカウントを登録]をクリックします '。
ドメイン名で新しい「SITE-URL」を使用することを確認します。 [はい]をクリックします '。
ユーザー名を登録し、[このユーザー名を使用]をクリックします '。
管理者ユーザーが作成されました。これがRocket.Chatダッシュボードです。チャットを開始して、チーム用に独自のチャンネルを作成できます。
Rocket.Chatは、ubuntu16.04のNginxWebサーバーにインストールされています。
新しい環境変数を使用した後の結果: