Raspberry Pi 3BでRocket.Chatサーバを構築してみました。
構築手順を記録しておこうと思います。
目次
Raspberry PiのRocket.Chatサーバ構築手順 snap版
構築はRaspberry Pi 3Bを使用しましたが。
通常の32ビットのarmv7l版Ubuntu 18.04.1を使用しましたので、Raspberry Pi ZeroやPi 2も構築可能かと思います。
Ubuntu 18.04.1のインストール
OSはUbuntu 18.04.1を使用させて頂きました。Fedora 28でも試したのですが、snap版のRocket.chatが安定版ではありませんでした。
- Raspberry PiへUbuntu 18.04.1をインストールします。
- Pi Zero, Pi2の場合。ubuntu wikiページから「ubuntu-18.04.1-preinstalled-server-armhf+raspi2.img.xz」をダウンロード、microSDカードにイメージを書き込み、起動します。
- Pi 3B、3B+の場合。こちらの記事を参考にUbuntuをインストール、手順の6番まで行います。32ビットカーネルが動けば問題ありません。手順の7番以降、64ビットカーネルはインストールする必要はありませんでした。
アップデート実施
Ubuntu 18.04.1の場合、microSDカードの容量は自動的に拡張されていました。次にOSのアップデートを行っておきます。
- Ubuntuインストール後、アップデート・アップグレードを行っておきます。
sudo apt-get update sudo apt-get upgrade
タイムゾーン設定
- タイムゾーンはtimedatectlコマンドで確認・設定するようです。
timedatectl
- タイムゾーンをAsia/Tokyoへ設定します。
sudo timedatectl set-timezone Asia/Tokyo
ホスト名設定
- hostnamectlコマンドでホスト名を確認します。既定はubuntuかと思います。
hostnamectl
- hostnamectlコマンドでホスト名を変更します。
sudo hostnamectl set-hostname <新しいホスト名>
固定IPアドレス設定
- IPアドレスを固定にしたい場合、/etc/netplan/50-cloud-init.yamlファイルを編集します。
sudo vi /etc/netplan/50-cloud-init.yaml
- dhcp4:true行をnoに変更、address, gateway4行等を追加します。
# dhcp4:true dhcp4: no addresses: [<IPアドレス>/24] gateway4: <ゲートウェイアドレス> nameservers: addresses: [<DNSアドレス1>, <DNSアドレス2>]
- netplanコマンドでIPアドレス設定を反映します。
sudo netplan apply
rocketchat-serverインストール
- snapdをインストールします。
sudo apt-get install snapd
- snapコマンドでrocketchat-serverをインストールします。
sudo snap install rocket-chat-server
- rocketchat-serverを起動します。
sudo snap start rocketchat-server
topコマンドでプロセスを確認すると、mongod(MongoDB)とnode(Node.js)が動作しています。
しばらく待っていると、TCPポート3000番でrocketchat-serverの待ち受け(LISTEN)が開始されるようです。
RocketChat初期設定
- WebブラウザでRocketChatサーバへアクセスします。
http://<Raspberry PiのIPアドレス>:3000/
- 管理ユーザ(admin)の名前、ユーザ名、メールアドレス、パスワードを入力して「continue」をクリックします。
- サイトURLの警告が表示されました。「はい」をクリックして、URLをlocalhostからIPアドレスへ変更しました。
- 必要があればOrganization Infoを入力して「Continue」をクリックします。
- 必要があればServer Infoを入力して「Continue」をクリックします。
- 初期設定が完了しました!「Go to your workspace」をクリックすると、先程作成した管理ユーザのワークスペースが表示されます。
以上でRocket.Chatサーバのインストールが完了しました。
あとは管理ユーザのワークスペースから、ユーザの追加やチャンネルの追加等を行うかたちになります。
うまく構築できたかどうかの確認として、スマートフォン等のRocket.Chatアプリからアクセスできるかどうか試すのも良さそうです。
構築したサーバは、インターネットとは離れた、Raspberry Piを使ったローカルな(独立した)チャットサーバになります。
何か個人的なメッセージを利用したり、IoT的にコンピュータにメッセージを投稿させるような利用方法も面白そうですね。
まずは、初期構築が終わりましたので。そのあたり、追々研究してみようと思います。