平日は、あまりVPSいじってる時間がありません。
ところでVPS(今回のさくらのVPS)一台(?)で、どのくらいのサイトを運用可能なんだろう?
サーバースペックをスコアリングして、どんなサービスなら○○点以上必要とか、そんな指標ってないですかね。
さくらの場合、リアルタイムのパフォーマンスグラフが見れるから、運用中のそれは、なんとなく分かりそうなんですが、できれば運用前、サーバー選定の段階で案件とそれに必要なスペックが分かるとスゴイ便利なんですけど。
ggrksってみよっと
やじまの雑記ブログ。特にテーマは決めてません。
平日は、あまりVPSいじってる時間がありません。
ところでVPS(今回のさくらのVPS)一台(?)で、どのくらいのサイトを運用可能なんだろう?
サーバースペックをスコアリングして、どんなサービスなら○○点以上必要とか、そんな指標ってないですかね。
さくらの場合、リアルタイムのパフォーマンスグラフが見れるから、運用中のそれは、なんとなく分かりそうなんですが、できれば運用前、サーバー選定の段階で案件とそれに必要なスペックが分かるとスゴイ便利なんですけど。
ggrksってみよっと
さくらの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を借りてみた。
第一回目の今回は、初期状態からウェブサーバーを立ち上げるまで。
久しぶりに、(ほぼ)空のLinuxサーバーをいじるので悪戦苦闘です(笑)
VPSのいいところは、コンパネから簡単にOSの再インストールが出来るところですね。コンパネから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 -Xiptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROPiptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPTiptables -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 ACCEPTiptables -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 ACCEPTservice iptables save
service iptables restartip6tables -F
ip6tables -P INPUT DROP
ip6tables -P OUTPUT ACCEPT
ip6tables -P FORWARD DROPservice ip6tables save
service ip6tables restart
スクリプトの説明をブロックごとに簡単に…
スクリプトの記述ができましたら、パーミッションを変更して実行します。
# 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のテストページが表示されれば、セットアップ完了です。
とりあえず、今日はここまで。