○ proftpd (rpm) の作成

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

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

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

○関連サイト

:proftpd-1.3.5b.tar.gz  (http://www.proftpd.org/)

○参照ファイル

パッケージの追加

○インストール環境

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

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



○proftpd-1.3.5b

○rpmbuildに必要なパッケージ

・specファイルに記述されているものです
・specファイルはcontrib/dist/rpmディレクトリにあります
・依存関係のあるパッケージも必要になります

# --with ldap (for mod_ldap, mod_quotatab_ldap)
BuildRequires: openldap-devel
# --with memcache (for mod_memcache, mod_tls_memcache)
BuildRequires: libmemcached-devel >= 0.41
# --with mysql (for mod_sql_mysql)
BuildRequires: mysql-devel
# --with pcre (to use pcre rather than glibc regex engine)
BuildRequires: pcre-devel >= 7.0
# --with postgresql (for mod_sql_postgres)
BuildRequires: postgresql-devel
# --with ssl (for mod_sftp, mod_sftp_pam, mod_sftp_sql, mod_sql_passwd, mod_tls, mod_tls_shmcache)
BuildRequires: openssl-devel
# --with wrap (for mod_wrap, mod_wrap2, mod_wrap2_file, mod_wrap2_sql)
# This header file might be in package tcp_wrappers or tcp_wrappers-devel
BuildRequires: /usr/include/tcpd.h
# Assume init is systemd if /run/lock exists, else SysV
BuildRequires: systemd-units
BuildRequires: pkgconfig, pam-devel, ncurses-devel, zlib-devel
BuildRequires: libacl-devel, libcap-devel

○installに必要なパッケージ

・proftpd-utilsに、perl-Mail-Sendmail、perl-Time-HiResが必要です
・perl-Mail-Sendmailをepelレポから入れます

・EPELのライブラリを入れます

# cd ~/src
[root@mars:~/src]
# yum install epel-release
# yum install perl-Mail-Sendmail --enablerepo=epel

・CentOSのライブラリを入れます

# yum install perl-Time-HiRes

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

・rpmbuildのオプションは、specファイル内でコメントされているものです
・mysqlモデュールを組み込むには"--with mysql"を追加します

# cd ~/src
[root@mars:~/src]
# mkdir proftpd
# tar zxvf proftpd-1.3.5b.tar.gz
# cp proftpd-1.3.5b/contrib/dist/rpm/proftpd.spec ~/rpmbuild/SPECS
# rm -rf proftpd-1.3.5b
# cp proftpd-1.3.5b.tar.gz ~/rpmbuild/SOURCES
# cd ~/rpmbuild/SPECS
[root@mars:~/rpmbuild/SPECS]
# vi proftpd.spec
# chown root:root proftpd.spec
# rpmbuild -ba --with pcre --with ldap --with ssl \
--with wrap --define 'dist .mn' proftpd.spec
# mv proftpd.spec ~/src/proftpd
# cd ../RPMS/i686
[root@mars:~/rpmbuild/RPMS/i686]

・作成されたパッケージ
 proftpd-1.3.5-0.1.b.mn.i686.rpm
 proftpd-ldap-1.3.5-0.1.b.mn.i686.rpm
 proftpd-wrap-1.3.5-0.1.b.mn.i686.rpm
 proftpd-devel-1.3.5-0.1.b.mn.i686.rpm
 proftpd-utils-1.3.5-0.1.b.mn.i686.rpm

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

・作成されたパッケージ
 proftpd-1.3.5-0.1.b.mn.src.rpm

# mv *.rpm ~/src/proftpd

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