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

woshidan's blog

そんなことよりコードにダイブ。

VPSを借りてCentOSのセットアップをする(1)

サーバ設定

内容

  • VPSを借りる
  • CentOSの接続に関する設定
    • VPSの起動・sshで接続
    • 言語設定
    • 作業ユーザの設定
      • 作業ユーザの追加
      • パスワードの設定
      • グループへの登録
      • グループに対してsudo実行の権限を付与(この記事はここまで)
    • 鍵認証の設定
      • 秘密鍵と公開鍵の対の生成
      • 公開鍵を置くディレクトリの準備
      • 公開鍵の転送
      • 秘密鍵を指定してログインしてみる
    • ssh接続の設定変更
      • 設定ファイル
      • 変更内容
      • 設定の反映方法
    • ファイアウォールの設定
      • 設定ファイル
      • メモ
      • 設定の反映方法

 

VPSを借りる

ここで間違える程度の初心者がいるなんて自分にびっくりした。
webアプリケーションを走らせるための各種設定にはroot権限が必要ですが、
VPS(バーチャルプライベートサーバ)でないと、sshの設定が出来ても、root権限が使えないところがほとんどです。
と他のサーバ借りて、sudoがどうしても使えないな、と15分くらい試したのは内緒です。お試し期間万歳。
VPSには、とかさくらのVPSとかGMOVPSとかがあります。あるいはAWSのサーバとかも流行です。
今回は、何はともあれサーバを設定してどんな感じか覚える、というのがあるので、
どこでやっても苦労をする……ごほごほ学びがあるだろう、というのと、
クレジットカードが怖いというチキンな理由と
インターン先で使われていたので質問しやすいだろう(その節はいきなりすみませんでした)、
というやっぱりチキンな理由でさくらのVPS借りました。

各種サービスがA社では簡単に入っている、という話はあるのですが、
どこまでが何のプログラムで動いているか、が一番はじめの段階でよく分かってないままに
導入してしまうと、後でパンクするだろう、
いつまで経っても安心して書ける部分が増えないのではないか、という不安があって。

ロリポップの普通のレンタルサーバを借りて、あれsshで接続してもroot権限取れなくない?をやっちゃった子なんだから、
少し安全策を取ろうよ、ということで、今回は避けました。

でも、結局画像を割と使うかも、ということでストレージサービスをどこかで利用しなくちゃ、
な雰囲気があるので、また変わりそうです。ストレージだけでも割と。
そのときはそのときでまた勉強しようと思います。

CentOSの接続に関する設定

利用料振り込んで一時間くらいで利用可能になったものの、サーバーを借りるところからこけていたため、
「やだ、なんか分からないけど、暗い画面怖い」
の症状に陥ってしまっていました。
なので、とりあえず、がちゃがちゃ出来るのはいまだけ!ということで、はじめにどっとインストール見ながら2回ほどがちゃがちゃ動かしてみました。

生意気にrailsのコードはcapistranoで入れてrubyはrbenvを使って管理するぜ、とだけはきめていたので、
http://dotinstall.com/lessons/basic_sakura_vps
の16まで。本当によい時代だと思います。

 

VPSの起動・sshで接続

最初にさくらのVPSのコンソール画面へログインしてVPSを起動しておきます。
その後で、sshでrootユーザとして登録時のメールに届いたパスワードを用いて、接続します。
すると、VPSのfingerprintが~/.ssh/knownhostsというファイルに登録されます。

 

とりあえず試しにやったのをリセットしたかったり、
設定がしっちゃかめっちゃかしてやり直したくなってOSを再インストールした時etcは、以下のような警告が出て接続できないことがあります。

OSを再インストールしたときに、サーバの証明書として送るRSAキー(fingerprint)も変化しているみたいなのですが、
そのため、fingerprintが変化するような攻撃を受けた可能性があるので、管理者に連絡して、いま、入っている古いfingerprintでなくて、管理者に連絡して現在の正しいfingerprintを追加するように言われています。
今回の場合は、別に悪いことをしたわけじゃないことが分かっているのでknownhostsから該当するサーバのfingerprintを削除して、自分のPCから見てVPSのアドレスを未知のIPアドレスとして扱えるようにします。

言語設定

何かと便利なので、/etc/sysconfig/i18nを以下のように編集します。

元々表記は日本語になっていたのですが、文字コードをはっきりUTF-8にしておきます。

作業ユーザの設定

常にrootでログインするのはおっかないので作業用のユーザを追加します。

ユーザの追加
パスワードの設定

と入力したら設定するパスワードを入力するように求められるので、2回同じものを入力します。
デプロイ等のときの接続は後で設定するsshの認証鍵を利用します。
このパスワードはsudoなどで新しいプログラムをインストールするときに使います。

グループへの登録

wheelは元々用意されているユーザグループです。どっとインストールやITmediaの記事で利用されていたのでそんなもんなのか、という感じでそのまま使います。

 

グループに対してsudo実行の権限を付与

visudoというコマンドでsudoersファイルを編集して先ほどのグループにsudoを使える権限を与えるように設定を変更します。

sudoersについては、


visudoコマンド(sudoコマンドの為の設定ファイルの編集)

など。

 編集後、ファイルを保存したら設定は反映されます。

また、ユーザー名の右側に記号が#のときはroot権限がある状態で、$の時は一般ユーザの権限があるときだそうです。