さくらのVPSにUbuntu12.04をカスタムインストール



さくらのVPSの場合、CentOSの64bit版がデフォルトOSだが、DebianやFreeBSDなどをカスタムインストールすることができる。そこで、先ずは、カスタムOSに加わったばかりのUbuntu12.04をインストールしてみることにした。

Ubuntu12.04は、5年間のサポート(2017年4月まで)が約束された、いわゆるLTSで、デスクトップ版、サーバー版ともに2bit版と64bit版があるが、さくらのVPSでは、現在のところ64bit版のみが提供されている。なお、以下の記事は、Debian6.0の場合にもそのまま当てはまる。

カスタムOSインストール

先ずは、さくらVPSのコントロールパネルの左サイドメニューでOS再インストールをクリック。次に「カスタムOSインストールへ」というリンクをクリックして、次のページのOS選択で、Ubuntu12.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