CentOS7 - 環境構築 Apache 2.4 + PHP 7.1

作業環境

OS:CentOS Linux release 7.3.1611 (Core)

Apache HTTP Server(httpd) をインストール

yum install -y httpd mod_ssl

PHP 7.1をインストールするために必要なYumリポジトリ(EPEL,Remi)を追加

EPEL

yum install -y epel-release

Remi

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP 7.1 をインストール

追加したリポジトリを指定し、PHPと利用頻度が高いパッケージを一緒にインストール

yum install --enablerepo=remi-php71,epel -y php php-mysqlnd php-ldap php-gd php-xml php-bcmath php-mbstring php-pecl-mysql php-pear

php.iniタイムゾーンAsia/Tokyoに変更

sed -i 's/\;date\.timezone\ \=/date\.timezone\ \=\ Asia\/Tokyo/g' /etc/php.ini

Apacheを起動し、自動起動を有効

systemctl start httpd ; systemctl enable httpd

CentOS7 - RMagick(Ruby)で画像ファイルをリサイズする

作業環境

# hostnamectl status
   Static hostname: golang.local
         Icon name: computer-vm
           Chassis: vm
~~~
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-693.2.2.el7.x86_64
      Architecture: x86-64
RMagick: 2.16.0

目次

1.パッケージを追加
2.RMagickをインストール
3.RMagickの利用方法

1.パッケージを追加

gemを利用する際、必要になるであろうパッケージを追加。

yum install -y gcc gcc-c++ make

ImageMagickを追加。

yum install -y ImageMagick ImageMagick-devel

2.RMagickをインストール

gemコマンドで RMagickをインストールする前にgem自体をアップデート。

gem update --system

RMagickをインストール。

gem install rmagick

3.RMagickの利用方法

サンプルコードを実行するためにサンプル画像をダウンロード。

wget https://dlmarket-jp.s3.amazonaws.com/images/consignors/98/9871/test.jpg

画像をリサイズするサンプルコードをviコマンドで作成。

vi resize.rb

resize.rbに下記コードを貼り付け。

require 'fileutils'
require 'rmagick'

if ARGV[0] == nil
  puts "Missing filename"
  exit
else
  IMAGE = ARGV[0]
end

def info(img)
  puts "FILENAME  : #{img.filename}"        # ファイル名
  puts "FORMAT    : #{img.format}"          # フォーマット
  puts "HEIGHT    : #{img.rows} px"         # 高さ
  puts "WIDTH     : #{img.columns} px"      # 幅
  puts "CLASSTYPE : #{img.class_type}"      # クラスタイプ
  puts "DEPTH     : #{img.depth} bits/px"   # 深さ
  puts "COLORS    : #{img.number_colors}"   # 色
  puts "FILESIZE  : #{img.filesize} bytes"  # ファイルサイズ
  puts ""
end

original = Magick::Image.read(IMAGE).first
info(original)

width, height = 100, 100
image = original.resize(width, height)
image.write('result.jpg')
info(image)

サンプルコードを実行

下記コマンドを実行すると引数で渡した画像ファイルが 100 x 100 にリサイズされて、result.jpgという名前で保存されます。

ruby resize.rb test.jpg

出力結果

FILENAME  : test.jpg
FORMAT    : JPEG
HEIGHT    : 500 px
WIDTH     : 500 px
CLASSTYPE : DirectClass
DEPTH     : 8 bits/px
COLORS    : 1826
FILESIZE  : 26892 bytes

FILENAME  : result.jpg
FORMAT    : JPEG
HEIGHT    : 100 px
WIDTH     : 100 px
CLASSTYPE : DirectClass
DEPTH     : 16 bits/px
COLORS    : 708
FILESIZE  : 15682 bytes

参考サイト:Ruby - RMagick で画像情報取得!

CentOS7 - pyenvを利用して、Python3系をインストール

作業環境

OS:CentOS Linux release 7.3.1611 (Core)

Pythonの現行バージョンを確認

pythonコマンドに--versionオプションを指定してバージョンを確認。

python --version

出力結果

Python 2.7.5

目次

1.Yumリポジトリを追加
2.パッケージを追加
3.pyenvをインストール
4.pyenvの利用方法

1.Yumリポジトリを追加

yumコマンドでEPELリポジトリを追加。

yum install -y epel-release

2.パッケージを追加

pyenvのインストールに必要なパッケージを追加。

yum install -y gcc gcc-c++ zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git patch kernel-devel

3.pyenvをインストール

Githubからpyenvのダウンロード。

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

pyenvのPATHを設定(Bashの場合)

cat << EOF >> ~/.bash_profile
export PYENV_ROOT="\$HOME/.pyenv"
export PATH="\$PYENV_ROOT/bin:\$PATH"
eval "\$(pyenv init -)"
EOF

上記設定を`source`コマンドで読み込み。

source ~/.bash_profile

ここまででpyenvのインストールは完了。

4.pyenvの利用方法

pyenvコマンドにinstall --listオプションを指定するとインストール可能なPythonバージョン一覧が取得可能。

pyenv install --list

出力結果

Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  2.4.1
  2.4.2
  2.4.3
~省略~
  3.5.0
  3.5-dev
  3.5.1
  3.5.2
  3.6.0

pyenvを利用してPython3系をインストール

pyenv install 3.5.2

インストールしたPythonバージョンを利用する場合はglobalオプションを指定。 ※ 特定ディレクトリ内だけに限定して、利用する場合はlocalオプションを指定。

pyenv global 3.5.2

インストール完了後に下記コマンドを実行。

pyenv rehash

pythonのバージョンを確認。

python --version

出力結果

Python 3.5.2

Pythonバージョンがpyenv globalオプションで指定したバージョンに変更されていれば完了。

以上、終わり。

CentOS7 - 決められた時刻にCRONを実行するために cronie-anacron => cronie-noanacron に変更

目次

1.cronie-anacronをアンインストール
2.cronie-noanacronをインストール
3.crondの起動と自動起動設定

作業環境

OS:CentOS 7.3

1.cronie-anacronをアンインストール

Yumcronie-anacronをアンインストール

yum -y remove cronie-anacron

2.cronie-noanacronをインストール

YumコマンドでNginxをインストール

yum install -y cronie-noanacron

3.crondの起動と自動起動設定

systemctlコマンドでcrondの起動と自動起動の設定

systemctl enable crond ;systemctl start crond

CentOS7 - rbenvをインストール

目次

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

作業環境

OS:CentOS 7.4
User:root ※1

※1. 本手順では、管理者権限(root)でコマンドを実行しています。
   環境に合わせて、sudoコマンドを付け加えてください。

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

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

yum install -y git gcc gcc-c++ make openssl-devel readline-devel zlib-devel autoconf bison bzip2

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をインストール

~/.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.5.0をインストール

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

rbenv install --list

Ruby 2.5.0をインストール

rbenv install 2.5.0

実行ユーザで利用するRubyバージョンを指定

rbenv global 2.5.0

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