VPSを借りてCentOSのセットアップをする(1)
内容
VPSを借りる
ここで間違える程度の初心者がいるなんて自分にびっくりした。
webアプリケーションを走らせるための各種設定にはroot権限が必要ですが、
VPS(バーチャルプライベートサーバ)でないと、sshの設定が出来ても、root権限が使えないところがほとんどです。
と他のサーバ借りて、sudoがどうしても使えないな、と15分くらい試したのは内緒です。お試し期間万歳。
VPSには、とかさくらのVPSとかGMOのVPSとかがあります。あるいは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権限がある状態で、$の時は一般ユーザの権限があるときだそうです。