[Server] CentOS6.3 on さくらのVPS の初期設定

まず、前提としてさくらのVPSにインストールされている CentOS は 64bit 版みたいです。

(最終更新日:2013/09/15)

前提

ユーザ名 your_username の部分は、自分のユーザ名に置き換えてください。


管理者アカウント作成

■ root 権限では危ないので管理者ユーザーを作成する

useradd -G wheel your_username
passwd your_username

■ wheel グループに所属しているユーザしか su できないように変更する

vi /etc/pam.d/su
 
#auth required pam_wheel.so use_uid
↓(変更)
auth required pam_wheel.so use_uid

■ wheel グループに所属しているユーザは sudo できるように変更する

visudo
 
#%wheel ALL=(ALL) ALL
↓(変更)
%wheel ALL=(ALL) ALL

SSH の設定

■ .ssh ディレクトリの作成

mkdir /home/your_username/.ssh

■ クライアント側で公開鍵を作成し、サーバに公開鍵を転送

ssh-keygen -t rsa
scp .ssh/id_rsa.pub your_username@host:/home/your_username/.ssh
mv /home/your_username/.ssh/id_rsa.pub /home/your_username/.ssh/authorized_keys

もしくは、リモートコンソール経由でコピペして作成します。

vi /home/your_username/.ssh/authorized_keys
ssh-rsa xxxx (貼り付ける)

■ 公開鍵ファイルのアクセス権限と所有者を変更

chmod 700 /home/your_username/.ssh/
chmod 600 /home/your_username/.ssh/*
chown -R your_username. /home/your_username/.ssh/

■ SSH の設定変更

sed コマンドで置換します。

sed -i 's/^#Port 22/Port 20022/' /etc/ssh/sshd_config
sed -i 's/^#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

手動で書き換える場合は、下記を参考にして下さい。

vim /etc/ssh/sshd_config
 
Port 20022
PermitRootLogin no
PasswordAuthentication no
service sshd restart

Port番号が変更できなくてハマったけど、編集するファイルを sshd_config ではなくて ssh_config を編集していたのが原因でした…

・参考:さくらのVPS を使いはじめる 2 – sudo と SSH ポート変更 | アカベコマイリ

■ 公開鍵認証で SSH 接続する

ssh -p 20022 -i /Users/your_username/.ssh/id_rsa your_username@www12345u.sakura.ne.jp

・参考:sshコマンド – 管理者必見! ネットワーク・コマンド集:ITpro


ファイアーウォールの構築

■ ファイアーウォールの設定をします

・コンテンツの転送にはSFTPを使うので、FTPポートは空けない

$ vim /etc/sysconfig/iptables
 
*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
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20022 -j ACCEPT
# HTTP
-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 8080  -j ACCEPT
# MySQL
-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

yum の設定

■ リポジトリの変更

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
 
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# vim /etc/yum.repos.d/remi.repo
 
[remi]
enabled=1

■ yum のアップグレード

# yum -y upgrade

ホスト名の設定

ホスト名が既に決まっている場合は、この辺で設定しておきましょう。

[Linux] Host名(hostname)の変更方法


各種ソフトウェアのインストール(随時更新予定)

■ Apache

■ Nginx

■ MySQL

■ PHP


参考記事

■ 基本設定

「さくらのVPS」を使ってみる – さくらインターネット創業日記

CentOSをサーバーとして活用するための基本的な設定 – さくらインターネット創業日記

ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編) – さくらインターネット創業日記

はじめてのさくら VPS + CentOS の初期設定からチューニングなどの作業まとめ | ウェブル

1,000円を切る低価格で登場、「さくらのVPS」をチェック――サーバー構築編 – SourceForge.JP Magazine : オープンソースの話題満載

VPSの初期設定とLAMP環境を構築する方法。 – とりあえず9JP

【さくらのVPS】初期設定をしてみた | Untitled Documents.

■ チューニングなど

さくらVPSで一日6万PVを処理するためにしたこと – 新卒インフラエンジニア2年目

■ 他社のVPSとの比較記事

格安の低価格VPSを比較する – さくらインターネット創業日記