eMQTT Brokerのインストール方法

作業環境

目次

1.パッケージ及びコマンドをインストール
2.eMQTTををインストール
3.eMQTTの管理UIにアクセス
4.起動スクリプトを作成

1.パッケージ及びコマンドをインストール

yum install -y unzip vim wget

2.eMQTTををインストール

公式ページより、eMQTTをダウンロードします。

wget http://emqtt.io/downloads/stable/centos -O emqttd.zip

ダウンロードしたZIPファイルを「/opt」に解凍します。

unzip emqttd.zip -d /opt/

あとは、eMQTTを起動するだけ。

ファアグランドで実行する場合

/opt/emqttd/bin/emqttd console

バックグランドで実行する場合

/opt/emqttd/bin/emqttd start

3.EMQTTの管理UIにアクセス

管理UIにアクセスするには、ブラウザでeMQTTサーバIPアドレス:18083と入力します。

http://eMQTTサーバIP:18083/

デフォルトのユーザ名とパスワードは以下です。

Username: admin
Password: public

4.起動スクリプトを作成

「/etc/init.d」直下に起動スクリプトvi作成します。

vi /etc/init.d/emqttd

「/etc/init.d/emqttd」には、下記内容をCopy and Pasteしてください。

#!/bin/sh
#
# emqttd       Startup script for emqttd.
#
# chkconfig: 2345 90 10
# description: emqttd is mqtt broker.

# source function library
. /etc/rc.d/init.d/functions

export HOME=/root

start() {
    echo "starting emqttd..."
    /opt/emqttd/bin/emqttd start
}

stop() {
    echo "stopping emqttd..."
    /opt/emqttd/bin/emqttd stop
}

restart() {
    stop
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop}"
        RETVAL=2
esac

作成した「/etc/init.d/emqttd」実行権限を付与します。

chmod +x /etc/init.d/emqttd

自動起動するよう、chkconfigコマンドで登録します。

chkconfig --add emqttd
systemctl daemon-reload

以上、おわり

Raspbian 8 - rbenvをインストール

目次

1.パッケージ及びコマンドをインストール
2.rbenvをインストール
3.Ruby 2.2.4をインストール

作業環境

マシン:RaspberryPi 3
OS:Raspbian 8

1.パッケージ及びコマンドをインストール

環境構築に必要なパッケージとコマンドをインストール

sudo apt install -y git autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev

2.rbenvをインストール

rbenvのソールコードをダウンロード

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

環境変数を設定(シェルがbashの場合)

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile

ruby-buildのソースコードをダウンロード

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

ruby-buildをインストール

sudo ~/.rbenv/plugins/ruby-build/install.sh

おまじない

Rubyのインストール後やgemでライブラリを追加した後に実行するrbenv rehashを自動化するプラグインを追加

git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash

3.Ruby 2.2.4をインストール

インストール可能なRubyバージョンを確認

rbenv install -l

Ruby 2.3.1をインストール

rbenv install 2.2.4

システム全体で利用するRubyバージョンを指定

rbenv global 2.2.4

CentOS 7 に Kernel 4.6系をインストールする方法

現時点のカーネルバージョンを確認します。

# uname -r
3.10.0-327.18.2.el7.x86_64


カーネルのインストールに使う、レポジトリを追加します。

# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm


最新カーネルをインストールします。

# yum -y install --enablerepo=elrepo-kernel kernel-ml


/boot直下にKernel 4.6 系に関連するファイルが複数生成されています。

# ls -1 /boot/ | grep -E '.*-4\.'
System.map-4.6.2-1.el7.elrepo.x86_64
config-4.6.2-1.el7.elrepo.x86_64
initramfs-4.6.2-1.el7.elrepo.x86_64.img
symvers-4.6.2-1.el7.elrepo.x86_64.gz
vmlinuz-4.6.2-1.el7.elrepo.x86_64


最新カーネルがサーバ起動時に読み込まれるように/etc/default/grubを編集します。

# sed -i "s/^GRUB_DEFAULT\=.*/GRUB_DEFAULT\=0/g" /etc/default/grub


GRUBをアップデートします。

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.6.2-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.6.2-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.18.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.18.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-f09801905e2f4e13966d8d90c3939e2e
Found initrd image: /boot/initramfs-0-rescue-f09801905e2f4e13966d8d90c3939e2e.img


サーバを最新カーネルで起動させるため、再起動します。

# reboot


再起動後、カーネルが4系になったことを確認できました。

# uname -r
4.6.2-1.el7.elrepo.x86_64

Ansible(2系) インストール方法まとめ

f:id:sabakan1204:20160603164812p:plain

CentOS 7


Yum でインストールする場合

YumリポジトリにEPELを追加します。

# yum install -y epel-release

Ansibleをインストールします。

# yum install -y --enablerepo=epel ansible

バージョンを確認します。

# ansible --version
ansible 2.0.2.0

pip(ピップ)でインストールする場合

YumリポジトリにEPELを追加します。

# yum install -y epel-release libffi-devel

pipのインストールと更新をします。

# yum install -y --enablerepo=epel python-pip
# pip install --upgrade pip

Ansibleのコンパイルに必要なパッケージをインストールします。

# yum install -y gcc libffi-devel openssl openssl-devel python-devel libcurl-devel

Ansibleをインストールします。

# pip install ansible

Ansibleを更新します。

# pip install --upgrade ansible

バージョンを確認します。

# ansible --version
ansible 2.1.0.0

バージョン確認時に下記のエラーメッセージが表示される場合は、pip install --upgrade ansible を実行してください。

# ansible --version
ERROR! Unexpected Exception: (setuptools 0.9.8 (/usr/lib/python2.7/site-packages), Requirement.parse('setuptools>=11.3'))

Ubuntu 14.04 /16.04


apt でインストールする場合

レポジトリを追加します。

$ sudo apt install -y software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible

Ansibleをインストールします。

$ sudo apt update
$ sudo apt install -y ansible

バージョンを確認します

$ ansible --version
ansible 2.1.0.0

pipでインストールする場合

python-setuptoolsをインストールします。

$ sudo apt install -y python-setuptools

pipのインストールと更新をします。

$ sudo apt install -y python-pip
$ sudo pip install pip --upgrade

Ansibleのコンパイルに必要なパッケージをインストールします。

$ sudo apt install -y python-dev libffi-dev libssl-dev

Ansibleをインストールします。

$ sudo pip install ansible

Ansibleを更新します。

$ sudo pip install --upgrade ansible

バージョンを確認します。

# ansible --version
ansible 2.1.0.0