さくらのVPSの場合、CentOSの64bit版がデフォルトOSですが、DebianやFreeBSDなどをカスタムインストールすることもできます。そこで、先ずは、カスタムOSに加わったばかりのUbuntu 12.04をインストールしてみることにしました。
Ubuntu 12.04は、5年間のサポート(2017年4月まで)が約束された、いわゆるLTSで、デスクトップ版、サーバー版ともに2bit版と64bit版がありますが、さくらのVPSでは、現在のところ64bit版のみが提供されています。なお、以下の記事は、Debian 6.0の場合にもそのまま当てはまります。
カスタムOSインストール
先ずは、さくらVPSのコントロールパネルの左サイドメニューでOS再インストールをクリック。次に「カスタムOSインストールへ」というリンクをクリックして、次のページのOS選択で、Ubuntu 12.04 amd64を選択。以下、さくらのオンラインマニュアルを参照のこと。
sshの設定
インストールが完了したら、先ずはsshの設定を行います。設定の手順は、「さくらのVPSでsudoとsshを設定する(Debian編)」で説明したとおりです。Ubuntuの場合は、sudoもsshも最初からインストールされています。
設定が終わったら、sshを再起動しますが、Ubuntuではserviceコマンドを使うことが推奨されています(Debaian6.0の場合もserviceコマンドは使える)ので、次のようになります。
sudo service ssh restart
iptablesコマンドを使ったパケット・フィルタリング
さらなるセキュリティ向上のため、iptablesコマンドを使って必要なポートだけを開放します。
例えば次のように、必要なポートを順番に開放していきます。
sudo /sbin/iptables -t filter -A INPUT -i lo -j ACCEPT sudo /sbin/iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT sudo /sbin/iptables -t filter -A INPUT -i eth0 -p icmp -j ACCEPT sudo /sbin/iptables -t filter -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT sudo /sbin/iptables -t filter -A INPUT -i eth0 -p tcp --dport 4321 -j ACCEPT
一行目は、ループバック・インターフェイスでの受信の許可。二行目は、確立された接続に関する受信の許可で、以下、ICMPパケットの受信許可、Webサービスへの接続許可、SSHサービスへの接続許可となっています。-pオプションでプロトコル、–dportオプションでボート番号を指定します。
なお、現在設定されている受信のルールを確認するには次のコマンドを実行します。
sudo /sbin/iptables -t filter -v -n -L INPUT
また、任意の行に、新しいルール(例えばDNSサービスへの接続許可)を挿入したい場合は、次のようになります。
sudo /sbin/iptables -t filter -I INPUT 4 -i eth0 -p udp --dport 53 -j ACCEPT
Apache2、MySQL、PHP5のおまとめインストール
ここで、Webサーバーが動く一般的な環境を構築するため、Apache2とMySQL、PHP5をまとめてインストールしておきます。
sudo aptitude install apache2 sudo aptitude install php5 libapache2-mod-php5 php5-mysql sudo aptitude install mysql-server
mysql-serverのインストールの最後で、パスワードの設定が促されるので、任意の文字列を入力して、忘れないようにメモしておきます。
あと、必須ではないが、次のツールも入れておくことがお薦めです。
sudo aptitude install php-pear php5-gd php5-cli
また、Apacheのmod_rewriteを有効にする必要がある場合には、次のとおり。
sudo a2enmod rewrite
さらに、好みのエディタで、/etc/apache2/sites-enabled/000-defaultを開いて該当箇所を変更。3行目のAllowOverrideの最後をNoneからAllに変更しておきます。
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
最後に、apache2を再起動して完了です。
sudo service apache2 restart
ProFTPDのインストールと基本設定
続いて、FTPでのファイル転送を可能するために、ProFTPDをインストールしておきます。
インストールの前に、パッシブモードで動作させるために必要なポートを、iptablesコマンドを使って開放しておきます。
アクティブモード、パッシブモード双方ともデフォルトでは21番のポートを利用することになっていますが、パッシブモードの場合は、これに加えて、1024番以上のポートすべてを開放しておくことが必要です。
但し、これでは、セキュリティ上好ましくないため、通常は、特定の複数ポートを開放します。ここでは、1024番から1030番までをパッシブモード用のポートとして開放しています。
sudo /sbin/iptables -t filter -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT sudo /sbin/iptables -t filter -A INPUT -i eth0 -p tcp --dport 1024:1030 -j ACCEPT
ポートの開放が終わったら、ProFTPDをインストールします。
sudo aptitude install proftpd
次に、エディタで、/etc/proftpd/proftpd.confを開き、PassivePortsという項目をコメントアウトし、例えばパッシブモード用のポート番号として1050から1060をiptablesに登録していた場合、次の要領でポート番号を書き込みます。
PassivePorts 1024 1030
最後に、ProFTPDを再起動すれば、FTPによる基本的なファイル転送サービスが開始されます。
sudo service proftpd restart