○ proftpd (rpm) の作成

・FTPサーバの利用
・proftpd-1.3.3eのソースからrpmパッケージを作成します

・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:proftpd-1.3.3e.tar.bz2  (http://www.proftpd.org/)

○参照ファイル

パッケージの追加

○インストール環境

:OS CentOS 5.6
:selinux disabled or permissive
:インストール先  /etc /usr/local
:作業 /usr/src
:言語 LANG=en_US.UTF-8
:ユーザー rootで実行

・メンテナンスの場合は一般ユーザから行います



○proftpd-1.3.3e

○rpmbuildに必要なパッケージ

・specファイルに記述されているものです
・依存関係のあるパッケージも必要になります

krb5-devel, zlib-devel, openssl-devel, libacl-devel, libcap-devel, 
openldap-devel, mysql-devel, postgresql-devel, tcp_wrappers

○展開・ビルド・インストール

・rpmbuildのオプションは、specファイル内でコメントされているものです

# cd /usr/src
[root@mars:/usr/src]
# mkdir proftpd

# tar jxvf proftpd-1.3.3e.tar.bz2
# cp proftpd-1.3.3e/proftpd.spec redhat/SPECS
# cp proftpd-1.3.3e.tar.bz2 redhat/SOURCES
# cd /usr/src
[root@mars:/usr/src]

・specファイルにパッチを当てます (下記参照)
・パッチファイルは/usr/src/ディレクトリに置きます

# patch -p0 < proftpd.spec.patch
# cd redhat/SPECS
[root@mars:/usr/src/redhat/SPECS]
# rpmbuild -ba --with ctrls --with mod_facl --with mod_tls \
--with nls --with ipv6 --with dso --define 'dist .C56' proftpd.spec
# mv proftpd.spec /usr/src/proftpd
# cd ../RPMS/i386
[root@mars:/usr/src/redhat/RPMS/i386]

・作成されたパッケージ
 proftpd-1.3.3e-1.C56.i386.rpm
 proftpd-devel-1.3.3e-1.C56.i386.rpm
 proftpd-inetd-1.3.3e-1.C56.i386.rpm
 proftpd-ldap-1.3.3e-1.C56.i386.rpm
 proftpd-mysql-1.3.3e-1.C56.i386.rpm
 proftpd-postgres-1.3.3e-1.C56.i386.rpm
 proftpd-wrap-1.3.3e-1.C56.i386.rpm

# rm *debuginfo*
# mv *.rpm /usr/src/proftpd
# cd ../../SRPMS
[root@mars:/usr/src/redhat/SRPMS]

・作成されたパッケージ
 proftpd-1.3.3e-1.C56.src.rpm

# mv *.rpm /usr/src/proftpd

・インストール

# cd /usr/src/proftpd
[root@mars:/usr/src/proftpd]
# rpm -Uvh proftpd-wrap* proftpd-1.3.3e-1.C56.i386.rpm

proftpd.spec.patch

・xinetdで起動する場合は、手動で設定します

○ Copyright(c) 528p.com All Rights Reserved.