VPSってどのくらいのサイトまで運用できるんだろう

平日は、あまりVPSいじってる時間がありません。

ところでVPS(今回のさくらのVPS)一台(?)で、どのくらいのサイトを運用可能なんだろう?

サーバースペックをスコアリングして、どんなサービスなら○○点以上必要とか、そんな指標ってないですかね。

さくらの場合、リアルタイムのパフォーマンスグラフが見れるから、運用中のそれは、なんとなく分かりそうなんですが、できれば運用前、サーバー選定の段階で案件とそれに必要なスペックが分かるとスゴイ便利なんですけど。

ggrksってみよっと

さくらのVPS借りてみたので使ってみる【二日目】

さくらのVPS借りてみた二日目。

今回は前回の続きで、FTPのセットアップをします。

今回は、vsFTPd をyumで一発インストール!
ソースからやれとか、他のFTPがいいとか言う人がいますが、とりあえずとにかく簡単にセットアップしたいんで yum で簡単にいれときます。

# yum install vsftpd

そしておもむろに、startすれば、匿名アクセスが出来てしまいます。

# /etc/rc.d/init.d/vsftpd start

でもそれじゃあ、実用する上でマズイので、ユーザーを作って、そのユーザーでFTPアクセス出来るようにします。

# vi /etc/vsftpd/vsftpd.conf

vsfttpd.conf を修正する前に念のため、ファイルをバックアップしておきます。

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.ORG

ファイルをバックアップしたら、改めて vsftpd.conf ファイルを編集します。

# vi /etc/vsftpd/vsftpd.conf

設定する項目は非常に多岐に渡るので、詳細はggrksですね。

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
data_connection_timeout=120
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list
user_localtime=YES
force_dot_file=YES
hide_ids=NO

設定する内容は、匿名アクセス(anonymous)を拒否し、user_listにあるユーザーは、接続を拒否するという設定です。

あとは、 user_list と、chroot_list にFTPユーザーにするユーザー名を登録します。

それから、useradd でFTPユーザーとして使用するユーザーを作成し、ホームディレクトリを /var/www/html に設定したらOKです。

今回、バーチャルホストの設定まで行こうと思いましたが、思いのほか、vsftpdの設定に手こずられたので、今日はここまで!

【次回予告】バーチャルホスト設定

さくらのVPS借りてみたので使ってみる【一日目】

さくらインターネットのVPSを借りてみた。

第一回目の今回は、初期状態からウェブサーバーを立ち上げるまで。

久しぶりに、(ほぼ)空のLinuxサーバーをいじるので悪戦苦闘です(笑)
VPSのいいところは、コンパネから簡単にOSの再インストールが出来るところですね。コンパネからrootパスワードを設定したら、ものの数分で初期状態のサーバーが立ち上がります。これは、便利!

ではでは私がやってみた手順をババッと

SSHにrootでアクセスしない

SSHにrootでログインできるようにしておくとセキュリティ上、マズイのでSSHログイン用のユーザーをつくります。

ここから、しばらくは「VPSコントロールパネル」のリモートコンソールから作業します。

# useradd –m USERNAME
# passwd USERNAME

※USERNAME…新しく作るユーザー名に置き換えてください。

そしたら、今作ったユーザー名でSSHログインできるか確認します。問題なくログインが出来れば、次にrootのSSHログインを停止する作業です。

/etc/ssh/sshd_config ファイルを編集します。

PermitRootLogin no

既にコメントアウトされた PermitRootLogin yes の行があると思いますので、その近くに記述しておけばいいでしょう。

さらにSSHで使用するポートの変更もすれば、セキュリティ的には少し安心かもしれません。

Port 10022

例)SSHポートを 10022 にする設定(初期値は 22 )

SSHを再起動!

/etc/init.d/sshd restart

SSHを再起動したら、設定が反映されているか確認します。rootでSSHログインできなくなっているか?(ポートを変更した場合)変更したポートでSSHログインできるか?などなど。

パケットフィルタの設定

さくらのVPSは初期状態で、「全開」状態になってます。
まあ、公開用サーバーとして使うので、そんなに気にしなくてもいいのかもしれませんが、気持ち悪い感じがするかもなので必要なパケット以外はフィルタしちゃいます。

今回は、WWW(80)、FTP(20)、SSH(22)、それとDNS(53)を許可する設定にします。

適当なところに、iptables 設定用のスクリプトを書いておきます。
コマンドラインから、1行ずつ実行しちゃダメですよ。コマンドでやってると最初の INPUT DROP の後から、何もできなくなっちゃいます!

vi /home/USERNAME/IPTABLES_SH

#!/bin/sh
iptables -F
iptables -X

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -p tcp –dport 20 -j ACCEPT

iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p udp -m udp –sport 53 -j ACCEPT
iptables -A INPUT -p udp -m tcp –sport 53 -j ACCEPT

service iptables save
service iptables restart

ip6tables -F
ip6tables -P INPUT DROP
ip6tables -P OUTPUT ACCEPT
ip6tables -P FORWARD DROP

service ip6tables save
service ip6tables restart

スクリプトの説明をブロックごとに簡単に…

  1. 最初のブロックで iptables に関する設定をクリア(初期化)します。
  2. 出力(OUTPUT)を許可(ACCEPT)し、入力(INPUT)とパケット転送(FORWARD)を破棄(DROP)する。
  3. ローカルの出力と入力をともに許可します。
  4. 宛先ポート(–dport)ごとに許可するパケットを指定します。
  5. セッション確立したパケットは許可します。
  6. DNS(53)はudpを使うので、5の許可では通信できないので別途指定します。
  7. ここまでの設定を保存(save)し、iptables を再起動(restart)します。
  8. 8,9番目のブロックは、IPv6に関する設定ですが、今回は特に使用しないで、出力以外は破棄(DROP)にしておきます。

スクリプトの記述ができましたら、パーミッションを変更して実行します。

# chmod 744 /home/USERNAME/IPTABLES_SH

# /home/USERNAME/IPTABLES_SH

ウェブサーバーパッケージのインストール

ウェブサーバーに必要なパッケージは、とりあえず、httpd、php、mysqlくらいでしょうか、必要になったらあとで追加しましょう。

ちゃちゃっとやってしまいたいので yum で簡単にインストールしちゃいます。

# yum install httpd http-devel
# yum install php php-mbstring php-mysql php-gd php-pear
# yum install mysql mysql-devel mysql-server

それぞれ、実行するとインストールするパッケージの一覧と(y/n)表示されますので、 y を押してインストールを完了します。(-y オプションをつけてやっちゃっていいかも)

自動起動スクリプトをつくる

「つくる」とか言っちゃってますが、シンボリックリンクを作成するだけです。

yumでインストールしたパッケージの起動スクリプトが /etc/rc.d/init.d 以下に保存されていますので、そこから必要なパッケージをランレベル3( /etc/rc.d/rc3.d )にシンボリックリンクを作成します。

# cd /etc/rc.d/rc3.d
# ln –s ../init.d/httpd S40httpd
# ln –s ../init.d/mysqld S41mysqld

できたら、おもむろに reboot してみましょう。

そして起動したらブラウザでサーバーにアクセスしてみます。
Apacheのテストページが表示されれば、セットアップ完了です。

とりあえず、今日はここまで。

【次回予告】FTP、バーチャルホストの設定 の予定

Xperia の通話が不便だと思ったから

4月からdocomoのスマートフォン Xperia (SO-01B) を使ってるんですが、だんだん通話機能に不満が出てきたんで、FOMA回線を追加して電話番号そのままに、ガラケーで通話を受けれるようにしました。

既存の電話番号 090-AAAA-AAAA(Xperiaで使用)
追加の電話番号 080-BBBB-BBBB(ガラケーで使用)

090-AAAA-AAAA に着信
↓(転送料金はファミ割MAX50で無料!)
080-BBBB-BBBB に転送

Xperiaのここが不満

  1. 電話してると熱くなる。
    多分、着信時に起動してたアプリとかにも関係するんでしょうけど、いつ電話掛かってくるかなんて分かんないですから、メール作成中に掛かってくることもあるし、その辺でCPUパワーを使いっぱなしになってるんじゃないかな?
    Xperia の本体サイズが、顔の横で発熱してくると、かなり不快です。
    特に今年の夏は暑かった。
  2. ヘッドセットして待ち受けしてると案外疲れる。
    1の対策にBluetoothヘッドセットを買ってみたんだけど、最初は面白がってつけてたんですが、やっぱり丸一日、コレをつけてるのは何となく疲れちゃいます。また、ヘッドセットを外しているタイミングに限って電話がかかってきたりして、あまり役に立たない事が多いです。
  3. 着信にコケる。
    iPhone持ってる先輩(メインはdocomo)もiPhoneの着信にコケる(失敗する)って言ってましたから、スマートフォンは、メインの連絡先にするにはちょっと心配なところがあります。着信して音楽なってるのに、タッチ画面がフリーズしてる時の「どうしたらいいんだろう」ってのは、電話としてどうなんだろうって感じですね。
  4. バッテリーが持たない
    まあ、アプリを色々と動かしてるんで仕方ないんですが、Xperia はバッテリーが一日持ちません。途中で充電するか予備バッテリーを用意しておく必要があります。意外と通話でのバッテリー消耗は少ないんですけどね。

そこでいろいろ考えてみた

  1. 電話番号は今の番号を維持したい。
    これが私にとって絶対条件です。自分の勝手な都合で、取引先含め皆さんに連絡してまわるのもスマートじゃないし、MNPなんてのもある今の時代にそぐわないかなあと(笑)
  2. 新しいFOMAカードに「電話番号」を入れ替えできる?
    最初に考えたのがこれ。新しいFOMA回線を契約して、その後、今のFOMA回線と電話番号を入れ替えできないかなと。そしたら、パケホーダイとかそのた割引サービスはそのまま継続できるし、と思ったんですけど。
    回線契約は、その電話番号が基本になってるので、できないみたいです。
    新しい回線を契約して、そっちにネットワーク関係(パケホーダイとか)をつけて、前の回線は、それらを解約するって方法になるみたいです。
    ※もし「できたよー」って人がいたらご連絡下さい。
  3. 「転送でんわ」に家族内無料通話は適用できる?
    新しいFOMA回線を契約して、前の番号から新しい番号に転送でんわサービスを使って転送したら、その転送料金は、ファミ割MAXの「家族内無料通話」が適用できるのか?
    できたら、無料で転送できるって事ですよね。
    で、docomoショップに行ってみたところ、受付のお姉さんがセンターにいろいろかけあって確認してくれたんですが、どうやら「家族内無料通話」が適用されて無料で転送できるそうです。
    今回は、この方法でFOMA回線を契約しました。

月々980円の出費追加になりました

そんなわけで新しいFOMA回線を契約して、基本料980円がプラスになりました。

ところが、この回線には1,050円分の無料通話が付いてきますので、実質70円お得になりました(?)
→参考:NTT docomo バリュープラン

ポイントは「ファミ割MAX50」の家族内通話24時間無料!!

ファミ割MAX50にすると2年間継続利用という「縛り」がありますが、今後も使い続ける予定ですので、問題なしです。それよか24時間いつでも無料というのが今回のです。

また、万が一のXperiaのバッテリー切れでもガラケーで電話受信が可能です。これ結構大事な事です。メールは帰ってからでも、最悪明日の確認でもいいでしょうけど、「今」連絡が取れないというのは、かなりのデメリットだったので、助かります。

転送ガイダンスはOFF

これ、意外と気づかない(端末からの操作で設定できない)ので、転送でんわのセンター(tel:1429)に電話して設定しないといけません。

これを設定しておかないと、電話してきた相手に「ただいま、電話を転送しています」ってガイダンスが流れちゃいます。これ、意外と相手に不快な思いをさせちゃうことがあるんですよね。なので、これはOFFに設定しておきます。

転送ガイダンス設定

  1. 転送元の電話回線から1429にダイヤル
  2. ガイダンスが聞こえたら 2 を押す
  3. ガイダンス無しは 0 、ガイダンス有りは 1 を押す
  4. 設定内容がよければ # を押す
  5. 「設定しました」と聞こえたら電話を切る

※転送先の設定や、呼び出し時間の設定は端末操作で設定できるので省略しましたが、呼び出し時間は「0」にしときましょう。(転送元の端末に着信履歴を残したい場合は、1とかでもいいかもしれません)

最後にこれだけは注意

ここまでで、お気づきの方もいるとおもうんですが、Xperia の電話番号で、ガラケーに着信させることはできるようになったんですが、ガラケーからの発信は新電話番号での通知になってしまいます。

なので、相手に電話するときは、ヘッドセットを用意して Xperia から発信します。

そうしないと、ガラケーから折り返し電話しても「誰だっけ?この番号」なんて事になってしまいますし、こっちからかける分にはヘッドセットを用意したりとか準備できるので、冒頭のような熱い思いをすることはないと思うんですよ。

しばらくは、この設定でやってみようと思います。