記録。
何故Debianかというと、CentOSはyumが嫌になった時期が有るからだ。8月から別用に使ってたけど、OS再インストールしてセッティングし直した。
[VirtualBox上でDebian6.0.2.1-i386をインストール/セッティングした http://d.hatena.ne.jp/Kureduki_Maari/20110929/1317252969 ]と重複する事は書きません。Debian6 32bitのinstall迄は済んでいるものとします。
目次
sudo出来る様にする
VPSのリモートコンソールから作業します。先ずSSHで接続出来る様にしましょう。其の前にsudoです。
rootでログインします。
aptitude update aptitude install sudo visudo
で、
yourusername ALL=(ALL) ALL
を然るべき位置へ追加します。yourusernameは適宜置き換えて下さい。以下同。
login yourusername
でloginします。以降はrootでのloginは行いません。
SSH鍵を設定し、接続する
sudo aptitude install ssh sudo vi /etc/ssh/sshd_config
とし、sshdのconfigファイルを編集します。
Port thenumberyoulike PermitRootLogin no AuthorizedKeyFiles %h/.ssh/authorized_keys DenyUsers ALL AllowUsers yourusername
thenumberyoulikeは好きな数字に置き換えて下さい。デフォルトは22です。yourusernameも置き換えて下さい。
私はCygwinからsshを接続するのですが、keyはとっくに作ってありました。其の前提とします。id_rsa.pubを、何とかしてVPSへ保存して下さい。あ、私は、Dropboxに上げてwgetで置きました。公開鍵ですから、まぁ……。sshを設定した暁には、scpを使って下さい。保存した公開鍵を~/.ssh/authorized_keysへ置きます。
sudo /etc/init.d/ssh restart
としてsshdを再起動し、Cygwinからsshを試します。
以降は基本的にsshから作業します。リモートコンソールめんどくさい。
Rubyを入れる
基本的にはVirtualBoxの時と同じです。然しgcc等が入っていない為、
sudo aptitude install gcc g++ make
としておく必要があります。もう一つ、zlibとリンクできない為、[DebianにRailsを入れる « 変なヤバいもんログ http://ecpplus.net/weblog/debian%E3%81%ABrails%E3%82%92%E5%85%A5%E3%82%8C%E3%82%8B/ ]に従い、configureの後、
sudo aptitude install zlib1g-dev cd ext/zlib sudo ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib make make install
とします。御蔭で二回Rubyのインストールをし直しました。RubyのinstallにRubyが必要と云うのがわからない。いまいちわからない。
rubygemsで、サーバ機にいちいちrdocやriがインストールされてはかなわないので、[ruby - How do I make --no-ri --no-rdoc the default for gem install? - Stack Overflow http://stackoverflow.com/questions/1789376/how-do-i-make-no-ri-no-rdoc-the-default-for-gem-install ]に従い、.gemrcへ、
echo 'gem: --no-ri --no-rdoc' >> ~/.gemrc
として書き込みます(実際はVimで書き込んでるけど)。gemsは整えて下さい。
あとCouchDBとRedisをinstallしました。node.jsは復た今度で間に合う。
iptablesを設定する
iptablesのFireWallを設定します。此所に書ける程わかっておらず、ほとんどがコピペに近いのですが、
#!/bin/sh iptables='/sbin/iptables' $iptables -F $iptables -Z $iptables -X $iptables -P INPUT DROP $iptables -P OUTPUT ACCEPT $iptables -P FORWORD DROP
としたのに続き、INPUTの、sshなりhttpなりhttpsなどを一つづつ通してゆくshファイルを書き、scpでVPSで上げ、sudoを付けて実行します。間違えるとSSHがDROPされたりしますが、慌てずにリモートコンソールへ行きACCEPTします。
其の後、
sudo /sbin/iptables-save > ~/iptables-save.txt
等としてテーブルを書き出し、起動時に
/sbin/iptables-restore < /home/yourusername/iptables-save.txt