さくらVPS の OS セットアップ情報をまとめてみる(初心者向け)

久しぶりに さくらVPS でサーバーの構築を行う事になったのですが、今ひとつ知識不足が目立ったため [OSセットアップ情報](http://support.sakura.ad.jp/manual/vps/ossetup.html) に記載されている気になった(というか分からなかったｗ)内容をひと通り調べてみました。

個人的な備忘録という形で記載したので、用語の意味が違ったりひん曲がった解釈をしている場合、ご指摘いただけると嬉しいです。

※ なお、本内容は 2014/02/19 現在の内容です。

----
# OS基本情報
## 1. インストールOS
* OS : CentOS 6 x86_64
 * Red Hat 社が提供する Red Hat Enterprise Linuxのクローン
 * yum (Yellowdog Updater Modified) というパッケージ管理システムが使える
 * 現在(2014/02/19) バージョンは 6.5 が最新

## 2. パーティション
OS の機能で必要なものを他のファイルと混合・圧迫しないように、予め パーティション が切られています。
下記にある `/boot` と `/swap` ディレクトリは基本いじらないようにしましょう。

* `/boot`
  * OS の起動に必要なファイルを入れておくディレクトリ。250MB 固定
* `/swap`
  * Windows や Macintosh での"仮想メモリ"に相当。メインメモリの空き容量が不足した場合、一部をこのディレクトリに退避させ、メインメモリ不足に対処する。2GB 固定
* `/` (そのほか)
  * 実際に作業に使える部分。契約プランごとに違う。10GB 〜 220GB くらい

## 3. ブートローダ
OS を起動させるプログラムのこと。

* GRUB (OS標準)
  * GRand Unified Bootloader : グラブ、ジーラブと読むらしい。
  * Bash みたいなコマンドライン操作が可能

## 4. タイムゾーン
さくらVPS は国内サーバーなのでこの辺りは心配なし。海外から使う場合には時差があることに注意

* Asia/Tokyo

## 5. SELinux
* 「Security-Enhanced Linux : エスイーリナックス」 という  
通常、 サーバー 内のファイルには権限がないとアクセス・書込・実行ができない。それができるのは rootユーザー のみ。  
つまり、この rootユーザー がもしハックされるとひじょーーーにまずい  
SELinux では、万が一不正なアクセスがあったとしても、そのアクセス手段(HTTP や SSH など)で操作できる内容を制限したり、そもそも root ユーザーでも出来る内容を制限・分散させることが可能となる。
* さくらVPS では標準搭載されているが、 SELinux を使いたい場合機能を有効化する必要がある。

## 6. ランレベル（Linuxの動作モード）
* 動作モードには 0 〜 6 までの7種類のモードがある
* デフォルトは 3 (コンソールログインのマルチユーザーモード)
* サーバーとして使用するのであれば特に気にする必要はない

## 7. ホスト名設定
* 初期状態の さくらVPS ではホスト名の設定はされていない。  
設定ファイル の内容を書き換え、設定を行いましょう。

## 8. リゾルバの設定
* リゾルバ (resolver) とは DNS の名前解決を行うプログラムのこと
* 上記URL 内の説明では 「 Option に `options single-request-reopen` を記載している」 とありますが、これは CentOS 6 のバグで、IPv6 で DSN に接続し FQDN (Fully Qualified Domain Name : 完全修飾ドメイン名、ドメインのフルパス) を解決する際、FireWall に弾かれる場合があるそうです。通信自体には問題なく、5秒ほど遅延するだけなのですが、それを解消するために上記のオプションを追加しているようです。
* 詳細は「[RHEL6/CentOS6では、single-request-reopen を必須にしたい…[IPv6]](http://www.kunitake.org/chalow/2012-11-02-1.html)」のサイトが詳しく説明しています。

## 9. NTPの設定（時刻の同期）
* NTP (Network Time Protocol) とはサーバーの時間を正常のものにする通信プロトコルのこと
* UDP 123 ポートを使用して時刻の同期を行う。

## 10. Firewall（iptables/ip6tables）
* おそらくサーバー運用の中でもトップクラスに大切なモノです。
* これをしっかりしていないとよくわからない人によくわからないことされたりさせられたりします。こわいこわい
* さくらVPSのセットアップページにはこのように書いてあります。

> iptablesは起動されていますが、ポリシーは INPUT、OUTPUT 共 ACCEPT となっています。

* つまり初期状態ではだれでもウェルカムな状態になっている。これ、非常にまずいです。なんで初期状態がこれなんだｗ
* 最速で変更するのをおすすめします。

## 11. インストール済みパッケージグループ
### Installation Type
* Server ... CentOS のサーバー向けパッケージグループがインストールされている。具体的には Package 欄のパッケージグループが入っている

### Package 
* デフォルトで入っているパッケージグループ。yum を使って更新、追加が可能
  * [yum パッケージグループ一覧](http://complete.ddo.jp/cent5/yumgroup.html) に何がどの内容か、きれいにまとまっている。が、バージョンが古い。探してみたけど、良い資料が見当たらなかった orz

# 起動デーモン
* デーモンとは、バックグラウンドで起動・動作するプログラムのこと。悪魔ではないです
* 一欄にあるのは初期状態で起動・動作しているデーモンです

# パッケージ管理ツール
* CentOSなので yum が使えます。  
yum は非常に便利なので設定周りで大変お世話になります

# アプリケーション設定
## 1. インストール構成一覧
* FTP, POP3, HTTP, DB がひと通りインストールされていない。必要な物は各自でインストールしましょう
* なぜか E-mail server パッケージグループだけはインストールされている様で、SMTPサーバ はインストールされている。

## 2. sshd
* SSH(Secure SHell : セキュアシェル) という接続形式をサポートするアプリケーション (デーモン) の設定です。sshd の d はデーモンの略です
* SSH には SSH1 と SSH2 の2種類のプロトコルが存在し、 さくらVPS ではセキュアな SSH2 のみ使えます。  
(SSH1は RSA公開鍵暗号方式 を採用しているのですが、こちらは特許の関係で使える環境が限られているようです) 

## 3. postfix
* メール転送エージェント(MTA) という、電子メールサーバソフトウェア
* メールの送受信や保管をするのに必要です

----
内容に不備がありましたらコメントにて連絡していただけると嬉しいです。m(_ _)m

# 参考資料
* [OSセットアップ情報｜さくらのVPS｜さくらインターネット公式サポートサイト](http://support.sakura.ad.jp/manual/vps/ossetup.html)
  * この内容についてまとめています
* [RHEL6/CentOS6では、single-request-reopen を必須にしたい…](http://www.kunitake.org/chalow/2012-11-02-1.html)
  * `options single-request-reopen` のコマンドの意味について参考にさせて頂きました
* [yumパッケージグループ一覧](http://complete.ddo.jp/cent5/yumgroup.html)
  * パッケージグループの個々の内容について参考にしました。が、CentOS5 の内容であったため、詳細をまとめるのを断念。
* [IT用語辞典 e-Words](http://e-words.jp/)
  * 基本的な用語についてはここを参考にしました