こんにちわ。ProFTPdのSSL化について質問です。
VineLinux3.2をサイトの通りにProFTPdをインストール・設定が完了した後に、SSL化に挑戦してみましたが
どうしてもSSL化ができません。
(mod_tlsがインストール出来ません)
原因すらわからないので、以下に構成とやった事を記載します。
何か助言・参考サイト・検索用語かいただけるとありがたいです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
構成
VineLinux3.2
(フリーのVMwareで作成した仮想領域にインストール)
ProFTPd 1.2.10-0v1.1
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
http://yorimichi.homeip.net/sb/log/200605.html#eid95
以上のブログサイトに記載してあるFTPのSSL化のコンパイルに必要なソフトをインストールしました。
#/etc/rc.d/init.d/proftpd stop
でProFTPdを停止した後
#apt-get install build-essential
(これはすでに入っていました。)
#apt-get build-dep krb5-1.3.6-5vl1.src.rpm
(長いので省略)
#rpmbuild --rebuild krb5-1.3.6-5vl1.src.rpm
(長いので省略)
ずらずら〜っと処理が終えて
/root/rpm/RPMS/i386 にパッケージファイルが作成されて
krb5-devel-1.3.6-5vl1.i386.rpm
krb5-libs-1.3.6-5vl1.i386.rpm
krb5-server-1.3.6-5vl1.i386.rpm
krb5-workstation-1.3.6-5vl1.i386.rpm
#rpm -Uvh krb5-libs-1.3.4-27.i386.rpm krb5-devel-1.3.4-27.i386.rpm
でkrb5-develのインストールが完了しました。
エラーは特にありませんでした。
pam-devel が入ってなかったので以下で入れました。
#apt-get install pam-devel
openssl-devel もインストールしました。
#apt-pget install openssl-devel
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
そしてSSL化するためにmod_tlsをサイトを参考に
http://www.aconus.com/~oyaji/ftp/proftpd_ssl.htm
#cd /usr/local/
#wget ftp://ftp1.at.proftpd.org/ProFTPD/distrib/source/proftpd-1.2.10.tar.gz
#tar zxvf proftpd-1.2.10.tar.gz
#cd /usr/local/proftpd-1.2.10
(*1)
#./configure --with-modules=mod_tls --with-includes=/usr/include/openssl
(
/usr/include/opensslのフォルダ・内容がある事は確認しました
ちなみに他のサイトで見かけたのですが/usr/local/sslはありませんでした。
)
#make
#make install
特にエラー・警告が表示されることもなく完了しました。
(やけにmake install が終わるのが早い気もしましたがよくわかりません。)
そしてProFTPdを起動
#/etc/rc.d/init.d/proftpd start
#proftpd -l
Compiled-in modules:
mod_core.c
mod_xfer.c
mod_auth_unix.c
mod_auth_file.c
mod_auth.c
mod_ls.c
mod_log.c
mod_site.c
mod_codeconv.c
mod_df.c
mod_cap.c
mod_tlsが入ってません。
念のためLinuxごと再起動
やっぱり入ってません。
ーーーーーーーーーーーーーーー
(*1)の部分が他のサイトでいろいろ違うので
(VMwareなのでバックアップのディスクイメージでkrb5-develのインストールが終えた状態まで戻し)
http://pc8.2ch.net/test/read.cgi/unix/1116689579/
116〜113を参考に
prefixとかexec、mandir、sysconfdirとかの意味はよく解りませんが、
# ./configure --with-modules=mod_tls --prefix=/usr --exec-prefix=/usr --mandir=/usr/share/man/man8 --sysconfdir=/etc --with-includes=/usr/include/openssl
ってのでやってみましたが変わりませんでした。
そして気になるのが
129のコメントにある
>CFLAGS=-DHAVE_OPENSSL
です。
検索してもこれと言って解らず、どのタイミングでどのように記述するのかがわかりません。
似た文に
http://www.aconus.com/~oyaji/ftp/proftpd_ssl.htm
で記載されている
export CPPFLAGS=-I/usr/kerberos/include
というのがありましたが記載されているのがRedHat用のせいか、
同じ文をサイトのタイミングでやってみましたが何も表示されず、
普通に何もない状態にEntarを押した状態で、
念のためその後に続いて参考サイトの通りにやってみましたがやはり変わりませんでした。
ーーーーーーーーーーーーーーー
(再度krb5-develのインストール後の状態に戻し)
今度は以下のサイトを参考に
http://tm-site.net/akusen/pg20040910.html
./configure --prefix=/usr/local/proftpd --sysconfdir=/etc --enable-auth-pam \
--with-modules=mod_ratio:mod_readme:mod_tls
とやってみましたがやはりmod_tlsが入っていませんでした。
(新しく/usr/local/proftpdが作成されました)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
(再度krb5-develのインストール後の状態に戻し)
何か根本的にやり方が間違ってるのかと思い、再検索し
以下のサイトをRedHat用ですが参考に
http://safe-linux.homeip.net/other/linux-proftpd-01.html
#cd /usr/local
#wget http://ftp.kddilabs.jp/pub/Linux/packages/Vine/apt/3.2/SRPMS.main/proftpd-1.2.10-0vl1.1.src.rpm
# rpm -ihv proftpd-1.2.10-1.src.rpm
以下のディレクトリにSPECファイルが作成
/root/rpm/SPECS
#cd /root/rpm/SPECS
#rpmbuild -ba proftpd.spec --with mod_tls
/root/rpm/RPMS/i386 に以下のパッケージが作成
proftpd-1.2.10-1.i386.rpm
# rpm -ivh proftpd-1.2.10-1.i386.rpm
でやってみると競合していると出てくるので、
#rpm -e proftpd
でアンインストールしてから再度試しましたがやはりmod_tlsがインストールされていませんでした。
気になるのはサイトに書いてあるこの一文です。
>補足
>ソースファイルからrpmファイルを作成する場合は、
>このSPECファイルをディストリビュータ用
>rpmパッケージ作成に必要な内容に
>編集する必要があります。
>今回FC1用の設定でFC2で使えています。
>特に変更の必要はありませんでした。
このサイトはRedHat用に記述してあるのでディストリビュージョンの違うVineでは何か必要なのかなと思いましたが
適当な検索用語等が解らないので、手当たり次第に探しましたが参考になるようなものがなく気になっています。
以上の状態により現状では打つ手が解りません。
長い処理(ずらずら〜と出てくる表示)意外は処理の省略はしていないので、○○コマンドが足らない、○○ソフトが入っているのか?
など何でも良いのでご教授いただければ幸いです。
原因わかりました。
単なるパスミスでした。
ソフトをアンインストールする必要もなく
# ./configure --prefix=/ --sysconfdir=/etc --enable-shadow --with-modules=mod_tls -with-includes=/usr/include/openssl
あと
#make
の時に
make CFLAGS=-DHAVE_OPENSSL
とやればOKでした。