PURE-FTPD rpmbuild rpm File

Source: Internet
Author: User
Tags bind config ftp create database rpmbuild
Name:pure-ftpd
version:1.0.36
Release:1%{?dist}
Summary:pure-ftpd

Group:system environment/daemons
License:bsd
url:http://www.pureftpd.org
source0:ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.bz2
Source1:http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz
BuildRoot:% (Mktemp-ud%{_tmppath}/%{name}-%{version}-%{release}-xxxxxx)
Vendor:itnihao@qq.com

buildrequires:gcc
Requires:shadow-utils
%description
PURE-FTPD is a free (BSD), secure, production-quality and standard-conformant FTP server. It doesn ' t provide useless bells and whistles, but focuses on efficiency and ease by use. IT provides simple answers to common needs, plus the unique useful features for personal users as as as the hosting providers.

%prep
%setup-q

%build
./configure--prefix=/usr/local/pureftpd \
--with-mysql \
--with-pam \
--with-shadow \
--WITH-WELCOMEMSG \
--with-uploadscript \
--with-cookie \
--with-virtualchroot \
--with-virtualhosts \
--with-diraliases \
--with-quotas \
--with-puredb \
--with-sysquotas \
--with-ratios \
--with-ftpwho \
--with-throttling \
--with-language=simplified-chinese
Make%{?_smp_mflags}
%install
RM-RF%{buildroot}
Make install Destdir=%{buildroot}
%{__install}-D%{buildroot}%{_sysconfdir}/pureftpd
%{__install}-D%{_datadir}
%{__install}-D%{buildroot}%{_initrddir}
#%{__install}-D%{buildroot}%{_sbindir}
%{__install}-D%{buildroot}%{_mandir}/man8/
%{__install}-M 755 configuration-file/pure-config.pl%{buildroot}/usr/local/pureftpd/sbin/pure-config.pl
%{__install}-M 755 configuration-file/pure-ftpd.conf%{buildroot}%{_sysconfdir}/default.pure-ftpd.conf
%{__install}-M 755 configuration-file/pure-ftpd.conf%{buildroot}%{_sysconfdir}/pure-ftpd.conf
%{__install}-M 755 pureftpd-mysql.conf%{buildroot}%{_sysconfdir}/default.pureftpd-mysql.conf
Cat >>%{buildroot}%{_sysconfdir}/pureftpd/pureftpd-mysql.conf << EOF
Mysqlsocket/var/lib/mysql/mysql.sock
MySQLServer 127.0.0.1
Mysqlport 3306
Mysqluser Pureftpuser
Mysqlpassword Pureftpuser
Mysqldatabase pureftp
Mysqlcrypt MD5
MYSQLGETPW SELECT Password from users WHERE user= "\l" and status= "1" and (IPAddress = "*" OR ipaddress like "\ r")
Mysqlgetuid SELECT Uid from the users WHERE user= "\l" and status= "1" and (IPAddress = "*" OR ipaddress like "\ r")
Mysqlgetgid SELECT Gid from the users WHERE user= "\l" and status= "1" and (IPAddress = "*" OR ipaddress like "\ r")
Mysqlgetdir SELECT Dir from the users WHERE user= "\l" and status= "1" and (IPAddress = "*" OR ipaddress like "\ r")
Mysqlgetbandwidthul SELECT ulbandwidth from the users WHERE user= "\l" and status= "1" and (IPAddress = "*" OR ipaddress like "\ R ")
MYSQLGETBANDWIDTHDL SELECT dlbandwidth from the users WHERE user= "\l" and status= "1" and (IPAddress = "*" OR ipaddress like "\ R ")
Eof
%{__install}-M 755 contrib/redhat.init%{buildroot}%{_initrddir}/pureftpd
Sed-i\
-e "S|usr/local|usr/local/pureftpd|g" \
-e "S|etc/pure-ftpd.conf|etc/pureftpd/pure-ftpd.conf|g" \
%{buildroot}%{_initrddir}/pureftpd
Sed-i \
-E "s| Noanonymous no| Noanonymous yes|g "\
-E "s|# mysqlconfigfile/etc/pureftpd-mysql.conf| Mysqlconfigfile/etc/pureftpd/pureftpd-mysql.conf|g "\
-E "s|# Bind 127.0.0.1,21| Bind 127.0.0.1,21|g "\
-E "s| ALLOWUSERFXP no| ALLOWUSERFXP yes|g "\
-E "s| Anonymouscantupload no| Anonymouscantupload yes|g "\
-E "s| #CreateHomeDir yes| Createhomedir yes|g "\
%{buildroot}%{_sysconfdir}/pure-ftpd.conf

#cp conf/pureftpd-mysql.conf%{buildroot}%{_sysconfdir}/pureftpd
#cp conf/pure-ftpd.conf%{buildroot}%{_sysconfdir}/pureftpd
Install-m 0644-p Man/pure-authd.8 $RPM _build_root%{_mandir}/man8/pure-authd.8
Install-m 0644-p Man/pure-ftpd.8 $RPM _build_root%{_mandir}/man8/pure-ftpd.8
Install-m 0644-p man/pure-ftpwho.8 $RPM _build_root%{_mandir}/man8/pure-ftpwho.8
Install-m 0644-p man/pure-mrtginfo.8 $RPM _build_root%{_mandir}/man8/pure-mrtginfo.8
Install-m 0644-p man/pure-pw.8 $RPM _build_root%{_mandir}/man8/pure-pw.8
Install-m 0644-p man/pure-pwconvert.8 $RPM _build_root%{_mandir}/man8/pure-pwconvert.8
Install-m 0644-p man/pure-quotacheck.8 $RPM _build_root%{_mandir}/man8/pure-quotacheck.8
Install-m 0644-p man/pure-statsdecode.8 $RPM _build_root%{_mandir}/man8/pure-statsdecode.8
Install-m 0644-p man/pure-uploadscript.8 $RPM _build_root%{_mandir}/man8/pure-uploadscript.8

%{__tar} XF%{source1}-c $RPM _build_root/%{_datadir}
%clean
RM-RF%{buildroot}

%files
%defattr (-,root,root,-)
%doc
/usr/local/pureftpd/bin/pure-pw
/usr/local/pureftpd/bin/pure-pwconvert
/usr/local/pureftpd/bin/pure-statsdecode

/usr/local/pureftpd/sbin/pure-authd
/usr/local/pureftpd/sbin/pure-config.pl
/usr/local/pureftpd/sbin/pure-ftpd
/usr/local/pureftpd/sbin/pure-ftpwho
/usr/local/pureftpd/sbin/pure-mrtginfo
/usr/local/pureftpd/sbin/pure-quotacheck
/usr/local/pureftpd/sbin/pure-uploadscript
%{_initrddir}/pureftpd
%{_sysconfdir}/pureftpd/*
%{_mandir}/man8/pure*
%{_datadir}/ftp
%post
Getent Group Pureftpuser >/dev/null | | Groupadd-r Pureftpuser
Getent passwd Pureftpuser >/dev/null | | Useradd-r-G pureftpuser-s/sbin/nologin-c "Pureftp user" Pureftpuser
Sed-i \
-E "s| dblogin = "ftp"; |dblogin = "Pureftpuser"; |g "\
-E "s| Dbpassword = "TMPPASSWD"; |dbpassword = "Pureftpuser"; |g "\
-E "s| FTPAddress = "myipaddress.com:21"; |ftpaddress = "127.0.0.1:21"; |g "\
-E "s| Dbdatabase = "Ftpusers" | Dbdatabase = "pureftp" |g "\
-E "s| Defuserid = "65534" | Defuserid = "$ftpuid" |g "\
-E "s| Defgroupid = "31" | Defgroupid = "$ftpgid" |g "/usr/share/ftp/config.php
/sbin/chkconfig pureftpd on
Cat <<eof
Create PUREFTP database like this:
====================================================================================
Mysql>create database pureftp;
Mysql>grant all on pureftp.* to pureftpuser@ ' 127.0.0.1 ' identified by ' pureftpuser ';
Mysql>grant privileges;
====================================================================================
If you are want to the use PDB to store password:
You should change/etc/pureftpd/pure-ftpd.conf
Sed-i "s| mysqlconfigfile/etc/pureftpd-mysql.conf|# Mysqlconfigfile/etc/pureftpd/pureftpd-mysql.conf|g "/etc/pureftpd/pure-ftpd.conf
Sed-i "s|# puredb/etc/pureftpd.pdb| Puredb/etc/pureftpd/pureftpd.pdb|g "/etc/pureftpd/pure-ftpd.conf
#adduser
/USR/LOCAL/PUREFTPD/BIN/PURE-PW useradd virtualftp-f/usr/local/pureftpd/etc/pureftpd.passwd-u 500-g 500-d
#make it into effect
/USR/LOCAL/PUREFTPD/BIN/PURE-PW mkdb/usr/local/pureftpd/etc/pureftpd.pdb-f/usr/local/pureftpd/etc/ pureftpd.passwd
#modify User Password
/USR/LOCAL/PUREFTPD/BIN/PURE-PW passwd virtualftp-f/usr/local/pureftpd/etc/pureftpd.passwd-m
Eof
%changelog

This article comes from "Itnihao Technology blog" blog, please be sure to keep this source http://itnihao.blog.51cto.com/1741976/1148570

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.