青海西宁制作网站公司,怎么做一个摄影平台网,如何查找网站备案,wordpress 图片相册前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到网站。
简介
Rocket.Chat 是一个使用 Meteor 构建的开源消息应用程序。它支持视频会议、文件共享、语音消息#xff0c;具有完整的 API 等功能…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到网站。
简介
Rocket.Chat 是一个使用 Meteor 构建的开源消息应用程序。它支持视频会议、文件共享、语音消息具有完整的 API 等功能。Rocket.Chat 非常适合那些希望对其通信拥有完全控制权的用户。
在本教程中我们将在全新的 Ubuntu 服务器上安装和配置 Rocket.Chat并设置 Nginx 作为反向代理以提高安全性并使访问 Rocket.Chat 变得更加容易。完成后您将拥有一个可以从几乎任何地方访问的可用的 Rocket.Chat 实例。
先决条件
要按照本教程操作您需要
一个 Ubuntu 14.04 服务器建议至少具有 1GB 的 RAM一个具有 sudo 权限的非 root 用户《使用 Ubuntu 14.04 初始服务器设置》解释了如何设置此权限一个完全注册的域名。您可以在 Namecheap 购买或在 Freenom 免费获取。确保您的域名配置指向您的服务器。如果需要帮助请查看本教程。一个 SSL 证书。生成自签名证书从 Let’s Encrypt 获取免费证书或从其他提供商购买。
步骤 1 — 安装依赖项
在本节中我们将安装 Rocket.Chat 的一些依赖项如 MongoDB 和 NodeJS。
首先让我们启动 MongoDB。首先我们需要添加一个密钥服务器以便访问软件包。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10然后我们需要设置仓库。
echo deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list现在更新软件包列表。
sudo apt-get update现在我们可以继续安装 npm、mongodb-org、curl 和 graphicsmagick这些都是 Rocket.Chat 的依赖项。
sudo apt-get install npm mongodb-org curl graphicsmagick我们需要使用 NPM 安装一个软件包以允许我们更改 Node 版本
sudo npm install -g n使用该软件包将 Node 版本更改为 0.10.40。
sudo n 0.10.40接下来我们将安装 Rocket.Chat 本身并进行一些配置。
步骤 2 — 安装 Rocket.Chat
首先使用 curl 下载最新稳定版本的 Rocket.Chat。
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz使用 tar 命令展开我们刚刚下载的存档。
tar zxvf rocket.chat.tgz这将整个存档展开到一个名为 bundle 的目录中。让我们将 bundle 目录的内容移动到一个更容易记住的位置。
mv bundle Rocket.Chat切换到我们将使用 NPM 安装 Rocket.Chat 的目录。
cd Rocket.Chat/programs/server安装 Rocket.Chat。
npm install返回到父级 Rocket.Chat 目录。
cd ../..我们需要设置一些环境变量以帮助 Rocket.Chat 跟踪诸如 URL、端口等信息。
首先将 ROOT_URL 变量设置为您的域名。这必须是 URL 的形式。
export ROOT_URLhttps://example.com/将 MongoDB 的 URL 设置为 MONGO_URL 变量。
export MONGO_URLmongodb://localhost:27017/rocketchat将 PORT 变量设置为 3000。
export PORT3000现在您可以使用以下命令运行 Rocket.Chat
node main.js如果没有错误它就可以工作了不过现在停止 Rocket.Chat 使用 CTRLC。现在 Rocket.Chat 已安装我们需要设置 Nginx 使用反向代理来代理其所有流量从而使访问 Rocket.Chat 更加容易并使用 SSL 证书加密所有通信。
步骤 3 — 使用 Nginx 设置反向代理
首先安装 Nginx。
sudo apt-get install -y nginx将您的证书私钥移动到 /etc/nginx/certificate.key。
sudo cp /path/to/your/key /etc/nginx/certificate.key例如如果您创建了 Let’s Encrypt 证书您将使用 sudo cp /etc/letsencrypt/live/your_domain_name/privkey.pem /etc/nginx/certificate.key。
修改密钥的权限以防止未经授权的人获取访问权限。
sudo chmod 400 /etc/nginx/certificate.key将证书本身复制到 /etc/nginx/certificate.crt。
sudo cp /path/to/your/cert /etc/nginx/certificate.crt如果您创建了 Let’s Encrypt 证书命令将类似于 sudo cp /etc/letsencrypt/live/your_domain_name/cert.pem /etc/nginx/certificate.crt。
我们将为 Rocket.Chat 创建一个全新的配置因此您可以删除默认配置以使其变得更加容易。
sudo rm /etc/nginx/sites-enabled/default如果将来需要该文件您仍然可以在 /etc/nginx/sites-available/default 中找到它。
使用 nano 或您喜欢的文本编辑器创建一个新的 /etc/nginx/sites-enabled/default。
sudo nano /etc/nginx/sites-enabled/default首先我们将添加一个 upstream 块 # 上游服务器upstream backend { server 127.0.0.1:3000; } 在下面让我们创建一个 server 块。第一部分告诉 Nginx 监听连接的端口在本例中是 :443。它还让 Nginx 知道我们的主机名是什么。不要忘记用你的域名替换 example.com。
server { listen 443; server_name example.com; 在此之下我们告诉 Nginx 存储 Rocket.Chat 的访问日志并指向我们放置在 /etc/nginx/certificate.key 和 /etc/nginx/certificate.crt 的 SSL 证书和密钥。
error_log /var/log/nginx/rocketchat.access.log;ssl on;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/certificate.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 不使用 SSLv3 参考POODLE现在我们用一个 location 块完成配置
location / {proxy_pass http://example.com: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-Forward-For $proxy_add_x_forwarded_for;proxy_set_header X-Forward-Proto http;proxy_set_header X-Nginx-Proxy true;proxy_redirect off;
}} 以下是完整的文件供参考
server { listen 443; server_name example.com; error_log /var/log/nginx/rocketchat.access.log;
ssl on;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/certificate.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 不使用 SSLv3 参考POODLElocation / {proxy_pass http://example.com: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-Forward-For $proxy_add_x_forwarded_for;proxy_set_header X-Forward-Proto http;proxy_set_header X-Nginx-Proxy true;proxy_redirect off;
}} 保存并退出文件。最后重新启动 Nginx 完成工作。command
sudo service nginx restart检查 Nginx 是否正在运行。
sudo service nginx status如果你看到以下消息表示 Nginx 正在运行 * nginx is running如果你看到错误消息请检查 /var/log/nginx/rocketchat.access.log 和 /var/log/nginx/access.log 的日志或者 /var/log/nginx/error.log 的错误日志。你也可以运行 nginx -t 来验证你的 Nginx 配置文件大多数错误都会在这里显示。
确保你仍然在 Rocket.Chat 文件夹中。
cd ~/Rocket.Chat然后运行以下命令重新启动 Rocket.Chat。
node main.jsRocket.Chat 现在应该在 https://example.com 上线。你可以通过在你喜欢的浏览器中访问该地址来验证。
在下一节中我们将配置 Rocket.Chat 以使用一个名为 forever-service 的 node 模块在启动时自动运行。
步骤 4 —— 配置 Rocket.Chat 为服务
forever-service 自动为 Rocket.Chat 等 node 应用程序生成 init 脚本。首先我们需要安装 forever 本身forever-service 依赖于它。
sudo npm install -g forever然后安装 forever-service。
sudo npm install -g forever-service使用 forever-service 创建一个服务
sudo forever-service install -s main.js -e ROOT_URLhttps://example.com/ MONGO_URLmongodb://localhost:27017/rocketchat PORT3000 rocketchat-s 标志后跟 main.js 告诉 forever-service 我们的脚本名为 main.js而不是默认的 app.js。-e 标志后跟着 ROOT_URLhttps://example.com/ MONGO_URLmongodb://localhost:27017/rocketchat PORT3000 将我们的环境变量传递给 forever-service。最后rocketchat 告诉 forever-service 服务的名称。
要获取有关 forever-service 语法的更详细信息请运行 forever-service --help。
现在我们可以启动 Rocket.Chat。这将初始化由 forever-service 创建的 rocketchat 服务。
sudo start rocketchatRocket.Chat 现在应该在你在步骤 2 中设置的 URL 上线。确保你在这里使用 HTTPS。
Rocket.Chat 现在已经准备就绪。在下一节中我们将向 Rocket.Chat 添加我们的第一个管理员用户并在界面周围进行一次导览。
第五步 — 配置和使用 Rocket.Chat
访问之前设置 Rocket.Chat 的 URL。你应该会看到类似这样的页面
!Rocket.Chat 登录页面
点击 注册新账户然后输入你的第一个管理员用户信息。
!Rocket.Chat 注册
点击 提交然后为你的新用户选择一个用户名
!为新用户设置用户名
点击 使用此用户名你将被带到主页
!Rocket.Chat 主页
就是这样你会看到右侧已经为你创建了一个 #general 频道。如果你点击它你将被带到聊天室。随意尝试一下。
!默认的 #general 聊天室
现在让我们来看一下界面。首先让我们通过点击 频道 旁边的小加号按钮来创建一个新频道
!创建一个新频道
随意给它取一个名字
!输入图片描述
现在点击 保存你将被带到你的新频道。
要访问管理界面点击你的用户名旁边的小箭头。它会拉出一个菜单
!使用这个菜单你可以设置你的状态以及访问像管理菜单这样的东西。
点击 管理。它会弹出第二个菜单
!这是管理菜单。
使用这个菜单我们可以配置和管理 Rocket.Chat 安装的每个方面。在 用户 部分我们可以管理单个用户的权限甚至邀请新用户。我们还可以使用 集成 视图为我们的安装添加更多功能。
结论
恭喜你现在拥有了自己的聊天解决方案Rocket.Chat在运行 Ubuntu 14.04 服务器上。它已经设置为使用 forever-service 在启动时自动启动并且通过 Nginx 反向代理完全配备了 SSL。你现在可能想要添加更多成员创建更多频道或者可能查看管理菜单的集成部分。玩得开心