Rails on Serversman@VPS PART-1 ユーザーの作成〜公開鍵認証


Serversman@VPSをセットアップしてRuby on Railsアプリをデプロイする一連の流れのまとめ。

契約プランはStandard、CentOS 5.5 で、当然のことながらエンジニアセット。

ユーザーの作成〜SSHで公開鍵認証をするまでの流れ。

■ディレクトリ
gitリポジトリ /home/git/rails_app
Railsアプリ  /home/demo/rails_app
デプロイはgitリポジトリから→demoへデプロイ。

■ユーザー
【demo】 Railsの実行ユーザー
【git】  gitリポジトリ用のユーザー
Railsの実行ユーザーはsudoできるよう設定(後述)。

■ユーザーの作成・設定
契約時に送られてくるメールでServersman@VPSのIP、adminのパスワード等を確認する。

ターミナルでServersman@VPSサーバに接続
※rootログインがデフォルトで禁止されているようなので、adminで接続。
ssh admin@123.456.7.89
パスワード入力してログイン
[admin@localhost ~]$

rootパスワードを変更
sudo passwd
Enter new UNIX password 新しいパスワードを入力
Retype new UNIX password 新しいパスワードを入力
同様にadminも変更しておく

ロケールを日本語に設定
sudo vi /etc/sysconfig/i18n
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8

Railsアプリの実行ユーザー、gitリポジトリのユーザーを作成
sudo /usr/sbin/adduser demo
sudo /usr/sbin/adduser git

パスワードを変更
sudo passwd demo
sudo passwd git

Railsアプリの実行ユーザーユーザーをwheelグループに変更して、wheelグループがsudoできるよう変更。
/usr/sbin/usermod -a -G wheel demo
sudo /usr/sbin/visudo
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

をコメントをはずして
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL

■SSH公開鍵認証の設定
SSH公開鍵の作成
ローカルマシン上で
ssh-keygen

SSH公開鍵をサーバにコピー
scp ~/.ssh/id_rsa.pub demo@123.456.7.89:
mkdir ~demo/.ssh
mv ~demo/id_rsa.pub ~demo/.ssh/authorized_keys

ファイルの所有権、パーミッションなどの変更
Rails実行ユーザー
chown -R demo:wheel ~demo/.ssh
chmod 700 ~demo/.ssh
chmod 600 ~demo/.ssh/authorized_keys

gitユーザー
chown -R git:git ~git/.ssh
chmod 700 ~git/.ssh
chmod 600 ~git/.ssh/authorized_keys

SSHの設定を変更。SSHポート番号や、許可ユーザーを設定
sudo vi /etc/ssh/sshd_config
Port 22
#UsePAM no
UsePAM yes
  ↓
Port 20000
UsePAM no
#UsePAM yes
AllowUsers demo git
に変更

SSHをリロードして反映。
sudo /etc/init.d/sshd reload

公開鍵認証をテスト
ssh -p 20000 demo@123.456.7.89
でログインできればOK。

ここでPasswordAuthentication noにしたくなるが、そうしてdeploy:coldすると、デプロイ先サーバー内のでSSHの
knownhotstがうまくいなかい・・・かなにかでHost key verification failed.
というエラーが出てハマったので、deploy:coldが終わるまではパスワード認証を許可しておく方がよいような気がします。

posted by digital-squad at 2010年11月26日 15時20分 | Comment(0) | TrackBack(0) | Ruby on Rails / Ruby
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック