読者です 読者をやめる 読者になる 読者になる

いぬれおがんばれお

がんばる日記です

さくらVPSにUbuntu LTS 14.04をインストールした話(1)

さくらVPSUbuntu LTS 14.04をインストールして、セットアップしたので備忘録的にまとめておきます

チームでWebサービスを作るぞ!ということで、さくらVPSRails環境を構築します 想定は nginx + Unicornです

OSのカスタムインストール

これはさくらインターネットさんの方で、画像付きの丁寧なマニュアルがありましたのでその通り進めて全く問題なかったのでそのまま参考URLをはっておきますね

Ubuntu 12.04/14.04|カスタムOSインストールガイド|さくらのVPS|さくらインターネット公式サポートサイト

rootになれるユーザを制限

vi /etc/pam.d/su
# 15行目:コメント解除し su を許可するグループ名追記
auth   required   pam_wheel.so   group=adm

sshdの設定

やること

  • Portが22番のままだと辞書攻撃の対象になるなどセキュリティ上不安なので、ポートの変更
  • sshでrootログインを遮断
  • X11Protcolを遮断

まずはsshdの設定ファイルを開く

vi /etc/ssh/sshd_config

49152番から65535番までの間の任意の一つを選んで設定する Port番号は参考URLでも書かれてるように上記の番号で設定する

--- snip ---
#Port 22
Port XXXXXX
...
#PermitRootLogin yes
PermitRootLogin no
...
#X11Forwarding yes
#X11DisplayOffset 10
X11Forwarding no

sshdをリロード

service ssh reload

無事にリロードができたらssh-p オプションでポートを指定してログインする

参考サイト

oceanweb : さくらの VPS : Ubuntu 12.04 導入後の設定(1)

aptの設定

multiverseというのがテストがいまいちということで、リポジトリリストからコメントアウトするよ

vi /etc/apt/sources.list

後ろに multiverse と付いているので、 multiverse で検索してコメントアウトしてあげると楽です

29: #deb http://jp.archive.ubuntu.com/ubuntu precise multiverse
30: #deb-src http://jp.archive.ubuntu.com/ubuntu precise multiverse
31: #deb http://jp.archive.ubuntu.com/ubuntu precise-updates multiverse
32: #deb-src http://jp.archive.ubuntu.com/ubuntu precise-updates multiverse

39: #deb http://jp.archive.ubuntu.com/ubuntu precise-backports main restricted unive
rse multiverse
40: #deb-src http://jp.archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse

44: #deb http://security.ubuntu.com/ubuntu precise-security multiverse
45: #deb-src http://security.ubuntu.com/ubuntu precise-security multiverse

パッケージの更新もしてあげるよ

apt-get update
apt-get upgrade

参考サイト

oceanweb : さくらの VPS : Ubuntu 12.04 導入後の設定(2)

ロケールの設定

日本語が使えるようにするよ、早速さっき設定したaptで日本語のパッケージをインストール

apt-get install language-pack-ja
dpkg-reconfigure locales
update-locale LANG=ja_JP.UTF-8

参考サイト

評判のさくらのVPSを使うときに最初にやっておきたいこと(Ubuntu編) | レンタルサーバー・自宅サーバー設定・構築のヒント

NTPクライアントの設定

サーバの時刻を標準時刻と同期できるようにするよ

vi /etc/default/ntpdate
#NTPSERVERS="ntp.ubuntu.com"
NTPSERVERS="ntp.nict.jp"

下記にスクリプトを制作

vi /etc/cron.daily/ntpdate

スクリプトの中身

# !/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin

if [ ! -x /usr/sbin/ntpdate-debian ] && [ -d /usr/sbin ]; then
        exit 0
fi

/usr/sbin/ntpdate-debian

パーミッションを変更して実行可能にしてあげる

chmod 755 /etc/cron.daily/ntpdate

参考サイト

oceanweb : さくらの VPS : Ubuntu 12.04 導入後の設定(2)

色々インストール

sudo apt-get install git
sudo apt-get install tmux

Zshにする

Zshをカスタマイズするのが面倒なので、Preztoでセットアップします。ここは参考URLをまるまるコピーしています

// Zshインストール
sudo apt-get install zsh

// Zsh起動
zsh
 
// リポジトリをclone
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
 
// 設定ファイルを作成
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
 
// Shellのデフォルトに設定
chsh -s /bin/zsh

Zsh + Prezto で快適コマンド環境を構築する | Developers.IO

秘密鍵ログイン

scp -P XXXXX .ssh/id_rsa.pub user@IPAddress:/home/user

userのhomeディレクトリに届いているか確認したら、

mkdir .ssh
mv id_rsa.pub ~/.ssh/authorized_keys
sudo vi /etc/ssh/sshd_config

パスワードログインを禁止

#PasswordAuthentication yes
PasswordAuthentication no
sudo service sshd restart

公開鍵認証の設定とconfigファイルでssh接続の管理(Ubuntu)

ユーザにsudo追加

rootになって visudo でユーザを追加

su -
visudo

sudoersを開いたら下記を追加

user ALL=(ALL)       ALL

さくらVPS+CentOS:自分をsudoユーザに追加してみた | Suinasia

と、長くなりそうなのでここまで。 Rails環境をととのえるのは次回にします(╹◡╹)