このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

web帳

記事詳細

2014.03.22

さくらVPS(仮想専用サーバ)の設定方法

サーバーを自前で建てたいなぁ。思い色々と検討しましたが、やはり色々と大変そうである。

色々と検討したなか、「さくらVPS」がコストも優しく扱いやすそうだったので使用することにしました。

VPSとはバーチャル・プライベート・サーバ(仮想専用サーバ)の略で、一台の物理的なサーバコンピュータ上で仮想的なサーバコンピュータを何台も起動する技術(Virtual Machine)によってつくられた仮想的なサーバコンピュータであります。

ホスティングサービスも行っており、今回さくらインターネットが提供する「さくらVPS」を使っていきます。

さくらVPS

さくらVPS

公式サイト

http://vps.sakura.ad.jp

まずは、こちらのページから契約を行います。

プランは以下の様な感じとなっております。

最安で月額980円〜用意されております。

お申し込みボタンを押して契約。

こちらにも記載されているとおり、クレジットカード入力すると2週間お試し期間として無料で利用出来ます。

2週間以内で契約解除すれば支払いは発生しないようなので、試しに使ってみるのも良いかもしれません。

お申し込みボタンを押すと、以下の様な画面になり必要事項を入力していきましょう。

さくらインターネットのアカウントをすでにお持ちの方は、「会員ID」「パスワード」を入力しましょう。

一通り契約するとメールが届きます。

こちらはお申込受付完了のお知らせで、数分経つともう1通メールが届きます。

こちらは仮登録のメールとなりますので、大事に保管し以下の情報でコントロールパネルにアクセスします。

さくらVPS コントロールパネル

https://secure.sakura.ad.jp/vpscontrol/

こちらの画面から送られて来たメールに記載された 「IPアドレス」「パスワード」を入力しログインしましょう。

現段階では、サーバーが起動していない状態ですので「起動ボタン」を押し起動します。

しばらくすると、ステータスが「停止」から「稼働中」になります。

これで起動完了。

その他、リモートコンソールや、OSの再イントールもここから行えるので覚えておきましょう。

作業用ユーザー設定

それでは、例のこの子(mac ターミナル)を使ってログインしましょう。

ssh root@ipアドレス

rootでssh接続を行います。

Are you sure you want to continue connecting (yes/no)?

このような表示が出ますので、yes リターン。

root@153.121.36.151's password:

パスワードを聞かれますので、メールに記載されたパスワードを入力。

サーバーを起ち上げてなかったりすると

ssh: connect to host 153.121.36.151 port 22: Connection refused

のようなメッセージが出ますので、起ち上げるのを忘れない様にしましょう。

(起動しても出ましたが再起動でログイン出来ました。)

ログインしたら、yumコマンドが使用出来ますので、

yum updae

で最新にしておきます。

特に変更がない場合は以下の様なメッセージが表示します。

No Packages marked for Update
日本語設定

デフォルトでは英語の設定となっていますので日本語に変更します。

/etc/sysconfig/i18n のファイルをvimで編集します。

vim /etc/sysconfig/i18n
LANG="C"
SYSFONT="latarcyrheb-sun16

とありますので、

LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16

に変更。

date 等を入力すると、このような感じで日本語に変更しているのが確認できます。

ユーザー設定

ユーザの追加を行います。

useradd ユーザー名

でユーザーを追加出来ます。

passwd ユーザー名

でパスワードの設定を行えます。

設定するパスワードと確認のパスワードを入力し、

このような表示になれば完了です。

好ましくないパスワードの際も注意してくれます。

追加したユーザーにrootの権限を付与していきます。

usermod -G wheel ユーザー名
visudo

で、wheelの設定を変更します。

/wheel

で検索を行い、以下の部分の「#」(コメントアウト)を削除し有効にします。

# %wheel        ALL=(ALL)       ALL

%wheel        ALL=(ALL)       ALL

ここまで完了したら、ターミナルのタブを新しく開き確認していきます。

ssh ユーザー名@ipアドレス

でssh接続すると、パスワードを聞かれますので

password:

先ほど設定したパスワードを入力しログイン出来れば成功となります。

example

ssh webcyou@153.121.36.151

セキュリティ強化 SSHキー・鍵認証設定

SSHでアクセス出来るように設定を行います。

VPSの方に、.sshフォルダを作成

mkdir ~/.ssh

パーミッションの変更

chmod 700 ~/.ssh

クライアント側(PC,mac側)でSSHキーが無い場合作成

SSHキー作成

ssh-keygen -t rsa -v

パスワード、etc等どうしますか?と聞かれますがリターンでOK。

SSHキーが生成されたらこちらもパーミッションの変更を行います。

chmod 600 ~/.ssh/id_rsa.pub

生成された鍵は、「id_rsa」「id_rsa.pub」がありますが、「id_rsa」秘密鍵となりクライアント(PC,mac)

で保管する鍵となります。

「id_rsa.pub」が公開鍵となり、SSH接続登録する際に利用する鍵となります。

  • id_rsa 秘密鍵
  • id_rsa.pub 公開鍵
VPS  鍵転送

では作成した鍵をVPSの方に転送を行います。

scp ~/.ssh/id_rsa.pub ユーザー名@ipアドレス:~/.ssh/authorized_keys

scpコマンドで転送を行います。

authorized_keysはお決まりとなっております。

例:

scp ~/.ssh/id_rsa.pub webcyou@153.121.36.151:~/.ssh/authorized_keys

完了すると、以下の様な表示が出るかと思います。

 id_rsa.pub            100%  399   0.4KB/s  00:00

それでは、クライアント側からSSH接続を行いましょう。

ssh -i ~/.ssh/id_rsa ユーザー名@ipアドレス

例:

ssh -i ~/.ssh/id_rsa webcyou@153.121.36.151

-i オプションを付与しておりますが、

-i ~/.ssh/id_rsaはデフォルトで見に行くので、省略が可能となります。

省略時

ssh webcyou@153.121.36.151

セキュリティ強化 ポート設定

続いて、ポートの設定となります。

デフォルトだとポート番号22にアクセスするのですが、このままだと攻撃の標的になりかねないのでポート番号を変更していきます。

1024〜65535の任意の番号を設定していきます。

・ポート番号変更 22 -> 1024 ~ 65535

VPS側で設定していきます。

sudo -s

でsudoコマンドの持ったroot権限ユーザーに切り替わるので変更しておきます。

コマンドラインの左の文字が変更するかと思います。

$ 一般ユーザー
# ルート権限ユーザー

となっております。

/etc/ssh/sshd_config を編集していきますが、編集する前にバックアップをとりましょう。

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org

.org付与してバックアップを保存。

vimで編集していきます。

vim /etc/ssh/sshd_config

ポート番号を変更していくので、ポート番号記述の/Portで検索を行います。

/Port

# Port

の#のコメントアウトを削除し有効化し、任意のポート番号を記述。

続いてパスワード認証でのログインを行わない様にします。

/PasswordAuth で検索

ポート番号同様、#を削除し PasswordAuthentication no を有効。

PasswordAuthentication no

続いてroot権限によるログインも許可しないように行います。

/PermitRoot

で検索

ポート番号同様、#を削除しPermitRootLogin noを有効。

PermitRootLogin no

編集完了したらescキーで抜け、 :wqで保存終了します。

編集内容を適応します。

service sshd restart

間違えがなければ上記の表示となります。

クライアント側からアクセスできるかチェックを行います。

ssh -p ポート番号 ユーザー名@ipアドレス

例:

ssh -p 5963 webcyou@153.121.36.151

セキュリティ強化 ファイアウォール設定

ファイアウォールの設定を行っていきます。

ファイアウォールとは、不正アクセスを防ぐための技術の総称です。

設定ファイルは   /etc/sysconfig/iptables に格納します。

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 5963 -j ACCEPT
-A SERVICES -p tcp --dport 80 -j ACCEPT
-A SERVICES -p tcp --dport 443 -j ACCEPT
COMMIT
-A SERVICES -p tcp --dport 5963 -j ACCEPT

この行に関しては設定した任意のポート番号に置き換えてください。

–dport ポート番号

設定ファイルを作成したら起動します。

service iptables start

また、 iptablesの確認は

iptables -L

のコマンドで確認できます。

webサーバー 設定

webサーバーとして利用できる様に設定していきます。

yumコマンドでhttpdをインストールします。

yum install httpd

chkconfig https on

上記のコマンドで自動起動をonにしておきます。

/etc/httpd/conf/httpd.conf を編集していくのですが、

何か問題が発生してしまったら戻れるように、

sshd_config と同様バックアップファイルをとっておきます。

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

バックアップとりましたら編集していきます。

vim /etc/httpd/conf/httpd.conf

「ServerTokens OS」 を「 ServerTokens Prod」に変更するため以下を入力で検索。

 /ServerToken
 ServerTokens Prod

「 ServerSignature ON」を「ServerSignature Off」に変更していきますので、

以下のコマンドで検索。

/ServerSignature
 ServerSignature Off

「Options Indexes FollowSymLinks」 を 「 Options -Indexes FollowSymLinks」に変更する為、

以下のコマンドで検索。

/Options Index
 Options -Indexes FollowSymLinks

上記の記述場所は

 <Directory "/var/www/html"]]>

の後にある記述となります。

ここまで編集完了しましたら :wqで保存終了。

正常に起動するか、テストを行います。

service httpd configtest

問題無ければ上記の表示となります。

httpsを起動。

service https start

ブラウザで ipアドレスを入力し、Apacheのtestpageが表示すればOK!

ファイル転送

FTPソフト等を利用してファイルを転送出来るように設定していきます。

macでは、Cyberduck 等が有名なので、Cyberduckを使って例で

権限付与するためパーミッションを変更します。

chown -R ユーザー名:ユーザー名 /var/www/html

Cyberduckだと、以下の様な設定することでアクセス出来るかと思います。

・SFTP(SSHによる暗号化FTP)

・ニックネーム: 任意の名前

・サーバ:ipアドレス

・ポート:任意のポート番号

・ユーザ名:ユーザ名

・パス:/var/www/html

公開鍵認証を使用する

といった感じの設定になります。

これでFTPソフトを用いてファイルを転送できます。

と、今回はhttpの設定まで行いました。

次回はその他の設定を行います。

さくらVPS(仮想専用サーバ)の設定方法 その2 VirtualHost,PHP,MySQL,node設定

  • RSSを登録する

  • follow us in feedly

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、港区六本木で活動中。

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。