"さくらのVPS" でサーバ構築をする時に最初にする事 - CentOS 6.5 -

「さくらのVPS」を使用して廃棄前提のサーバを構築する時に、最初に行う設定であったり、コマンドであったりを、備忘録として記載する。

# 構築環境
さくらのVPS
 - CentOS release 6.7 (Final)

## はじめに
### 環境変数の設定でコマンドプロンプトに時刻を表示

~/.bash_profile の編集

```console
# vim /root/.bash_profile
```


環境変数 PS1 を設定。

```bash:/root/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
PS1="\t[\u@\h \W]\$ "

export PATH
```

rootユーザ

```
PS1="\t[\u@\h \W]# "
```

一般ユーザ

```
PS1="\t[\u@\h \W]\$ "
```

.bash_profile を再読み込み。

```console
# source /root/.bash_profile
```

Learn More
 ->[.bash_profileで環境変数を設定する。 - Linuxユーザのためのチップス](http://watermans-linuxtips.blogspot.jp/2008/10/bashprofile.html)

# 構築手順

1. 一般ユーザ "sample" の追加
2. 一般ユーザ "sample" のパスワードを設定
3. rootに昇格出来るユーザを限定する
4. インストール済パッケージの一括アップデート
5. ベースパッケージ群、開発ツールパッケージ群インストール
6. SELinuxの無効化
7. NKFコマンドのインストール
8. 日本語化の対応

## 一般ユーザ "sample" の追加

```console
# useradd sample
#
```
参考1：[Linux 新規ユーザの作成 - useradd - kazmax](http://kazmax.zpp.jp/linux_beginner/useradd.html)

## 一般ユーザ "sample" のパスワードを設定

```
# passwd sample
Changing password for user sample.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
#
```
参考2：[【 passwd 】 ユーザーのパスワードを変更する - ITPro](http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230854/)


## rootに昇格出来るユーザを限定する
### 一般ユーザ "sample" を wheelグループに追加する

```
# usermod -G wheel sample
#
```
参考3：[Linux ユーザ情報の変更 - usermod - kazmax](http://kazmax.zpp.jp/linux_beginner/usermod.html)
参考4：[いますぐ実践! Linux システム管理 / Vol.104](http://www.usupi.org/sysad/104.html)
参考5：[[Linux] なぜ sudo する権限のあるグループが「 wheel 」という名前なのか - Codaholic](http://codaholic.org/?p=1757)
参考6：[ユーザーをwheelグループに追加　[サーバ立ち上げ準備] - ど素人のCentOSびぼーろく](http://westbird.blog.so-net.ne.jp/2015-04-17)

### rootになれるユーザを管理者のみにする。（ vi にて編集）

```
# vi /etc/pam.d/su
```

コメントアウトを外す。
`#auth            required        pam_wheel.so use_uid`
　↓↓↓↓
`auth            required        pam_wheel.so use_uid`

修正例。（デフォルトの設定から、コメントアウトを外したもの。）

```bash:/etc/pam.d/su
#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
auth            required        pam_wheel.so use_uid
auth            include         system-auth
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         optional        pam_xauth.so
```

参考7：[インストール直後に絶対やるべき作業と設定 (3/3) - @IT](http://www.atmarkit.co.jp/ait/articles/0108/18/news003_3.html)

必要に応じて以下も実行する。
> リモートからLinuxマシンのメンテナンスを行うときは、ssh以外使わないようにします。しかし、sshのデフォルト設定はrootアカウントでのログインを許可してしまいます。そこで、rootアカウントでは直接ログインできないようにsshの設定ファイルを変更します。こうすることで、sshによる認証とsuコマンドによる認証の2段階を経なければrootになれないようになり、セキュリティを強化できます。
[インストール直後に絶対やるべき作業と設定 (3/3) - @IT](http://www.atmarkit.co.jp/ait/articles/0108/18/news003_3.html)



## インストール済みパッケージの一括アップデート
`# yum -y update`

参考8：[Yellowdog Updater Modified - Wikipedia](https://ja.wikipedia.org/wiki/Yellowdog_Updater_Modified)
参考9：[【 yum 】 パッケージを取得してインストール/アップデートをする - ITPro](http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/230999/)
参考10：[初心者の頃に知っておきたかった rpm と yum の違いと使い分け - 彼女からは、おいちゃんと呼ばれています](http://blog.inouetakuya.info/entry/20111006/1317900802)


## ベースパッケージ群、開発ツールパッケージ群インストール
`# yum -y groupinstall "Base" "Development tools"`

参考11：[yum パッケージグループ一覧 - 名もないサイト](http://complete.ddo.jp/cent5/yumgroup.html)

## SELinuxの無効化

```
# getenforce
Disabled
```

（さくらのVPSのCentOS 6.5 はデフォルトで "Disabled"になっている）

参考12：[SELinux - Wikipedia](https://ja.wikipedia.org/wiki/SELinux)
参考13：[SELinuxを無効化する - Smart](http://rfs.jp/server/security/selinux01.html)


## NKFコマンドのインストール
`# yum -y install nkf`

参考14：[【 nkf 】 文字コードを変換する - ITPro](http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230849/)
参考15：[文字コード変換コマンドの nkfの使い方と実例をまとめました。 - それマグで！](http://takuya-1st.hatenablog.jp/entry/20100511/1273585953)

## 日本語化の対応
`# vi /etc/sysconfig/i18n`

デフォルトでは、"C"が設定されている。
`LANG="C"`

その為、下記のように書き換える。

```bash:/etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
```

書き換えたら下記のコマンドを実行する。
`# source /etc/sysconfig/i18n`

試しに $LANG を出力して、変更が反映されている事を確認する。

```
# echo $LANG
ja_JP.UTF-8
```

参考16：[日本語環境にする - Server World](http://www.server-world.info/query?os=CentOS_6&p=japanese)


# こんな感じ

本格的な運用を考えるなら iptables ほか、必要な設定は多々ありますが、動作確認や構築練習だけすぐに畳む予定であれば、この程度で大丈夫かなぁ。

# 参考
* [CentOS6初期設定 - CentOSで自宅サーバー構築](http://centossrv.com/centos6-init.shtml)
* [[新卒向け] Linux開発環境の基礎知識 - Qiita](http://qiita.com/0xfffffff7/items/028ff8c920a6a8c67dc5)