さくらVPS初期設定メモ

# さくらVPS初期設定メモ
さくらのVPSを借りたので、ドットインストールを見ながら設定メモを書きたいと思います。
随時更新していく予定です。

## ユーザの作成
ログイン用のユーザを作成します。

### アカウント作成（一般ユーザ用）
```
useradd 'ユーザ名'
passwd 'ユーザ名'
```

### アカウント作成（SSHでログインできないアカウントを作成）
```
useradd -s /sbin/nologin ユーザ名
```

## yumのアップデート
yumを最新の状態にアップデートします。
※yumとは、Linuxディストリビューションで標準的に利用されるパッケージ管理システムのこと

```
sudo yum update
```

## 日本語に設定する

デフォルトだと日本語になっていないので、設定します

```
vim /etc/sysconfig/i18n
```

``` /etc/sysconfig/i18n
→ LANG="ja_JP.UTF-8"
```

## sshのポート番号を変更
ポート番号はデフォルトでは、22になっています。
悪意のあるロボットに攻撃される可能性があります。
22以外に変更して攻撃対策をします。

## SSHの設定

## rootユーザでアクセス

```
sudo -s
```

## Firewallの設定

他のコンピュータネットワークとの通信を制御する設定
攻撃を防ぐための設定

### iptablesの設定
vimでiptablesのファイルを作成します。

```
vim /etc/sysconfig/iptables
```

以下のように内容をいれました。
（SSHのポート番号を入れます 1024から65535）

```
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport ■SSHのポート番号を入れました■ -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT
```

#### 設定を反映させる
```
service iptables restart
```
#### 設定を確認する
```
iptables -L
```

## WEBサーバの設定

### Apacheをインストール
[y/N]と聞かれたら、yでEnterを押してください。

```
yum install httpd
```

#### httpdをonに設定
Apacheの再起動時などで、自動起動するための設定

```
chkconfig httpd on
```

### Apache設定を設定する
WEBサーバを立ち上げるための設定になります。

#### httpd.confファイルのバックアップを取る

```
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
```

#### httpd.confを編集
httpd.confファイルを編集していきます。

```
vim /etc/httpd/conf/httpd.conf
```

## VirtualHostの設定

VirtualHostの設定とは、一つのサーバに複数のドメインを当てる設定になります。
例えば、hogehoge.comやsample.comやho.hogehoge.com（サブドメも）などを一つのサーバに入れることができます。

### hogehoge.comの公開ディレクトリを作成する

hogehoge.comの公開ディレクトリを作成します。
※-pで一括でディレクトリを作成

```
mkdir -p /var/www/hogehoge.com/public_html/
```

### 一般ユーザにもディレクトリ権限を与える

一般ユーザでもファイルの編集や新規ファイルを作成できるように権限を与えていきます。

```
chown -R hogehouser:hogehouser /var/www/hogehoge.com
```

### .confファイルを作成する

httpd.confにも書いても問題ありませんが、管理しずらいので新しくファイルを作成しました。

```
vim /etc/httpd/conf.d/hogehoge.conf
```

``` hogehoge.conf
<VirtualHost *:80>
  ServerName hogehoge.com
  DocumentRoot "/var/www/hogehoge.com/public_html"
  DirectoryIndex index.html index.php index.cgi
  ErrorLog /var/log/httpd/hogehoge.com_error_log
  CustomLog /var/log/httpd/hogehoge.com_access_log combined
  AddDefaultCharset UTF-8
  <Directory "/var/www/hogehoge.com/public_html">
    AllowOverride All
  </Directory>
</VirtualHost>
```