VPSが登場して以来、UNIX出来る人は当たり前のようにVPS。ホームページだけ公開できれば良い人はレンサバって住み分けがハッキリしてきました。
VPSは面白そうだけど敷居が高い。それにサーバー周りの知識より先に覚えなきゃいけない事が沢山ある。と、ここまでレンサバにしがみついてきましたが、WEB上での音声録音にメディアサーバーが必要になり、いよいよVPSの壁を登る時が来てしまいました。
そんなわけで、ここは定番のさくらさんでVPSを始める事に。「さくら VPS」でググると既に星の数程の解説ブログが出てきますが、いったい何処が良いのか!な状態なので、今回私がたどった道筋を記録しておきます。
とりあえずサーバーをネットに常時接続しといていいレベルまでセキュリティを上げます。コンパネでサーバーを起動した初期状態で放っておいたら、悪い人達がウヨウヨと攻撃をかけてきます。
「別に何もアップしてないし大丈夫!」とかではなく、ハッキングの踏み台にされるので、最低限のセキュリティが常時接続サーバーのマナーです。
ドットインストールが神
リサーチしてみると、さくらのVPSの基礎 (全21回) – ドットインストールが神かなと。さくら公式みたいだし動画だから分かりやすい。1つの動画が約3分で全21回。計1時間。VPSに触る前に全て見ておけばスムーズな滑り出しが出来ます。
UNIX初めての人はきっとvimで面食らうので、特にvimの操作解説に注意。
しかし、ドットインストールの問題点は作業PCがMACという点。Winの人は残念ながら同じようには進めません。そんなわけで次はWinの人がドットインストールでつまづきそうな点いきます。
i | インサートモード(文字編集の画面) |
---|---|
w | カーソルを次の単語に |
ESC | コマンドモード(下のようなコマンドが使える画面) |
/ | 検索 |
n | 検索 次のヒット |
:wq | 保存終了 |
:q! | 保存せず終了 |
WinでVPSするのに必要なソフト
何はともあれPuTTY。PuTTYはVPSと通信する為のソフト。他にもTeraTermなどあるけど、よく分かんないならPuTTY。
Windowsのsshクライアント三強の個人的な比較 | 全自動ねじまき機
さくらのコンパネでサーバーを起動したらWinでPuTTYを起動してVPSを操作する。コンパネにある「リモートコンソール」は基本的に緊急時に使うもの。ちなみに私はサーバー起動後にさらに一回再起動しないとPuTTYで入れませんでした。
PuTTYでVPSのコンソールを表示するのが、Macにおける「ssh root@IP.ADD.RE.SS」と同じです。これでドットインストールをガシガシ進めます。
ドットインストールの該当範囲
日本語確認で化けます。PuTTYの文字コードをEUCからUTF-8に変更します。
次のハードルは認証鍵にありますが、その前にPuTTYのTIPS。
PuTTYのTIPS
最初にセッションの接続先にVPSのIPアドレスを入れるんだけど、何度も行うことになるので「セッションの読込、保存、削除」に保存しておきましょう。
コンソールの文字が小さい時は「ウィンドウ→外観」でフォント設定を変更。設定を変更したら忘れずにセッションに戻って保存を押すこと。ついでに「ウィンドウ→色」で、「ANSI 青」を青187 → 赤85緑85青255に変更しておくと、今後vimで「青見えね~」ってなりません。
パスワード入力から早速コピペを使いたくなりますよね。ペーストは右クリックでOK。パスワードは文字が見れませんが右クリックでペーストできてます。
次の認証鍵で設定する秘密鍵のファイルは「SSH→認証」で設定できます。これ予習。
認証鍵はPuTTYについてくるPuTTYgenで作成
ドットインストールの該当範囲
Macだと「ssh-keygen -t rsa -v」でsshの認証鍵を作っていますが、Winは標準で出来ないのでPuTTYについてきたPuTTYgenで作成。
ドットインストールでは公開鍵をscpコマンドでVPSにアップしてるけど、Winでは公開鍵をクリップボードにコピーして、vimで authorized_keys にペーストして作成する必要があります。~/.sshも含めパーミッションの変更は忘れずに。
ちなみに、PuTTYgenで作った公開鍵をファイルとしてVPSにアップしてauthorized_keysにリネームしても形式が異なるようで「Server refused our key」となりログインに失敗します。私はこれで1時間ロストしました。
Winでの注意点はこれくらいで、再びガシガシとドットインストールを進めます。
これが最低限のセキュリティ
ドットインストールの該当範囲
最低限のセキュリティって一体何なのか、どこまでやれば良いのか考えてしまいますが、 SSHを自分しかログインできないようにして、ファイアーウォールで不要なポートを塞げばOK。これで他のサーバーに迷惑をかけることは、まずないです。ファイアーウォールの設定は/etc/sysconfig/iptablesファイルを作成して行います。
SSHの設定は、sshd_configでSSHのポート番号を変えたら、PuTTYでも忘れずに変更すること。
ファイアーウォールは「さくら iptables」なんかでググると、さくらの社長のブログを含め、様々な設定例がでてきますが、いろいろリサーチした結果、私はこちらの設定を丸ごともらいました。
さくらのVPS を使いはじめる 3 – iptables を設定する | アカベコマイリ
- /etc/sysconfig/iptables ※XXXXXはSSHのポート番号
*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 XXXXX -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
vimでiptablesを作成後、
- service iptables restart
- iptables -L
リスタートして反映を確認すれば、もうサーバーを起動しっぱなしでOKです。安心して眠ることができます。次回はApache&MySQL&PHP&FTPあたりのサーバーをインストールします。
次はApacheとPHPとインストールしました。
→さくらVPSでスタートダッシュ決めた後はこーすりゃいいの?