検索
特集

pam-mysqlを使って仮想FTPサーバを構築するLeverage OSS(2/3 ページ)

バックエンドにデータベースを持つ仮想FTPサーバを構築することには多くの利点がある。ここでは、pam-mysqlを使って仮想FTPサーバを構築する方法を紹介する

PC用表示 関連情報
Share
Tweet
LINE
Hatena
SourceForge.JP Magazine

インストールと設定

 CentOSのインストールとパッケージのインストールは簡単だ。インストールが完了したらルートユーザーとしてログインして、コマンドラインで「rpm -ivh pam_mysql-0.5-1.i586.rpm」を実行してpam-mysqlをインストールする。MySQL-Adminを利用するには、圧縮されたアーカイブを展開して、デフォルトのWebページ置き場である/var/www/htmlにすべてのコンテンツをコピーすればよい。なおMySQL-AdminはPHPプログラムなので、実行/解釈するためにはApacheとPHPを利用できるようにしておく必要がある。

 Apache、vsftpd、MySQLの各サービスは、仮想FTPサーバの設定を始める前に起動しておく必要がある。各サービスの起動と、毎日確実に起動するための設定には、ルートとして以下のコマンドを実行する。

# service (httpd | vsftpd | mysqld) start

# chkconfig --levels 2345 (httpd | vsftpd | mysqld) on


 それでは「mysql」コマンドをオプションなしで実行してMySQLサーバにアクセスしよう。なおデフォルトではルートユーザーのパスワードはない。次に以下のようなSQL文を実行して、データベースとテーブルを作成する。

mysql> create database vsftpd;

mysql> use vsftpd;

mysql> create table users

-> id int AUTO_INCREMENT NOT NULL,

-> name char(128) binary NOT NULL,

-> passwd char(128) binary NOT NULL,

-> primary key(id)

-> );

mysql> create table logs (msg varchar(255),

-> user char(128),

-> pid int,

-> host char(128),

-> rhost char(128),

-> logtime timestamp

-> );


 以上でFTPサーバ用のvsftpdデータベースを作成できた。このデータベースには、FTPユーザーを保存するための「users」テーブルとログイン関連の情報を記録するための「logs」テーブルという2つのテーブルがある。それでは次にusersテーブルにユーザーを挿入しよう。以下に例を示す。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 前記から分かるように、fooという暗号化パスワードを持つtom@cn.oracle.comと、barという暗号化パスワードを持つjerry@us.sun.comという2人のユーザーをusersテーブルに挿入した。デフォルトではルートユーザーのパスワードはないが、パスワードを持たないままのデータベースは脆弱なので、パスワードを作成する必要がある。以下のようなコマンドを実行すればパスワードを設定できる。

mysql> grant all on *.* to root@localhost Identified by "password";


関連キーワード

サーバ | MySQL | Linux | Leverage OSS | テクニック


Copyright © 2010 OSDN Corporation, All Rights Reserved.

ページトップに戻る