さて、OSをインストールしたわけですが、この状態ではほとんど何もできません。レンタルサーバーなら、メニューからちょっと設定するだけですぐメールが使えたり、お仕着せのブログが使えたり、htmlファイルも置くだけでネット公開できちゃったりするわけですが、VPSだとそうはいきません。sendmailだけは動いてるっぽいのですが、POPが無いので手元のメールソフトに届いたメールを持ってくることさえできません。
 VPSのご利用上の注意にも、「さくらのVPSは、お客様にサーバのroot(管理者)権限をお渡しするサービスです。「さくらのレンタルサーバ」などの共用レンタルサーバと異なり、サーバ・OSの設定やアプリケーションのインストール、セキュリティ対策などの運用管理もお客様の作業です。ご利用のOSに関する専門的なサーバ運用知識が必要となりますので、ご注意ください。」と明記してあります。
 つまり、自分でサーバーを立てて管理者をするつもりがあるならVPSは何でもできてその上安いのですけど、それが嫌ならレンタルサーバーやマネージドサーバーのように、運用管理をさくらインターネットにお任せするプランをお薦めします。さくらに限らず他のサーバー屋さんでもですが。

portsを最新版に

 rootになって、


portsnap fetch update
portsnap extract

 で、portsコレクションが最新版になります。これでも追いつかない場合はソースから入れることになります。

何はともあれemacs

 インストール作業が始まると、長い設定ファイルを編集する作業が出てきますので、まずはemacsの準備です。viよりは使いやすい(と私は思う)ので。せっかくportsがあるのでportsから入れちゃいましょう。ただし、最近のemacsはX winodwで動くのが基本のようです。サーバなのでX11不要、テキストベースのMacのコンソールから使いたい、という場合は、X11を使わないものを入れなければなりません。


cd /usr/ports/editors/emacs-nox11
make install

でインストール完了です。

proftpd

 手元のパソコン経由で旧コンテンツを突っ込んだりしなければならないので、ftpdが動いてないと話になりません。


cd /usr/ports/ftp/proftpd
make install

でインストール。途中でオプションをきかれますので、perl互換の正規表現、他正規表現、language supportなどはYESで、IPv6はnoで。
 スタートアップスクリプトは/usr/local/etc/rc.d/proftpd、設定ファイルは/usr/local/etc/proftpd.confになります。設定ファイルで変えたところは次の通り。


ServerName                      "frontier-line ftp server"
UseFtpUsers on

#UseIPv6                         on  ←使わないつもりでコンパイルオプションに入れなかった場合はoffを指定するのではなく丸ごとコメントアウトする。

DefaultRoot ~ !wheel ftplimit

<Anonymous ~ftp>
   User                         ftp
   Group                                ftp

  ### We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias                    anonymous ftp

  ### Limit the maximum number of anonymous logins
   MaxClients                   10

  ### We want 'welcome.msg' displayed at login, and '.message' displayed
  ### in each newly chdired directory.
   DisplayLogin                 welcome.msg
   # DisplayFirstChdir          .message

  ### Limit WRITE everywhere in the anonymous chroot
   <Limit WRITE>
     DenyAll
   </Limit>
</Anonymous>

<Limit LOGIN>
  DenyAll

  AllowGroup xxxxxx
  AllowGroup user
  AllowGroup ftp
</Limit>

xxxxxxには、ウェブ管理用のアカウントが所属しているグループを記入。
/etc/ftpusersに、ftpアクセスを拒否したいユーザーを列挙。
/etc/shellsは次の通り。


/bin/sh
/bin/csh
/bin/tcsh
/bin/sync

 ログインはさせないがftpはできるユーザを設定するには、passwdファイルの最後のフィールドに/bin/syncなどと書き、/etc/shellsに/bin/syncを追加する。ただしこのユーザは計算機内の全ディレクトリを移動できます。

 proftpdは常駐で立ち上げますので、/etc/inetd.confの、ftpで始まる行をすべてコメントアウトします。
 adduserで、ユーザftpを追加。パスワードなし、ログインシェル無し、homeはanonymous ftpで公開するディレクトリを指定。
 /etc/groupを編集。元々あった、
ftp:*:14:
を削除。
以下を追加。
ftp:*:2001:ftp,xxxxxx,yyyyyy
ftplimit:*:2002 ←/home/WWWに書くユーザはここに入れるとだめ

 xxxxxx,yyyyyyには、ftpで自分のディレクトリのファイルを書き込んだりするユーザーを指定。
 次に、sftpができるようにするため、/etc/ssh/sshd_configで、
Subsystem sftp /usr/libexec/sftp-server
が有効であることを確認しておきます。
 /usr/local/etc/rc.d/proftpdがあることを確認(portsから入れると自動で入ります)。
 /etc/rc.confに、
proftpd_enable=”YES”
を追加。これで、システム起動時に自動的にproftpdが上がります。

 なお、手動での起動は、
/usr/local/sbin/proftpd
でできます。

 ここのサイトはブログもhtmlコンテンツも含めて、さくらのレンタルサーバーのお世話になっています。契約したのが前からなので、スタンダードプランの容量が30GBのままです。まあ、今の使い方をしている限り、向こう数年以上はディスクを気にする必要はないのですが、固定のコンテンツの制作がいろいろ面倒になってきました。今さらフレームレイアウトでもないだろうし、かといってCSSで全部作り直すのも面倒だし、頼りにしていたDreamWeaverは度重なるバージョンアップでとうとう買い取り方式ではなくなった上にだいぶ前からAdobe価格(つまり高価)だし……。
 そこで、contents management system (CMS)を入れて、ナビゲーションの構築などはCMSに任せて、コンテンツ更新の方に集中することにしました。
 すると、今のスタンダードプランでは物足りません。容量的にも機能的にも足りない。かといって専用サーバーを借りると、趣味のサイトにしては高すぎるし。さくらのプランをいろいろ検討した結果、VPSを使うことにしました。さくらのVSP2Gってヤツです。レンタルサーバーとそんなに変わらない価格帯で、固定IP振ってもらえて、rootにもなれる。これまでのように転送データの制限もない。ちょっと写真の多い記事を書いて編集してたらアクセスできなくなるようなこともない。きっと便利になるはずです。
 冬コミがどうなるかわかりませんが、追い込み前にサーバー移転を済ませよう。早速作業を開始します。
 クレカ支払いで申し込むと、30分も経たないうちにサーバが割り当てられて、初期パスワードやIPアドレスがメールで送られてきます。無料お試し期間は2週間。お試しの間はDNSに登録できないといった制約はありますが、旧サーバーで運用しておいて新サーバーの準備が完全に整ったら切り替えるので問題無しです。準備ができればいつでもお試しを終えて利用に入れます。

OSの変更

 初期設定はCent OSだかになってますが、そんなの使うつもりはないので早速変更。VPSコントロールパネルからOSの再インストールを行います。今回は、FreeBSD9.1 AMD64を選びました。インストール手順は、http://support.sakura.ad.jp/manual/vps/mainte/custom_freebsd9.0.htmlとか、http://blog.livedoor.jp/saba_nano/archives/28363307.htmlにあります。インストールを始める前に、パソコンのブラウザでJAVAが実行できるようにしておきます。インストールが始まると、JAVAを利用したコンソールウィンドウが開いて、オプションなどの操作をすることになります。まだ、元のブラウザのウィンドウには、IPアドレスやネットマスク、ゲートウェイなど、最初に設定すべき情報が表示されるので、ウィンドウを注意して見ておきます。

 パーティションはお任せコース(Guided)だと
64KB FreeBSD boot
196GB freebsd-ufs
4GB freebsd swap
で、まあ/varを一緒にすることもないし、自分一人しか使わないから制限をかける必要もないのでこのままいきます。メニューはスペースで選択or決定、TABで項目移動、Enterで決定です。メニューからユーザーを追加できるので、最低一人はパスワードで入れるユーザーを作り、グループwheelにも入れておきます。これをやっておかないと、Macのターミナルから作業するということができません。rootではsshログインできないし、wheelに入っていないユーザーはrootになれないし、直接rootで入れるJAVAのコンソールは狭いので不便です。終了したらリブートして、インストール画面が出るのでshellに戻って、


shutdown -p now

とやって停止させた後、VPSコントロールパネルから再起動します。

最初の作業

 これから長いインストール作業が始まります。が、sshでログインして暫く何もしないと強制ログアウトさせられてしまいます。なので、追い出されないように、/etc/ssh/sshd_configで次のように設定します。


TCPKeepAlive yes
ClientAliveInterval 60

 設定したら、sshdにHUPを送るなどして、設定を読み込ませます。これで、作業中にお茶をのんで休憩しても追い出されることはありません。