IDCFクラウドでCentOS7を使ってみる
はじめに
- 今までぬるりと避けてきたCentoOS7を触ってみる
- IDCFクラウドを今回利用しております www.idcf.jp
- IDCFクラウド特有の話しはここでは扱いません
- Webベースのコンパネも非常に分かりやすいので、見れば感覚的に使えます
主にやること
- anyenvを使って PHP/Rubyのバージョンを切り替えれるようにする
- Webサーバはnginxを利用
- FWはIDCFクラウド側で用意されているものを利用する
基本設定
etckeeperのインストール
# yum -y install epel-release # yum -y install etckeeper # etckeeper init # etckeeper commit -m 'first commit'
作業用アカウントの作成
# adduser kopug # passwd kopug # usermod -G wheel kopug # visudo -f /etc/sudoers.d/wheel
%wheel ALL=(ALL) NOPASSWD: ALL Defaults:%wheel !requiretty Defaults:%wheel env_keep += SSH_AUTH_SOCK
sshdの設定変更
ここからは 作業用ユーザで実施
rootでのログインを禁止
$ sudo sh -c 'echo "PermitRootLogin no" >> /etc/ssh/sshd_config'
空のパスワードでのログイン禁止
$ sudo sh -c 'echo "PermitEmptyPasswords no" >> /etc/ssh/sshd_config'
鍵認証必須
$ sudo sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
設定反映
$ sudo systemctl reload sshd.service
root宛のメールを受け取れるようにする
$ sudo sudo sed -i '/^root:/d' /etc/aliases $ sudo sh -c "echo 'root: user@example.com' >> /etc/aliases" $ sudo newaliases
設定内容をコミット
$ sudo etckeeper commit
anyenv のインストール
$ git clone https://github.com/riywo/anyenv ~/.anyenv $ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.your_profile $ echo 'eval "$(anyenv init -)"' >> ~/.your_profile $ exec $SHELL -l
$ anyenv install rbenv # anyenv install phpenv
各種pluginのインストール
$ mkdir -p $(anyenv root)/plugins $ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update $ anyenv update
$ mkdir -p $(anyenv root)/plugins $ git clone git://github.com/aereal/anyenv-exec.git $(anyenv root)/plugins/anyenv-exe $ anyenv exec --version
$ mkdir -p $(anyenv root)/plugins $ git clone https://github.com/znz/anyenv-git.git $(anyenv root)/plugins/anyenv-git $ anyenv git gc
phpのインストール
buildするのに必要なパッケージをインストール
$ sudo yum install -y --enablerepo=epel \ bzip2 gcc mariadb-devel libxml2-devel \ re2c libcurl-devel libjpeg-devel libpng-devel \ readline-devel libtidy-devel libxslt-devel bison-devel \ autoconf automake
インストール可能なバージョン
$ phpenv install -l Available versions: 5.2.17 5.3.2 5.3.3 5.3.6 5.3.8 5.3.9 : : : 7.0.12 7.0.13 7.0.14 7.0snapshot 7.1.0 7.1snapshot master
ここでは 最新の7.1.0 をインストールする
$ phpenv install 7.1.0
ruby のインストール
$ rbenv install -l Available versions: 1.8.5-p113 1.8.5-p114 1.8.5-p115 : : : 2.4.0-preview3 2.4.0-rc1 2.4.0 2.5.0-dev : : :
$ rbenv install 2.4.0 $ rbenv global 2.4.0 $ ruby -v ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]