Webサーバの構築_sftpdの設定

設定する内容

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 turning on ascii_download_enable enables ...
    # to consume your I/O resources, by issuing the command ...
    # ASCII mode.
    # These ASCII options are split into upload and download ...
    # to enable ASCII uploads (to prevent uploaded scripts etc. ...
    # without the DoS risk of SIZE and ASCII downloads. ASCII ...
    # on the client anyway..
    
    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を自動起動したい場合はコントロールパネルの「仮想専用サーバの起動/停止」メニューから 「サービス自動起動設定」を選択し、 vsftpdのチェックを「ON」に変更して「サービス自動起動設定の変更」をクリックして下さい。