博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pure-ftpd rpmbuild rpm file
阅读量:6814 次
发布时间:2019-06-26

本文共 6511 字,大约阅读时间需要 21 分钟。

 
  1. Name:           pure-ftpd 
  2. Version:        1.0.36 
  3. Release:        1%{?dist} 
  4. Summary:        Pure-FTPd 
  5.  
  6. Group:          System Environment/Daemons 
  7. License:        BSD 
  8. URL:            http://www.pureftpd.org 
  9. Source0:        ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.bz2 
  10. Source1:        http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz 
  11. BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) 
  12. Vendor:         itnihao@qq.com 
  13.  
  14. BuildRequires: gcc 
  15. Requires:      shadow-utils 
  16.  
  17. %description 
  18. 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 of use. It provides simple answers to common needs, plus unique useful features for personal users as well as hosting providers. 
  19.  
  20.  
  21. %prep 
  22. %setup -q 
  23.  
  24.  
  25. %build 
  26. ./configure --prefix=/usr/local/pureftpd \ 
  27. --with-mysql \ 
  28. --with-pam \ 
  29. --with-shadow \ 
  30. --with-welcomemsg \ 
  31. --with-uploadscript \ 
  32. --with-cookie \ 
  33. --with-virtualchroot \ 
  34. --with-virtualhosts \ 
  35. --with-diraliases \ 
  36. --with-quotas \ 
  37. --with-puredb \ 
  38. --with-sysquotas \ 
  39. --with-ratios \ 
  40. --with-ftpwho \ 
  41. --with-throttling \ 
  42. --with-language=simplified-chinese  
  43. make %{?_smp_mflags} 
  44.  
  45. %install 
  46. rm -rf %{buildroot} 
  47. make install DESTDIR=%{buildroot} 
  48. %{__install} -d %{buildroot}%{_sysconfdir}/pureftpd 
  49. %{__install} -d %{_datadir} 
  50. %{__install} -d %{buildroot}%{_initrddir} 
  51. #%{__install} -d %{buildroot}%{_sbindir} 
  52. %{__install} -d %{buildroot}%{_mandir}/man8/ 
  53. %{__install} -m 755 configuration-file/pure-config.pl %{buildroot}/usr/local/pureftpd/sbin/pure-config.pl 
  54. %{__install} -m 755 configuration-file/pure-ftpd.conf %{buildroot}%{_sysconfdir}/default.pure-ftpd.conf 
  55. %{__install} -m 755 configuration-file/pure-ftpd.conf %{buildroot}%{_sysconfdir}/pure-ftpd.conf 
  56. %{__install} -m 755 pureftpd-mysql.conf %{buildroot}%{_sysconfdir}/default.pureftpd-mysql.conf 
  57. cat >> %{buildroot}%{_sysconfdir}/pureftpd/pureftpd-mysql.conf << EOF 
  58. MYSQLSocket     /var/lib/mysql/mysql.sock 
  59. MYSQLServer     127.0.0.1 
  60. MYSQLPort       3306 
  61. MYSQLUser       pureftpuser 
  62. MYSQLPassword   pureftpuser 
  63. MYSQLDatabase   pureftp 
  64. MYSQLCrypt      md5 
  65. MYSQLGetPW      SELECT Password FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  66. MYSQLGetUID     SELECT Uid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  67. MYSQLGetGID     SELECT Gid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  68. MYSQLGetDir     SELECT Dir FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  69. MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  70. MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  71. EOF 
  72.  
  73. %{__install} -m 755 contrib/redhat.init %{buildroot}%{_initrddir}/pureftpd 
  74. sed -i\ 
  75.     -e  "s|usr/local|usr/local/pureftpd|g" \ 
  76.     -e  "s|etc/pure-ftpd.conf|etc/pureftpd/pure-ftpd.conf|g" \ 
  77. %{buildroot}%{_initrddir}/pureftpd 
  78. sed -i \ 
  79.     -e "s|NoAnonymous                 no|NoAnonymous                 yes|g" \ 
  80.     -e "s|# MySQLConfigFile               /etc/pureftpd-mysql.conf|MySQLConfigFile               /etc/pureftpd/pureftpd-mysql.conf|g" \ 
  81.     -e "s|# Bind                      127.0.0.1,21| Bind                      127.0.0.1,21|g" \ 
  82.     -e "s|AllowUserFXP                no|AllowUserFXP                yes|g" \ 
  83.     -e "s|AnonymousCantUpload         no|AnonymousCantUpload         yes|g" \ 
  84.     -e "s|#CreateHomeDir               yes|CreateHomeDir               yes|g" \ 
  85.     %{buildroot}%{_sysconfdir}/pure-ftpd.conf 
  86.  
  87.  
  88. #cp conf/pureftpd-mysql.conf %{buildroot}%{_sysconfdir}/pureftpd 
  89. #cp conf/pure-ftpd.conf %{buildroot}%{_sysconfdir}/pureftpd 
  90. install -m 0644 -p man/pure-authd.8          $RPM_BUILD_ROOT%{_mandir}/man8/pure-authd.8 
  91. install -m 0644 -p man/pure-ftpd.8           $RPM_BUILD_ROOT%{_mandir}/man8/pure-ftpd.8 
  92. install -m 0644 -p man/pure-ftpwho.8         $RPM_BUILD_ROOT%{_mandir}/man8/pure-ftpwho.8 
  93. install -m 0644 -p man/pure-mrtginfo.8       $RPM_BUILD_ROOT%{_mandir}/man8/pure-mrtginfo.8 
  94. install -m 0644 -p man/pure-pw.8             $RPM_BUILD_ROOT%{_mandir}/man8/pure-pw.8 
  95. install -m 0644 -p man/pure-pwconvert.8      $RPM_BUILD_ROOT%{_mandir}/man8/pure-pwconvert.8 
  96. install -m 0644 -p man/pure-quotacheck.8     $RPM_BUILD_ROOT%{_mandir}/man8/pure-quotacheck.8 
  97. install -m 0644 -p man/pure-statsdecode.8    $RPM_BUILD_ROOT%{_mandir}/man8/pure-statsdecode.8 
  98. install -m 0644 -p man/pure-uploadscript.8   $RPM_BUILD_ROOT%{_mandir}/man8/pure-uploadscript.8 
  99.  
  100. %{__tar} xf %{SOURCE1} -C $RPM_BUILD_ROOT/%{_datadir} 
  101. %clean 
  102. rm -rf %{buildroot} 
  103.  
  104.  
  105. %files 
  106. %defattr(-,root,root,-) 
  107. %doc 
  108. /usr/local/pureftpd/bin/pure-pw 
  109. /usr/local/pureftpd/bin/pure-pwconvert 
  110. /usr/local/pureftpd/bin/pure-statsdecode 
  111.  
  112. /usr/local/pureftpd/sbin/pure-authd 
  113. /usr/local/pureftpd/sbin/pure-config.pl 
  114. /usr/local/pureftpd/sbin/pure-ftpd 
  115. /usr/local/pureftpd/sbin/pure-ftpwho 
  116. /usr/local/pureftpd/sbin/pure-mrtginfo 
  117. /usr/local/pureftpd/sbin/pure-quotacheck 
  118. /usr/local/pureftpd/sbin/pure-uploadscript 
  119. %{_initrddir}/pureftpd 
  120. %{_sysconfdir}/pureftpd/* 
  121. %{_mandir}/man8/pure* 
  122. %{_datadir}/ftp 
  123. %post 
  124. getent group pureftpuser >/dev/null || groupadd -r  pureftpuser 
  125. getent passwd pureftpuser >/dev/null || useradd -r -g pureftpuser -s   /sbin/nologin  -c "pureftp user" pureftpuser 
  126. sed -i \ 
  127.     -e "s|DBLogin = "ftp";|DBLogin = "pureftpuser";|g"  \ 
  128.     -e "s|DBPassword = "tmppasswd";|DBPassword = "pureftpuser";|g"   \ 
  129.     -e "s|FTPAddress = "myipaddress.com:21";|FTPAddress = "127.0.0.1:21";|g" \ 
  130.     -e "s|DBDatabase = "ftpusers"|DBDatabase = "pureftp"|g" \ 
  131.     -e "s|DEFUserID = "65534"|DEFUserID = "$ftpuid"|g" \ 
  132.     -e "s|DEFGroupID = "31"|DEFGroupID = "$ftpgid"|g" /usr/share/ftp/config.php 
  133. /sbin/chkconfig pureftpd on 
  134. cat <<EOF 
  135. create pureftp database like this: 
  136. ==================================================================================== 
  137. mysql>create database pureftp; 
  138. mysql>grant all on pureftp.* to pureftpuser@'127.0.0.1' identified by 'pureftpuser'; 
  139. mysql>grant privileges; 
  140. ==================================================================================== 
  141. if you want to use pdb to store password : 
  142. you should change /etc/pureftpd/pure-ftpd.conf 
  143. sed -i  "s|MySQLConfigFile               /etc/pureftpd-mysql.conf|# MySQLConfigFile               /etc/pureftpd/pureftpd-mysql.conf|g"  /etc/pureftpd/pure-ftpd.conf 
  144. sed -i  "s|# PureDB                        /etc/pureftpd.pdb|PureDB                        /etc/pureftpd/pureftpd.pdb|g" /etc/pureftpd/pure-ftpd.conf 
  145. #adduser 
  146. /usr/local/pureftpd/bin/pure-pw useradd virtualftp -f /usr/local/pureftpd/etc/pureftpd.passwd -u 500 -g 500 -d /ftproot 
  147. #make it into effect 
  148. /usr/local/pureftpd/bin/pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb -f /usr/local/pureftpd/etc/pureftpd.passwd 
  149. #modify user password 
  150. /usr/local/pureftpd/bin/pure-pw passwd virtualftp -f /usr/local/pureftpd/etc/pureftpd.passwd -m 
  151. EOF 
  152. %changelog 

 

 

 

 

 

转载地址:http://bybzl.baihongyu.com/

你可能感兴趣的文章
量子力学多世界解释:这个世界的你是穷光蛋 另一个世界是亿万富翁(文中有赠书活动)...
查看>>
不要小看了互联网智能锁,它正撬动整个多元化居住产品时代!
查看>>
工人小明的新同事
查看>>
OPC UA的安全性分析以及正确使用指南
查看>>
使用树莓派和 projectx/os 托管你自己的电子邮件
查看>>
关于nmonanalyser报错“输入超出文件尾”的解决方法
查看>>
轻松面试找到理想员工-非官方的面试技术指南
查看>>
当主库发生宕机,从库如何接管主库
查看>>
卷影副本(Shadow Copies)
查看>>
重新回归
查看>>
AngularJs 知识
查看>>
Spring.NET的AOP怎么玩
查看>>
Linux双机热备解决方案之Heartbeat
查看>>
angerfire宋杨的桌面秀
查看>>
用JQuery给图片添加鼠标移入移出事件
查看>>
ALTER TABLE & ALTER TYPES
查看>>
Hadoop-调优剖析
查看>>
Mac前端抓包小工具Charles4.0下载
查看>>
用AHP层次分析法挑选最佳结婚对象
查看>>
Subversion安装手记
查看>>