一撃このwebサイトの先進的な機能は、ブラウザーのJavaScriptを有効にする必要があります。2015年11月07日Tweet以前中途半端に終わってしまった、ProFTPDのユーザーデータをMySQLに持たせるシリーズのリトライです。2015今回はCentOS6にepelリポジトリをインストールし、ここからProFTPDを、標準リポジトリからmysql-serverをインストールして設定しています。ユーザー管理とクォータ管理をするところまでは確認しましたが、それ以外の細かなProFTPDの設定は一切弄っていません。iptablesとSELinuxを止めておきます。インストールyumコマンドでサックリとepelリポジトリをインストールします。普段使いしないので、あわせてリポジトリをデフォルトで無効化しておきます。インストールepelリポジトリから、proftpdとproftpd-mysqlを、標準リポジトリからmysql-serverをインストールします。mysql-serverについては、お好みでOracleのリポジトリからインストールしても構わないでしょう。proftpd-mysqlこれらインストールが終わったら、ひとまずmysqldを起動します。FTP用UNIXアカウント作成FTP用UNIXユーザー「ftpuser」、同じくグループ「ftpgroup」を作成し、MySQLで管理するバーチャルユーザーとマッピングします。UID、GIDは一旦2001で固定することにします。データベースとDBユーザー作成DB名「ftp」、DBユーザー「proftpd」を作成します。DBユーザーのパスワードは一旦「password」としますが、適宜変更してくださいね。PRIVILEGES;"mysqlのシェルからはこんな感じでどうぞ。PRIVILEGES;終わったら確認です。こんな感じで表示されればOKです。グループ管理テーブル作成FTPのグループを管理するテーブルを作成します。table';"mysqlのシェルからはこんな感じでどうぞ。FTPユーザーのquotaを管理するテーブル作成ftpquotalimitsテーブルとftpquotatalliesテーブルの2つを作成します。TYPE=MyISAM;"mysqlのシェルからはこんな感じでどうぞ。table';"mysqlのシェルからはこんな感じでどうぞ。編集proftpd.confを編集し、ユーザー管理とクォータ管理をMySQLで行えるようにします。/etc/proftpd.conf以下、vimでの編集箇所です。authoritative」の下の2行「AuthPAMConfig」と「AuthOrder」をコメントアウトします。mod_sql.c」のコメントアウトを外します。mod_sql_mysql.c」のコメントアウトを外します。mod_quotatab.c」のコメントアウトを外します。mod_quotatab_sql.c」のコメントアウトを外します。mod_ifsession.c」の直下あたりに以下追記します。all」あたりを先頭くらいに付け加えてみてもよいでしょう。上記設定が終わったらproftpdをデーモンとして起動します。startバージョン確認とモジュール一覧表示をしてみます。'ftpuser');"mysqlのシェルからはこんな感じでどうぞ。0);"mysqlのシェルからはこんな感じでどうぞ。'');"mysqlのシェルからはこんな感じでどうぞ。ディレクトリ作成FTPユーザーのホームディレクトリを作成し、オーナーをMySQLのユーザーとマッピングしているUNIXユーザーのオーナーとグループに変更します。確認ここまでできたら設定を確認してみましょう。|+----+-------------+--------+------+------+-----------------------+---------------+-------+---------------------+---------------------+あとはFTPクライアントから接続できればOKです。ユーザー単位でのクォータは0ですが、1セッションあたり15MBの転送制限があります。以下ザックリですがテーブルを解説を。クリアテキストで格納されます。userかgroupで選択。1セッションあたりのquota制限をするかどうかを選択。trueかfalseの2択。上記の例だとアップロード時に15MBを超えると制限がかかる。ソフトリミットかハードリミットを選択。アップロード時のquota上限をバイト数で指定。ダウンロード時のquota上限をバイト数で指定。転送量のquota上限をバイト数で指定。アップロードするファイル数を指定。ダウンロードするファイル数を指定。転送するファイル数を指定。これだけのテーブルがあってどれが優先されるかまでは未検証です!><いかがでしたでしょうか。