Webサーバの構築_vsftpdの設定

設定する内容

SuitePROの仮想専用サーバには初期状態で「vsftpd」というFTPサーバプログラムがインストールされています。 お客様のコンピュータで作成したWebコンテンツを仮想専用サーバにアップロードしたい場合はFTPサーバを構築してください。

このマニュアルでは、例として以下のようなご利用形態を前提として記述しております。 FTPサーバに設定する内容はお客様のご利用形態によって変わりますが、 オンラインマニュアルに記載されていない設定については弊社のサポート対象外となりますので、 vsftpdの設定方法について解説されている書籍・Webサイトなどをご参考にお客様にて設定ファイルの内容を書き換えてご利用ください。

  • 構築したWebサーバのドキュメントルート(/var/www/html ディレクトリ)にWebコンテンツをアップロードするための設定を行う。
  • コンテンツのアップロードはユーザーアカウントを使用して行う。

vsftpdの設定手順

FTPサーバを構築する場合は下記の手順でvsftpdの設定を行ってください。

  1. サーバにSSHで接続し、rootアカウントを使用してログインします。
  2. viなどのテキストエディタで /etc/vsftpd/vsftpd.conf ファイルを開いてください。 viで /etc/vsftpd/vsftpd.conf ファイルを開くコマンドは以下の通りです。
    [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
    vsftpd.confファイルには多くの設定項目が書かれていますが、 ここでは最低限設定しておいた方がよいと思われる項目をご案内致します。

    「anonymous_enable=YES」と書いてある行がありますが、 この設定の場合匿名FTPサーバ(アカウントを持っていない第三者がログインできるFTPサーバ)として動作します。 特に必要がない場合は、以下のように書き換えて匿名FTPサーバを使わない設定にしておくことをお勧め致します。
    anonymous_enable=NO
    「ascii_upload_enable=YES」と「ascii_download_enable=YES」と書いてある行がありますが、 デフォルト状態ではこの行がコメントアウトされているため、 アスキーモードでのアップロード・ダウンロードが出来ないようになっています。

    Perlなどの言語で記述されたテキストファイル形式のCGIは アスキーモードで転送しなければCGIが正常に動作しない場合がありますので、 CGIファイルを転送するお客様は行頭の「#」を削除してアスキーモードの転送を有効にしてください。
    # By default the server will pretend to allow ASCII mode ...
    # the request. Turn on the below options to have the server ...
    # mangling on files when in ASCII mode.
    # Beware that on some FTP servers, ASCII support allows ...
    # attack (DoS) via the command "SIZE /big/file" in ASCII ...
    # predicted this attack and has always been safe, reporting ...
    # raw file.
    # ASCII mangling is a horrible feature of the protocol.
    ascii_upload_enable=YES  (←行頭にある # を削除)
    ascii_download_enable=YES  (←行頭にある # を削除)
    表示の都合上ここでは長いコメントが書かれている行を一部省略して記載しています。
    初期状態ではファイルのタイムスタンプがGMT(世界標準時刻)のタイムゾーンに合わせて表示されます。 JST(日本の標準時刻)のタイムゾーンに合わせて表示されるようにするため、ファイルの末尾に以下の1行を書き足してください。
    use_localtime=YES
    書き換えが終了したらファイルを保存してテキストエディタを終了してください。
  3. 以下のコマンドを実行し、vsftpdを起動してください。
    [root@localhost ~]# service vsftpd start
  4. vsftpdのデフォルトの設定では管理者アカウント(root)でFTP接続することは出来ませんが、 ドキュメントルートに設定されている /var/www/html ディレクトリは rootしか書き込めないためこのままではWebコンテンツをアップロードする時に若干不便です。

    ここではFTPで直接 /var/www/html ディレクトリ にコンテンツのファイルをアップロードできるようにするため、 ディレクトリのオーナーをFTP接続に使用するユーザーアカウントに変更することにします。 オーナーを変更するには以下のコマンドを実行してください。
    [root@localhost ~]# chown (ユーザーアカウント名) /var/www/html
    (ユーザーアカウント名)の部分にはコンテンツのアップロードに使用するユーザーアカウントの名前を入力してください。

自動起動の設定

vsftpd を起動するとFTPサーバとして動作するようになりますが、 そのままの状態ではOSを再起動するたびに手動でvsftpd を起動しなければなりません。

OSの再起動と同時に vsftpd を自動起動したい場合は、chkconfig でvsftpd をon に設定してください。 chkconfig の設定方法は、オンラインマニュアル内サービスの自動起動設定に掲載しておりますのでご参照ください。