まず、前提としてさくらの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 ディレクトリの作成
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 [email protected]
・参考: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
■ リポジトリの変更
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
ホスト名が既に決まっている場合は、この辺で設定しておきましょう。
■ 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との比較記事