0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

さくらVPS 初期設定メモ

Last updated at Posted at 2016-06-14

さくらのVPSを借りました。
初期設定についてまとめました。

やったこと一覧

  1. さくらVPSの起動
  2. 基本設定
  3. 作業ユーザーの設定
  4. 認証鍵の設定
  5. SSHの設定
  6. ファイアーウォールの設定
  7. Webサーバーの設定
  8. PHPの設定
  9. MySQLの設定

1.さくらVPSの起動

VPS申し込みから起動まで

申し込み

さくらのVPS

ここから申し込む

申し込むと数分後に [さくらのVPS] 仮登録完了のお知らせ というメールが届く。
パスワードやIPアドレスが書かれているので忘れないようにする。

VPSの起動

先ほどのメールの情報を元にログインを済ませる。

  • IPアドレス
  • パスワード
  • コントロールパネルのURL

VPSは初期状態だと停止している。稼動させる。
コントロールパネルに起動と書かれてるボタンがあるので押す。

「停止中」が「稼働中」に変わればVPSの起動は成功です。

2.基本設定

ここでターミナルを準備する。IPアドレス等をしてVPSに接続する。
私はPuTTY ごった煮版を使っています。

アプリケーションを最新版に更新

$ yum update

yumとはCentOSなどで利用されるパッケージ管理ツールです。
yum updateでVPSのアプリケーションを最新の状態にします。

更新が無ければ以下の表示がされる。

No Packages marked for Update

ある場合は(y/n)で聞かれる。yで更新をかける。

日本語化

$ vim /etc/sysconfig/i18n

LANGの値を変える。

LANG="ja_JP.UTF-8"

反映のため、一度ログアウトしログインする。

3.作業ユーザーの設定

ユーザーを追加する。

$ useradd ユーザー名
$ passwd パスワード

sudo権限を与える

sudoは、ユーザーが別ユーザーの権限でプログラムを実行するためのコマンドです。
root権限を利用するために必要になります。

ユーザをwheelグループに変更する
このwheelグループがsudoできるようにする。

$ usermod -G wheel ユーザー名

sudoersファイル(sudo周りの設定ファイル)を編集する。

$ visudo

コメントアウトを外す

# %wheel        ALL=(ALL)       ALL
↓
%wheel        ALL=(ALL)       ALL

保存して設定終了

追加したユーザー名、パスワードでログインできれば成功です

4.認証鍵の設定

公開鍵を入れるディレクトリを作る

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh

公開鍵・秘密鍵を生成する、生成方法は環境によって変わるため割愛します。
私はPuttyに付属している鍵生成を使いました。

生成した公開鍵は以下のように保存する。
秘密鍵はローカルで保持する。

~/.ssh/authorized_keys

パーミッション変更

$ chmod 600 ~/.ssh/authorized_keys

設定した鍵認証でログインできれば成功です。

5.SSHの設定

鍵認証の設定だけではrootログイン等できてしまう。
さらにセキュリティを高める設定する。

  • ポート番号の変更
  • rootログインの禁止
  • パスワードログインの禁止

root権限での処理が続くので変更する。

$ sudo -s

sshd_configを編集する。
SSHの設定します。

$ vim /etc/ssh/sshd_config

ポート番号の変更

ポートはデフォルトで22が割り振られている。
そのため攻撃の対象になりやすいです。1024~65535までの範囲で設定する。

/Portで検索し、編集

# Port 22
↓
Port 1024~65535

パスワードログインの禁止

PasswordAuthentication yes
↓
PasswordAuthentication no

rootログインの禁止

# PermitRootLogin yes
↓
PermitRootLogin no

ここまで設定したら保存して終了し、sshdを再起動する。

$ service sshd restart

OKと出れば設定完了です。

6.ファイアーウォールの設定

iptablesを使います。
これはLinuxに実装されているパケットフィルタリング型のファイアウォール機能です。

新規作成し記述します。

$ vim /etc/sysconfig/iptables

*filter
:INPUT    DROP    [0:0]
:FORWARD  DROP    [0:0]
:OUTPUT   ACCEPT  [0:0]
:SERVICES -       [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 4  -j ACCEPT
-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -j SERVICES
-A INPUT -p udp --sport 53 -j ACCEPT
-A INPUT -p udp --sport 123 --dport 123 -j ACCEPT
-A SERVICES -p tcp --dport 80 -j ACCEPT
-A SERVICES -p tcp --dport 443 -j ACCEPT
-A SERVICES -p tcp --dport (上で設定したポート番号) -j ACCEPT

COMMIT

iptablesを有効にします。

$ service iptables restart

OKが出れば設定完了です。

設定の確認をする。

$ iptables -L

ファイアーウォールの設定はこれで終了です。

7.Webサーバーの設定

Apacheをインストールする。
CentOSではhttpdはApacheのことを指します。

$ yum install httpd

自動起動するようにする。

$ chkconfig httpd on

セキュリティの設定をする。

$ vim /etc/httpd/conf/httpd.conf

3箇所以下のように書き換える。

ServerTokens OS
↓
ServerTokens Prod
ServerSignature On
↓
ServerSignature Off
Options Indexes FollowSymLinks
↓
Options -Indexes FollowSymLinks

設定が正しいかチェックし、起動する。

$ service httpd configtest
$ service httpd start

ブラウザでVPSのIPアドレスを入力し、Apache Test Pageと表示されればWebサーバーの設定は成功です。

8.PHPの設定

PHPをインストールする。

$ yum install php php-devel php-mysql php-mbstring php-gd

設定ファイルを編集する。

$ vim /etc/php.ini

エラーログの出力場所をわかりやすい場所に変更

;error_log = php_errors.log
↓
error_log = /var/log/php.log

日本語にする設定

;mbstring.language = Japanese
↓
mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
↓
mbstring.internal_encoding = UTF-8
;mbstring.http_input = auto
↓
mbstring.http_input = auto
;expose_php = On
↓
expose_php = Off

タイムゾーンの設定

;date.timezone = 
↓
date.timezone = Asia/Tokyo

設定を反映させるため、httpdを再起動する。

$ service httpd restart

OKが出ればPHPの設定は完了です

9.MySQLの設定

MySQLをインストールする。

$ yum install mysql-server

設定ファイルを編集する。

$ vim /etc/my.cnf

文字コードをUTF8にするため、追記する。

[mysqld]
character-set-server = utf8

MySQLを起動する。

$ service mysqld start

セキュリティの設定をします。

$ mysql_secure_installation

いくつか質問をされます。

  • rootパスワードの変更
  • rootのリモートホストからのログインの禁止
  • testデータベースの削除
  • 匿名ユーザーの削除

基本的にyで承諾しながら進みます。

自動起動の設定もします。

$ chkconfig mysqld on

動作確認。
先ほど設定したパスワードを入力し、ログインする。

mysql -u root -p

MySQLが立ち上がれば設定完了です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?